Skip to content

Data Structure Lesson 2 Review Checkpoint

用于间隔复习,不替代知识正文。

覆盖:Set / Map、Tree、DFS/BFS、BST、Complete Binary Tree、Heap、Top-K。


Q1

只需要判断一个元素此前是否出现过,不需要保存次数、下标或其他状态,优先使用:

A. List B. Set C. Map D. Heap


Q2

需要统计每个字符出现次数时,Map 最自然的状态设计是:

A. key=次数, value=字符 B. key=字符, value=次数 C. key=下标, value=字符 D. key=字符, value=True


Q3

普通 Binary Tree 必须满足:

A. 左子树所有值小于 Root B. 右子树所有值大于 Root C. 每个节点最多两个子节点 D. 中序遍历一定有序


Q4

二叉树中序遍历顺序是:

A. Root → Left → Right B. Left → Root → Right C. Left → Right → Root D. Right → Root → Left


Q5

迭代前序 DFS 希望先访问 left child。使用 Stack 时,应当:

A. 先 push left,再 push right B. 先 push right,再 push left C. 只 push left D. 顺序无所谓


Q6

BFS 通常使用 Queue 的主要原因是:

A. Queue 支持随机访问 B. Queue 是 LIFO C. 先发现的节点需要先处理 D. Queue 可以自动排序


Q7

BST 查找复杂度更严谨的表达是:

A. 永远 O(1) B. 永远 O(log n) C. O(h),平衡时约 O(log n),退化时最坏 O(n) D. 永远 O(n²)


Q8

Complete Binary Tree 最后一层:

A. 必须全部填满 B. 可以不满,但必须从左到右连续排列 C. 可以任意位置存在节点 D. 必须只有左子节点


Q9

Min Heap 中可以保证:

A. 数组整体升序 B. 中序遍历升序 C. 根节点是整个 Heap 的最小值 D. 左子树全部小于右子树


Q10

从大量数据中维护最大的 K 个元素,经典方法是:

A. 大小为 K 的 Min Heap B. 大小为 K 的 Max Heap C. Stack D. 普通 Queue


Q11

使用大小为 K 的 Min Heap 维护最大的 K 个元素时,第 K 大元素最终位于:

A. 任意叶子节点 B. 最深层最右节点 C. Heap top D. 无法确定


Q12

求二叉树最大深度时:

text
depth(root) = max(depth(left), depth(right)) + 1

这种写法体现的核心是:

A. 父节点结果依赖左右子树结果 B. BFS 必须使用 Stack C. BST 一定平衡 D. Heap 的 sift down


Answer Key

text
1. B
2. B
3. C
4. B
5. B
6. C
7. C
8. B
9. C
10. A
11. C
12. A

重点复习:

text
Top K largest → size-K Min Heap
K-th largest  → Heap top