1.简单
O(2ⁿ) 的增长称为什么?
- A多项式级
- B线性
- C对数级
- D指数级
2.简单
对范围在 0 到 k 之间的 n 个整数进行计数排序(counting sort),运行时间是多少?
- AO(n log n)
- BO(k log n)
- CO(n + k)
- DO(n²)
3.简单
哪种记号表示增长的下界?
- AΘ(Big Theta)
- BΩ(Big Omega)
- CO(Big O)
- Do(little o)
4.中等
一个问题具有最优子结构是什么意思?
- A该问题可以在常数时间内求解
- B每个子问题的规模都相同
- C该问题恰好有一个最优解,所有子问题共享这个解
- D最优解可以由其子问题的最优解构造出来
5.中等
对于在满时将容量翻倍的动态数组,追加元素的均摊(amortised)时间复杂度是多少?
- AO(log n)
- BO(n)
- CO(1)
- DO(n²)
6.中等
朴素递归斐波那契(fib(n) = fib(n−1) + fib(n−2))的时间复杂度是:
- A指数级
- B常数
- C对数级
- D线性
7.困难
取一个极大匹配中每条边的两个端点,可以得到一个顶点覆盖。这个覆盖有多好?
- A总是一个最小顶点覆盖
- B至多是最小顶点覆盖大小的两倍
- C至多是最小值的 log n 倍
- D与最优解相比质量未知
8.困难
关于类 NP 的哪个定义是正确的?
- A给定证书时,其"是"答案能在多项式时间内验证的判定问题
- B任何算法都无法求解的问题
- C非多项式的问题
- D不能在多项式时间内求解的问题
答案
- 1. D · 指数级
- 2. C · O(n + k)
- 3. B · Ω(Big Omega)
- 4. D · 最优解可以由其子问题的最优解构造出来
- 5. C · O(1)
- 6. A · 指数级
- 7. B · 至多是最小顶点覆盖大小的两倍
- 8. A · 给定证书时,其"是"答案能在多项式时间内验证的判定问题
完整分步解答:请在 examproblems.com 上练习本主题。