1.简单
对树进行层序遍历时使用哪种数据结构?
- A栈
- B队列
- C优先队列
- D哈希表
2.简单
哈希表中的哈希函数做什么?
- A统计存储了多少个键
- B对表中的值加密
- C把键映射到表中的一个下标
- D对表中的键排序
3.简单
哪种数据结构遵循"先进先出"(FIFO)原则?
- A堆(Heap)
- B二叉树(Binary tree)
- C队列(Queue)
- D栈(Stack)
4.中等
运行中的程序使用哪种数据结构来记录活动的函数调用及其局部变量?
- A由函数组成的哈希表
- B由栈帧组成的二叉搜索树
- C调用栈
- D堆内存队列
5.中等
Dijkstra 算法使用哪种抽象数据类型来选择下一个要处理的顶点?
- AFIFO 队列
- B栈
- C最小优先队列
- D无序集合
6.中等
一棵二叉树的根为 1,左子节点为 2,右子节点为 3;节点 2 的子节点为 4(左)和 5(右)。后序遍历的结果是什么?
- A4 2 5 1 3
- B1 2 4 5 3
- C5 4 3 2 1
- D4 5 2 3 1
7.困难
用于拓扑排序的 Kahn 算法反复删除入度为 0 的顶点。哪种结构保存这些顶点?
- A由所有访问过的边组成的栈
- B按出度排序的最大堆
- C记录哪些顶点已被删除的邻接矩阵
- D由入度为 0 的顶点组成的队列(或任何集合)
8.困难
哪种数据结构可以支持 get 和 put 均为 O(1) 的 LRU(最近最少使用)缓存?
- A单个有序数组
- B仅栈
- C仅二叉搜索树
- D哈希表与双向链表相结合
答案
- 1. B · 队列
- 2. C · 把键映射到表中的一个下标
- 3. C · 队列(Queue)
- 4. C · 调用栈
- 5. C · 最小优先队列
- 6. D · 4 5 2 3 1
- 7. D · 由入度为 0 的顶点组成的队列(或任何集合)
- 8. D · 哈希表与双向链表相结合
完整分步解答:请在 examproblems.com 上练习本主题。