1.简单
在以邻接表存储的图上进行深度优先搜索,时间复杂度是多少?
- AO(E log V)
- BO(V²)
- CO(V + E)
- DO(V × E)
2.简单
对范围在 0 到 k 之间的 n 个整数进行计数排序(counting sort),运行时间是多少?
- AO(n + k)
- BO(k log n)
- CO(n²)
- DO(n log n)
3.简单
归并排序的最坏情况时间复杂度是多少?
- AO(log n)
- BO(n log n)
- CO(n²)
- DO(n)
4.中等
在包含 1,000,000 个元素的有序数组上,二分查找在最坏情况下大约需要多少次比较?
- A约 500,000 次
- B约 1,000 次
- C约 20 次
- D约 100 次
5.中等
对 n 个 k 进制、d 位的整数进行 LSD 基数排序(radix sort),运行时间是多少?
- AO(n log n)
- BO(dn log k)
- CO(d(n + k))
- DO(n²)
6.中等
递推式 T(n) = 2T(n/2) + O(n) 的解是:
- AO(log n)
- BO(n²)
- CO(n)
- DO(n log n)
7.困难
用一个只保留最后两个值的循环计算第 n 个斐波那契数,时间和空间代价各是多少?
- AO(n) 时间和 O(n) 空间
- BO(2ⁿ) 时间和 O(1) 空间
- CO(n) 时间和 O(1) 空间
- DO(log n) 时间和 O(n) 空间
8.困难
对于哪种背包问题变体,贪心规则"按单位重量价值的顺序取物品"总能给出最优解?
- A0/1 背包问题,物品必须整个拿取
- B两种变体都可以
- C分数背包问题,物品可以分割
- D两种变体都不可以
答案
- 1. C · O(V + E)
- 2. A · O(n + k)
- 3. B · O(n log n)
- 4. C · 约 20 次
- 5. C · O(d(n + k))
- 6. D · O(n log n)
- 7. C · O(n) 时间和 O(1) 空间
- 8. C · 分数背包问题,物品可以分割
完整分步解答:请在 examproblems.com 上练习本主题。