niusouti.com
参考答案和解析
正确答案:

C

更多“(数据结构)与单向链表相比,双向链表的优点之一是A、更节省存储空间B、便于进行随机访问C、更容易访问相邻结点D、可以省略头指针和尾指针”相关问题
  • 第1题:

    单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


    参考答案:头结点的指针、指向第一个结点的指针

  • 第2题:

    与单向链表相比,双向链表______。

    A.需要较少的存储空间

    B.遍历元素需要的时间较长

    C.较易于访问相邻结点

    D.较易于插入和删除元素


    正确答案:C

  • 第3题:

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

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

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

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

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

    A.

    B.

    C.

    D.


    正确答案:C

  • 第4题:

    ● 与单向链表相比,双向链表 (40) 。

    (40)

    A. 需要较少的存储空间

    B. 遍历元素需要的时间较短

    C. 较易于访问相邻结点

    D. 较易于插入和删除元素


    正确答案:C


  • 第5题:

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

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

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

  • 第6题:

    以下说法中不正确的是()。

    A双向循环链表中每个结点需要包含两个指针域

    B已知单向链表中任一结点的指针就能访问到链表中每个结点

    C顺序存储的线性链表是可以随机访问的

    D单向循环链表中尾结点的指针域中存放的是头指针


    B

  • 第7题:

    设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句()。
    p->next=head;

  • 第8题:

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

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

    正确答案:C

  • 第9题:

    与单链表相比,双链表的优点之一是()。

    • A、插入、删除操作更简单
    • B、可以进行随机访问
    • C、可以省略表头指针或表尾指针
    • D、顺序访问相邻结点更灵活

    正确答案:D

  • 第10题:

    单选题
    与单链表相比,双链表的优点之一是()。
    A

    插入、删除操作更简单

    B

    可以进行随机访问

    C

    可以省略表头指针或表尾指针

    D

    顺序访问相邻结点更灵活


    正确答案: D
    解析: 暂无解析

  • 第11题:

    填空题
    设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。

    正确答案: p->next=head
    解析: 暂无解析

  • 第12题:

    问答题
    设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。

    正确答案: p1->next=head2;p2->next=head1;
    解析: 暂无解析

  • 第13题:

    与单链表相比,双向链表的优点之一是()。

    A.插入、删除操作更加简单

    B.可以随机访问

    C.可以省略表头指针或表尾指针

    D.顺序访问相邻结点更加灵活


    正确答案:D

  • 第14题:

    关于循环链表与线性链表,不正确的是( )。

    A.每个结点的组成是数据域和指针域

    B.循环链表中最后一个结点的指针指向链表的第一个结点

    C.循环链表中访问指定结点的直接前驱可直接访问

    D.循环链表中的循环条件是判断当前指针是否指向头指针


    正确答案:C
    解析:循环链表从任意一结点出发可以找到表中的其他结点,但其查找方向固定,要找到其直接前趋,需要从其后继结点开始,访问完表中的所有结点指针才能完成。

  • 第15题:

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

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

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

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

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


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

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

  • 第16题:

    与单链表相比,双链表的优点之一是()。

    A.插入、删除操作更简单
    B.可以进行随机访问
    C.可以省略表头指针或表尾指针
    D.访问前后相邻结点更灵活

    答案:D
    解析:
    对于插入、删除操作单链表更简单,因为需要改动的指针域少,而随机访问是顺序表的特点。无论是单链表还是双链表都要有表头指针或表尾指针,在双链表中可以访问任一结点的前后相邻结点,而单链表中只能访问任意结点的后继结点。

  • 第17题:

    设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。
    p->next=head;

  • 第18题:

    设head1和P1分别是不带头结点的单向链表A的头指针和尾指针,head2和P2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。

  • 第19题:

    设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?


    正确答案:不对,s->next=p->next;p->next=s;

  • 第20题:

    单向链表所具备的特点是()

    • A、可以随机访问任一结点
    • B、占用连续的存储空间
    • C、插入删除不需要移动元素
    • D、可以通过某结点的指针域访问其前驱结点

    正确答案:C

  • 第21题:

    填空题
    设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句()。

    正确答案: p->next=head
    解析: 暂无解析

  • 第22题:

    单选题
    单向链表所具备的特点是()
    A

    可以随机访问任一结点

    B

    占用连续的存储空间

    C

    插入删除不需要移动元素

    D

    可以通过某结点的指针域访问其前驱结点


    正确答案: D
    解析: 暂无解析

  • 第23题:

    问答题
    设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?

    正确答案: 不对,s->next=p->next;p->next=s;
    解析: 暂无解析