在链表结构中,采用(35)可以用最少的空间代价和最高的时间效率实现队列结构。A.仅设置尾指针的单向循环链表B.仅设置头指针的单向循环链表C.仅设置尾指针的双向链表D.仅设置头指针的双向链表

题目

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

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

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

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

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


相似考题
更多“在链表结构中,采用(35)可以用最少的空间代价和最高的时间效率实现队列结构。A.仅设置尾指针的单向 ”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:D
    解析:采用链表作为存储结构时,从节省空间的角度和需要实现的运算角度考虑(不需要从两个方向遍历元素),应使用单链表。基本队列定义为元素从一端进从另一端出,以保证先进入的元素先出来。若要以最高的时间效率实现元素入、出队列,就应该在链表两端设置指针,使入队和出队操作最简单。若仪设置头指针(指向链表的第一个节点),删除元素时比较简单(修改第一个节点的指针域的指向),而插入元素时就需要遍历整个链表以获得尾指针。若仪设置尾指针(指向链表的最后一个节点),则可直接获得头指针(取尾节点指针域的值)来实现删除操作,插入元素时只需修改两个指针域(尾节点指针域和新插入节点的指针域)。显然,在链表结构中,采用仅设置尾指针的单向循环链表,可以用最少的空间代价和最高的时间效率实现队列结构。

  • 第2题:

    若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用( )最节省时间。

    A.仅设尾指针的单向链表
    B.仅设头指针的单向链表
    C.仅设尾指针的单向循环链表
    D.仅设头指针的单向循环链表

    答案:C
    解析:
    单向链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为o (n),仅设尾指针时,在表尾插入结点的时间复杂度为O (1),但是不能访问除了尾结点之外的所有其他结点。而单向循环链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入结点的时间复杂度为0(1),同时达到表头结点的时间复杂度为0(1),因此对于题中给出的操作要求,适合采用仅设尾指针的单向循环链表。

  • 第3题:

    (判断题)若采用循环单链表的结构表示链式队列,可以不设队头指针,仅在链尾设置队尾指针。

    A.Y.是

    B.N.否


    正确

  • 第4题:

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

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

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

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

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


    正确答案:A
    解析:从空间的角度考虑,采用链表作为存储结构,应当使用单链表,没有必要采用双向链表从两个方向遍历元素。所以排除选项C和选项D。队列的特点是,先进先出。从时间效率的角度考虑,同时具有头指针和尾指针的话,入队和出队操作最为简单。但题目中仅仅给出了只有头指针或者只有尾指针的情况。那么:①如果仅仅设置头指针,那么,删除元素时,只要修改第一个元素的指向即可。如果要插入元素,则需要遍历整个链表,才能到达尾指针的位置。②如果仅仅设置尾指针,那么,如果要实现删除操作,可以取尾指针域的值,直接获得头指针。如果要执行插入操作,那么,修改两个尾指针的指针域以及新插入结点的指针域即可。通过比较,仅仅设置尾指针,更节省时间。选项A是正确答案。

  • 第5题:

    若采用循环单链表的结构表示链式队列,可以不设队头指针,仅在链尾设置队尾指针。


    正确