#996. 链表·单选训练2

链表·单选训练2

链表·单选训练2

第 1 题(单选)

对于长度n的线性表,在表头插入元素,使用数组实现的时间复杂度是(),使用链表实现的时间复杂度是()。

{{ select(1) }}

  • O(1), O(n)
  • O(n), O(1)
  • O(n), O(n)
  • O(1), O(1)

第 2 题(单选)

单向链表的结点结构为 class Node: def __init__(self, val): self.val = val; self.next = None,要在p结点后插入q结点,正确的代码是()。

{{ select(2) }}

  • q.next = p.next; p.next = q
  • p.next = q; q.next = p.next
  • q.next = p; p.next = q
  • p.next = q.next; q.next = p

第 3 题(单选)

对于有n个结点的单链表,查找第i个结点的时间复杂度为()。

{{ select(3) }}

  • O(1)
  • O(log n)
  • O(n)
  • O(i)

第 4 题(单选)

一个单向链表结点p的后面要删除一个结点,正确的操作是()。

{{ select(4) }}

  • p.next = p.next.next
  • p = p.next.next
  • p.next = p
  • del p.next

第 5 题(单选)

在双向循环链表中,判断空链表的条件是()。

{{ select(5) }}

  • head == None
  • head.prev == None
  • head.next == head
  • head.next == None