1.简单
一个算法的运行时间是 O(n)。这种增长称为什么?
- A对数
- B常数
- C平方
- D线性
2.简单
哪种记号表示增长的上界?
- ALittle omega
- BBig Omega
- CBig O
- DBig Theta
3.简单
O(2ⁿ) 的增长称为什么?
- A指数级
- B对数级
- C线性
- D多项式级
4.中等
Prim 算法如何构建最小生成树?
- A从一个起始顶点开始扩展一棵树,每次加入离开该树的最便宜的边
- B不断删除最贵的边,直到没有环为止
- C运行广度优先搜索并保留 BFS 树
- D把所有边按权重排序,逐条加入,除非会在森林中形成环
5.中等
对于在满时将容量翻倍的动态数组,追加元素的均摊(amortised)时间复杂度是多少?
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
6.中等
递推式 T(n) = T(n/2) + O(1) 的解是什么?
- AO(log n)
- BO(n)
- CO(1)
- DO(n log n)
7.困难
停机问题(halting problem)表明:
- A有些程序在更快的计算机上运行得更快,所以是否停机取决于硬件
- B不存在一种算法能对所有程序和输入判定其是否会停机
- C每个程序最终都会停机
- D应当避免使用循环
8.困难
关于 log(n!),哪个界是正确的?
- AΘ(log n)
- BΘ(n)
- CΘ(n log n)
- DΘ(n²)
答案
- 1. D · 线性
- 2. C · Big O
- 3. A · 指数级
- 4. A · 从一个起始顶点开始扩展一棵树,每次加入离开该树的最便宜的边
- 5. A · O(1)
- 6. A · O(log n)
- 7. B · 不存在一种算法能对所有程序和输入判定其是否会停机
- 8. C · Θ(n log n)
完整分步解答:请在 examproblems.com 上练习本主题。