下列叙述中,正确的是( )。 Ⅰ.非空循环单链表head的尾结点p满足p→next=head Ⅱ.带头结点的循环单链表的头指针为head,如果head→next→next→next=head成立,则该单链表的长度为3 Ⅲ.静态

admin2019-12-10  11

问题 下列叙述中,正确的是(    )。
    Ⅰ.非空循环单链表head的尾结点p满足p→next=head
    Ⅱ.带头结点的循环单链表的头指针为head,如果head→next→next→next=head成立,则该单链表的长度为3
    Ⅲ.静态链表中的指针表示的是下一个元素在数组中的位置
    Ⅳ.将长度为n的单链表链接在长度为m的单链表之后的算法时间复杂度为O(1)

选项 A、仅Ⅰ、Ⅱ、Ⅲ
B、Ⅰ、Ⅱ、Ⅲ、Ⅳ
C、仅Ⅰ、Ⅲ
D、仅Ⅰ、Ⅲ、Ⅳ

答案C

解析 Ⅰ:非空循环单链表的尾结点指针应该指向链表头,即p→next=head,故Ⅰ正确。
    Ⅱ:head指向头结点,head→next就指向第一个结点。既然head→next→next→next=head,说明此循环链表共有3个结点(包含头结点),而单链表中增加头结点仅仅是为了更方便地进行插入和删除操作,它并不存储线性表的元素,故不能算为单链表结点,故此单链表的长度为2,故Ⅱ错误。
    Ⅲ:静态链表中的指针所存储的不再是链表中的指针域,而是其下一个结点在数组中的位置,即数组下标,故Ⅲ正确。
    Ⅳ:将链表连接起来只需O(1)的操作,但找到具有m个结点链表的尾结点需遍历该链表,所以时间复杂度应该为O(m),故Ⅳ错误。
转载请注明原文地址:https://kaotiyun.com/show/T13i777K
0

最新回复(0)