数据结构

对于一个具有n个结点的单链表,已知一个结点的指针p,在其后插入一个新结点的时间复杂度为();若已知一个结点的值为x,在其后插入一个新结点的时间复杂度为()

题目

对于一个具有n个结点的单链表,已知一个结点的指针p,在其后插入一个新结点的时间复杂度为();若已知一个结点的值为x,在其后插入一个新结点的时间复杂度为()

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针x指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。

A、q->next=x->next;x->next=p;

B、s->next=p;q->next=x->next;

C、p->next=x->next;x->next=p;

D、x->next=q;p->next=x->next;


参考答案:A

第2题:

在一个长度为n(n>1)的带头结点的单链表head上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。

A.删除单链表中的第一个元素

B.删除单链表中的尾结点

C.在单链表的第一个元素前插入一个新结点

D.在单链表的最后一个元素后插入一个新结点


参考答案:B

第3题:

在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=_______;和p->next=________的操作。


参考答案:p->next;s

第4题:

对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为(),在给定值为x的结点后插入一个新结点的时间复杂度为()


正确答案:O(1);O(n)

第5题:

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。

A.遍历链表和求链表的第i个结点
B.在地址为P的结点之后插入一个结点
C.删除开始结点
D.删除地址为P的结点的后继结点

答案:A
解析:
A项,由于单链表是非随机存取的存储结构,遍历链表和求链表的第i个结点都必须从头指针出发寻找,其时间复杂度为0(n);B项,由于已知待插入结点的前驱结点,可以直接实现插入,其时间复杂度为0(1);CD两项,可以直接实现删除操作,其时间复杂度为O(1)。

第6题:

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。

A.求链表的第i个结点

B.在地址为P的结点之后插入一个结点

C.删除表头结点

D.删除地址为P的结点的后继结点


正确答案:A

第7题:

在一个长度为n(n>1)的带头结点单链表h上,另设有尾指针r(指向尾结点)。与链表的长度有关的操作是()。

A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素

答案:B
解析:
在单链表中要删除最后一个元素必须找到尾结点的前驱结点的指针。由于单链表只能访问结点的下一个结点,所以根据尾指针不能够直接找到它的前驱结点,只有从头开始依次向下找到尾结点的前驱结点。所以删除单链表中的最后一个元素与链表的长度有关。

第8题:

已知指针p指向某单链表中的一个结点,则判别该结点有且仅有一个后继结点的条件是p-next-next==null。()

此题为判断题(对,错)。


正确答案:正确

第9题:

在长度为n(Il>1)的()上,删除第一个元素.其时间复杂度为O(n)。

A.只有首结点指针的不带头结点的循环单链表
B.只有尾结点指针的不带头结点的循环单链表
C.只有尾结点指针的带头结点的循环单链表
D.只有头结点的循环单链表

答案:A
解析:
只有首结点指针的不带头结点的循环单链表删除第一个元素,需要遍历整个链表,因此A项的时间复杂度为O(n),BCD三项的时间复杂度都为O(1)。

第10题:

已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。

  • A、q->next=s->next;s->next=p;
  • B、s->next=p;q->next=s->next;
  • C、p->next=s->next;s->next=q;
  • D、s->next=q;p->next=s->next;

正确答案:A

更多相关问题