1.简单
栈的 peek(或 top)操作做什么?
- A返回栈顶元素但不删除它
- B删除栈顶元素并返回它
- C返回栈底元素
- D删除栈中所有元素
2.简单
一棵有 n 个节点的树有多少条边?
- A2n
- Bn + 1
- Cn
- Dn − 1
3.简单
对树进行层序遍历时使用哪种数据结构?
- A优先队列
- B栈
- C队列
- D哈希表
4.中等
在存储于容量为 n 的数组中的循环队列里,下标 i 之后的下一个位置如何计算?
- A(i + 1) mod n
- B2i + 1
- Ci + 1
- D(i − 1) mod n
5.中等
如何在二叉搜索树中找到最小的键?
- A只看根
- B从根开始沿左子节点走,直到没有左子节点为止
- C访问每个叶子并进行比较
- D从根开始沿右子节点走,直到没有右子节点为止
6.中等
把键 50、30、70、20、40 按此顺序插入一棵空的二叉搜索树。30 的左子节点是什么?
- A40
- B50
- C70
- D20
7.困难
双重哈希主要减轻了线性探测的哪个问题?
- A一次聚集,即形成长串的被占用槽位
- B需要哈希函数
- C读取键值需要 O(n) 的代价
- D需要在表中存储键
8.困难
把键 5、3、8、1 按此顺序插入一个空的基于数组的二叉最小堆。最终的数组是什么?
- A[1, 3, 5, 8]
- B[3, 1, 8, 5]
- C[1, 3, 8, 5]
- D[1, 5, 8, 3]
答案
- 1. A · 返回栈顶元素但不删除它
- 2. D · n − 1
- 3. C · 队列
- 4. A · (i + 1) mod n
- 5. B · 从根开始沿左子节点走,直到没有左子节点为止
- 6. D · 20
- 7. A · 一次聚集,即形成长串的被占用槽位
- 8. C · [1, 3, 8, 5]
完整分步解答:请在 examproblems.com 上练习本主题。