1.简单
平均情况运行时间描述的是什么?
- A最好情况与最坏情况运行时间之间的中间值
- B平均长度的输入所需的时间
- C在最常见的计算机上所需的时间
- D在给定的规模为 n 的输入分布上的期望时间
2.简单
归并排序的最坏情况时间复杂度是多少?
- AO(n²)
- BO(n)
- CO(n log n)
- DO(log n)
3.简单
插入排序(insertion sort)的最坏情况时间复杂度是多少?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(n²)
4.中等
递推式 T(n) = 2T(n/2) + O(1) 的解是什么?
- AO(n²)
- BO(n log n)
- CO(log n)
- DO(n)
5.中等
均摊分析衡量的是什么?
- A算法在最好输入上的代价
- B序列中任何位置上单个最昂贵操作的代价
- C在随机输入上的期望代价
- D在最坏情况的操作序列上,每个操作的平均代价
6.中等
对于在满时将容量翻倍的动态数组,追加元素的均摊(amortised)时间复杂度是多少?
- AO(1)
- BO(n²)
- CO(log n)
- DO(n)
7.困难
Strassen 算法在矩阵乘法中对半尺寸的分块只做 7 次而不是 8 次递归乘法。它的运行时间是多少?
- AΘ(n² log n)
- BΘ(nlog₂ 7),约为 n2.81
- CΘ(n2)
- DΘ(n³)
8.困难
在有 V 个顶点、E 条边的图上,使用二叉堆的 Dijkstra 算法运行时间是多少?
- AO(V³)
- BO((V + E) log V)
- CO(V × E)
- DO(V + E)
答案
- 1. D · 在给定的规模为 n 的输入分布上的期望时间
- 2. C · O(n log n)
- 3. D · O(n²)
- 4. D · O(n)
- 5. D · 在最坏情况的操作序列上,每个操作的平均代价
- 6. A · O(1)
- 7. B · Θ(nlog₂ 7),约为 n2.81
- 8. B · O((V + E) log V)
完整分步解答:请在 examproblems.com 上练习本主题。