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

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

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

姓名: ____________________   日期: ____________

1.简单

双向链表中的每个节点包含什么?

  1. A数据、指向下一个节点的指针和指向前一个节点的指针
  2. B只有数据和指向下一个节点的指针
  3. C数据和两个指针,一个指向下一个节点,一个指向再下一个节点
  4. D两份数据和一个指针
2.简单

删除队首元素的队列操作叫什么?

  1. APush
  2. BEnqueue
  3. CDequeue
  4. DInsert
3.简单

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

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

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

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

你持有一个位于链表中间的节点的引用。在哪种链表中可以在 O(1) 内删除它?

  1. A双向链表
  2. B有序数组
  3. C单链表
  4. D动态数组
6.中等

对于有 V 个顶点、E 条边的图,邻接表占用多少内存?

  1. AO(V + E)
  2. BO(V × E)
  3. CO(V²)
  4. DO(E²)
7.困难

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

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

为什么服务器可能会从一个通用哈希函数族中随机选择其哈希函数?

  1. A使哈希表有序
  2. B免去对表进行扩容的需要
  3. C使攻击者极难选出许多全部发生冲突的键
  4. D保证任何两个键永远不会发生冲突,无论攻击者发送什么键

答案

  1. 1. A · 数据、指向下一个节点的指针和指向前一个节点的指针
  2. 2. C · Dequeue
  3. 3. C · 在开头插入元素
  4. 4. C · 从根开始沿左子节点走,直到没有左子节点为止
  5. 5. A · 双向链表
  6. 6. A · O(V + E)
  7. 7. C · 可能出现假阳性,但不会出现假阴性
  8. 8. C · 使攻击者极难选出许多全部发生冲突的键

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