#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