一道队列结构选择题,回答被采纳视情况加20到30分,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/29 18:55:20
在链表结构中,采用______可以用最少的空间代价和最高的时间效率实现队列结构。
A.仅设置尾指针的单向循环链表 B.仅设置头指针的单向循环链表
C.仅设置尾指针的双向链表 D.仅设置头指针的双向链表

[说明]答案A,不过怎么思考呢?我想“最少的空间代价”肯定是要采用循环链表喽,可“最高的时间效率”怎么实现?

.......
最小空间当然是单向链表

既然是循环的链表实现的队列

队列当然是FIFO,你第一下要找到的就该是链表头和下一个链表头.
尾指针是指向下一个节点,头指针是上一个节点.

取出第一个节点,要找第二个节点,应该是尾指针标志.
应该是这么理解.....
..........

CPU执行代码顺序吧……
少一些跳转指令!~

个人认为如果像是题出的“可以用最少的空间代价和最高的时间效率实现队列结构”的话应该说的十全十美了……在计算机方面应该不会存在十全十美……
仔细想象:单向节省空间,但是效率……需要做一个循环才能找到需要的,而双向的空间占用单向的2倍,但是需要数据时应该会比单向快写……

首先如果光从时间效率来看,应该是双向链表,但要综合到空间代价哪么当然要是单向循环链表!哪么问题就落在了到底是头指针还是尾指针的问题了。这个我也有疑问。