问题 单项选择题

在链表结构中,采用()可以用最少的空间代价和最高的时间效率实现队列结构。

A.仅设置尾指针的单向循环链表

B.仅设置头指针的单向循环链表

C.仅设置尾指针的双向链表

D.仅设置头指针的双向链表

答案

参考答案:A

解析:

[要点解析] 采用链表作为存储结构时,从节省空间的角度和需要实现的运算角度考虑(不需要从两个方向遍历元素),应使用单链表,如图2-17所示。

基本队列定义为元素从一端进从另一端出,以保证先进入的元素先出来。若以最高的时间效率实现元素入、出队列,就应该在链表两端设置指针,使入队和出队操作最简单。从下图可以看出,若仅设置头指针(指向链表的第一个结点),删除元素时比较简单(修改第一个结点的指针域的指向),而插入元素时就需要遍历整个链表以获得尾指针。若仅设置尾指针(指向链表的最后一个结点),则可直接获得头指针(取尾结点指针域的值)以实现删除操作,插入元素时则修改两个指针域(尾结点指针域和新插入结点的指针域)。

单项选择题
问答题 简答题