Appearance
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