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

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

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

姓名: ____________________   日期: ____________

1.简单

向栈顶添加元素的栈操作叫什么?

  1. APeek
  2. BPush
  3. CPop
  4. DEnqueue
2.简单

作为抽象数据类型,集合(set)的定义性特征是什么?

  1. A它存储元素且没有重复
  2. B它按有序方式存储元素
  3. C它只允许在一端访问
  4. D它存储键值对
3.简单

哪种操作在数组中很慢,但在链表头部却很快?

  1. A求定长数组的长度
  2. B访问第 5 个元素
  3. C通过索引读取最后一个元素
  4. D在开头插入元素
4.中等

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

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

循环缓冲区(环形缓冲区)通常用于实现:

  1. A哈希函数
  2. B图的遍历
  3. C固定大小的队列
  4. D二叉搜索树
6.中等

为什么二叉堆可以不用任何指针而存储在数组中?

  1. A堆中的元素从不超过 100 个
  2. B它是完全二叉树,因此位置遵循简单的下标公式
  3. C数组会自动使键保持有序,因此不需要指针
  4. D堆中所有的键都相等
7.困难

在简单均匀哈希假设下,在含 n 个键、m 个桶的拉链法哈希表中查找的期望时间是多少?

  1. AO(m)
  2. BO(log n)
  3. CO(1 + α),其中 α = n / m
  4. DO(n)
8.困难

基数树(压缩字典树)相比普通字典树有什么改进?

  1. A它只保留每个单词的首字母
  2. B它把单子节点链合并为一条以字符串标记的边
  3. C它按频率对每个节点的子节点排序
  4. D它把每个单词存储在根处的哈希表中,而不是存储在单独的节点中

答案

  1. 1. B · Push
  2. 2. A · 它存储元素且没有重复
  3. 3. D · 在开头插入元素
  4. 4. A · 把最后一个元素移到根上,再将其下沉
  5. 5. C · 固定大小的队列
  6. 6. B · 它是完全二叉树,因此位置遵循简单的下标公式
  7. 7. C · O(1 + α),其中 α = n / m
  8. 8. B · 它把单子节点链合并为一条以字符串标记的边

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