1.简单
算法的最坏情况运行时间描述的是什么?
- A在慢速计算机上所需的时间
- B在最小输入上所需的时间
- C在所有规模为 n 的输入上所需的最长时间
- D在规模为 n 的随机输入上所需的期望时间
2.简单
log₂ 1024 等于多少?
- A32
- B12
- C512
- D10
3.简单
当 n 变大时,下列哪一项增长最慢?
- AO(n log n)
- BO(n²)
- CO(n)
- DO(log n)
4.中等
简单的递归阶乘函数 fact(n) = n × fact(n − 1) 使用多少栈空间?
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
5.中等
对长度为 m 和 n 的两个字符串求最长公共子序列,标准动态规划算法的时间复杂度是多少?
- AO(2m+n)
- BO(m + n)
- CO(mn)
- DO(mn log n)
6.中等
一个函数先运行一个 n 次迭代的循环,然后再单独运行另一个 n 次迭代的循环。它的时间复杂度是多少?
- AO(log n)
- BO(2ⁿ)
- CO(n)
- DO(n²)
7.困难
旅行商问题如何分类?
- A它是不可判定的
- B判定版本是 NP 完全的,优化版本是 NP 难的
- C判定版本属于 P,但优化版本是 NP 完全的
- D它属于 P,因为 Dijkstra 算法通过把每个城市访问一次来求解它
8.困难
哪种技术能使快速排序在任意输入上的期望运行时间为 O(n log n)?
- A在运行快速排序前先对输入排序
- B总是选择第一个元素
- C只对左侧进行递归
- D均匀随机地选择基准
答案
- 1. C · 在所有规模为 n 的输入上所需的最长时间
- 2. D · 10
- 3. D · O(log n)
- 4. B · O(n)
- 5. C · O(mn)
- 6. C · O(n)
- 7. B · 判定版本是 NP 完全的,优化版本是 NP 难的
- 8. D · 均匀随机地选择基准
完整分步解答:请在 examproblems.com 上练习本主题。