数据结构练习卷(附答案)
免费可打印的数据结构练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。
教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。
姓名: ____________________ 日期: ____________
1.简单
向栈顶添加元素的栈操作叫什么?
- APeek
- BEnqueue
- CPop
- DPush
2.简单
二叉最小堆中最小的元素在哪里?
- A在数组的最后一个位置
- B在某个叶子上,必须进行查找
- C在最左边的叶子上
- D在根上
3.简单
哪种数据结构最适合实现文本编辑器中的"撤销"(undo)功能?
- A图
- B栈
- C队列
- D哈希集合
4.中等
一个道路网络有 100,000 个路口,每个路口大约与另外 4 个路口相连。哪种表示方法最合适?
- A邻接表
- B一个由边组成的二叉堆
- C邻接矩阵
- D一个有序的顶点数组
5.中等
一棵高度为 h(以边数计)的满二叉树有多少个节点?
- A2h
- Bh2
- C2h+1 − 1
- D2h + 1
6.中等
AVL 树和红黑树保证:
- A键按插入顺序存储
- B通过再平衡使高度为 O(log n)
- C没有节点拥有两个子节点
- D在任何情况下查找都是常数时间
7.困难
为什么数据库常用 B+ 树而不是普通的 B 树来建立索引?
- AB+ 树使用二叉内部节点,从而减少磁盘读取次数
- BB+ 树只在根中存储数据
- C所有记录都在相互链接的叶子中,使范围扫描很高效
- DB+ 树不需要保持平衡
8.困难
建立在 n 个数的数组上的树状数组(Fenwick tree,binary indexed tree)以 O(log n) 支持哪些操作?
- A在任意位置插入元素
- B对数组排序和二分查找
- C以 O(1) 求中位数
- D前缀和查询和单个元素更新
答案
- 1. D · Push
- 2. D · 在根上
- 3. B · 栈
- 4. A · 邻接表
- 5. C · 2h+1 − 1
- 6. B · 通过再平衡使高度为 O(log n)
- 7. C · 所有记录都在相互链接的叶子中,使范围扫描很高效
- 8. D · 前缀和查询和单个元素更新
完整分步解答:请在 examproblems.com 上练习本主题。