数据结构练习卷(附答案)

免费可打印的数据结构练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。

教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。

姓名: ____________________   日期: ____________

1.简单

在单链表中,最后一个节点的 next 指针包含什么?

  1. A链表中节点的个数
  2. B前一个节点的地址
  3. C第一个节点的地址
  4. DNull(没有节点)
2.简单

在树中,什么是叶子?

  1. A恰好有一个子节点的节点
  2. B值最大的节点
  3. C没有子节点的节点
  4. D没有父节点的节点
3.简单

图由什么组成?

  1. A只有根和叶子
  2. B行和列
  3. C只有键和哈希值
  4. D由边(edge)连接的顶点(vertex,即节点)
4.中等

对二叉搜索树进行中序遍历时,访问键的顺序是:

  1. A始终为降序
  2. B升序排列
  3. C插入顺序
  4. D层序
5.中等

在二叉最小堆中,extract-min 是如何工作的?

  1. A删除根,并把所有元素左移一位
  2. B把最后一个元素移到根上,再将其下沉
  3. C在所有叶子中查找新的最小值
  4. D删除数组的最后一个元素
6.中等

如何在二叉搜索树中找到最小的键?

  1. A从根开始沿左子节点走,直到没有左子节点为止
  2. B访问每个叶子并进行比较
  3. C只看根
  4. D从根开始沿右子节点走,直到没有右子节点为止
7.困难

用于拓扑排序的 Kahn 算法反复删除入度为 0 的顶点。哪种结构保存这些顶点?

  1. A由入度为 0 的顶点组成的队列(或任何集合)
  2. B由所有访问过的边组成的栈
  3. C记录哪些顶点已被删除的邻接矩阵
  4. D按出度排序的最大堆
8.困难

布隆过滤器(Bloom filter)回答"该元素是否在集合中?"时:

  1. A可能出现假阴性,但不会出现假阳性
  2. B可能出现假阳性,但不会出现假阴性
  3. C只能回答数字的情况
  4. D总是给出精确答案

答案

  1. 1. D · Null(没有节点)
  2. 2. C · 没有子节点的节点
  3. 3. D · 由边(edge)连接的顶点(vertex,即节点)
  4. 4. B · 升序排列
  5. 5. B · 把最后一个元素移到根上,再将其下沉
  6. 6. A · 从根开始沿左子节点走,直到没有左子节点为止
  7. 7. A · 由入度为 0 的顶点组成的队列(或任何集合)
  8. 8. B · 可能出现假阳性,但不会出现假阴性

完整分步解答:请在 examproblems.com 上练习本主题。