1.简单
f(n) = Θ(g(n)) 是什么意思?
- Af 的增长严格快于 g
- Bf 与 g 以相同的速率增长,上下都被 g 的常数倍所界定
- Cf 的增长严格慢于 g
- D对每个 n,f 总是小于 g,因此 g 是它的上界,但绝不是下界
2.简单
哪种记号表示增长的上界?
- ABig O
- BBig Omega
- CBig Theta
- DLittle omega
3.简单
二分查找对输入有什么要求?
- A数组长度必须是 2 的幂
- B数组元素不能超过 1000 个
- C数组只能包含正数
- D数组必须有序
4.中等
递推式 T(n) = 2T(n/2) + O(1) 的解是什么?
- AO(n²)
- BO(n log n)
- CO(log n)
- DO(n)
5.中等
下面代码的时间复杂度是多少:for i = 1 to n: for j = 1 to i: 执行 O(1) 的工作?
- AO(n²)
- BO(n³)
- CO(n)
- DO(n log n)
6.中等
在有 V 个顶点、E 条边的图上,Bellman–Ford 算法的时间复杂度是多少?
- AO(E log V)
- BO(V + E)
- CO(V × E)
- DO(V³ × E)
7.困难
关于类 P 的哪个定义是正确的?
- A在每台计算机上都需要指数时间的问题
- B能由确定性算法在多项式时间内求解的判定问题
- C能够并行求解的问题
- D其解可以被验证、但绝不能在多项式时间内找到的问题
8.困难
下面代码的时间复杂度是多少:for i = 1 to n: for (j = i; j ≤ n; j = j + i) 执行 O(1) 的工作?
- AO(n²)
- BO(n)
- CO(n log n)
- DO(n √n)
答案
- 1. B · f 与 g 以相同的速率增长,上下都被 g 的常数倍所界定
- 2. A · Big O
- 3. D · 数组必须有序
- 4. D · O(n)
- 5. A · O(n²)
- 6. C · O(V × E)
- 7. B · 能由确定性算法在多项式时间内求解的判定问题
- 8. C · O(n log n)
完整分步解答:请在 examproblems.com 上练习本主题。