1.简单
O(2ⁿ) 的增长称为什么?
- A多项式级
- B对数级
- C指数级
- D线性
2.简单
log₂ 1024 等于多少?
- A10
- B512
- C32
- D12
3.简单
当 n 很大时,哪个复杂度类增长最快?
- AO(n log n)
- BO(2ⁿ)
- CO(n²)
- DO(n³)
4.中等
为什么动态规划不能真正加速归并排序?
- A归并排序已经是 O(n)
- B动态规划只适用于图问题,不适用于数组
- C归并排序没有递归结构
- D它的子问题不重叠,因此没有可以复用的结果
5.中等
在包含 1,000,000 个元素的有序数组上,二分查找在最坏情况下大约需要多少次比较?
- A约 500,000 次
- B约 100 次
- C约 20 次
- D约 1,000 次
6.中等
在边权非负的图中,哪种算法用于求单源最短路径?
- A深度优先搜索(DFS)
- B任何情况下都必须使用 Bellman–Ford
- CKruskal 算法
- DDijkstra 算法
7.困难
插入排序在有序输入上运行时间为 O(n)。这与比较排序的 Ω(n log n) 下界矛盾吗?
- A矛盾,但仅对长度小于 100 的数组
- B不矛盾,下界针对的是所有输入中的最坏情况,而不是每一个输入
- C矛盾,因此这个下界是错的
- D不矛盾,因为插入排序不是比较排序
8.困难
旅行商问题如何分类?
- A它属于 P,因为 Dijkstra 算法通过把每个城市访问一次来求解它
- B判定版本是 NP 完全的,优化版本是 NP 难的
- C判定版本属于 P,但优化版本是 NP 完全的
- D它是不可判定的
答案
- 1. C · 指数级
- 2. A · 10
- 3. B · O(2ⁿ)
- 4. D · 它的子问题不重叠,因此没有可以复用的结果
- 5. C · 约 20 次
- 6. D · Dijkstra 算法
- 7. B · 不矛盾,下界针对的是所有输入中的最坏情况,而不是每一个输入
- 8. B · 判定版本是 NP 完全的,优化版本是 NP 难的
完整分步解答:请在 examproblems.com 上练习本主题。