1.简单
在单链表中,最后一个节点的 next 指针包含什么?
- A链表中节点的个数
- B前一个节点的地址
- C第一个节点的地址
- DNull(没有节点)
2.简单
在树中,什么是叶子?
- A恰好有一个子节点的节点
- B值最大的节点
- C没有子节点的节点
- D没有父节点的节点
3.简单
图由什么组成?
- A只有根和叶子
- B行和列
- C只有键和哈希值
- D由边(edge)连接的顶点(vertex,即节点)
4.中等
对二叉搜索树进行中序遍历时,访问键的顺序是:
- A始终为降序
- B升序排列
- C插入顺序
- D层序
5.中等
在二叉最小堆中,extract-min 是如何工作的?
- A删除根,并把所有元素左移一位
- B把最后一个元素移到根上,再将其下沉
- C在所有叶子中查找新的最小值
- D删除数组的最后一个元素
6.中等
如何在二叉搜索树中找到最小的键?
- A从根开始沿左子节点走,直到没有左子节点为止
- B访问每个叶子并进行比较
- C只看根
- D从根开始沿右子节点走,直到没有右子节点为止
7.困难
用于拓扑排序的 Kahn 算法反复删除入度为 0 的顶点。哪种结构保存这些顶点?
- A由入度为 0 的顶点组成的队列(或任何集合)
- B由所有访问过的边组成的栈
- C记录哪些顶点已被删除的邻接矩阵
- D按出度排序的最大堆
8.困难
布隆过滤器(Bloom filter)回答"该元素是否在集合中?"时:
- A可能出现假阴性,但不会出现假阳性
- B可能出现假阳性,但不会出现假阴性
- C只能回答数字的情况
- D总是给出精确答案
答案
- 1. D · Null(没有节点)
- 2. C · 没有子节点的节点
- 3. D · 由边(edge)连接的顶点(vertex,即节点)
- 4. B · 升序排列
- 5. B · 把最后一个元素移到根上,再将其下沉
- 6. A · 从根开始沿左子节点走,直到没有左子节点为止
- 7. A · 由入度为 0 的顶点组成的队列(或任何集合)
- 8. B · 可能出现假阳性,但不会出现假阴性
完整分步解答:请在 examproblems.com 上练习本主题。