1.简单
空间复杂度衡量的是:
- A代码的行数
- B随着输入增大,算法所需的内存量
- C程序编译后程序文件占用的磁盘空间
- D计算机的物理尺寸
2.简单
通过下标访问数组中的元素需要:
- AO(n²)
- BO(n)
- CO(1)
- DO(log n)
3.简单
下列哪个运行时间是多项式的?
- AO(2ⁿ)
- BO(n!)
- CO(n³)
- DO(nⁿ)
4.中等
对长度为 m 和 n 的两个字符串求最长公共子序列,标准动态规划算法的时间复杂度是多少?
- AO(mn log n)
- BO(mn)
- CO(m + n)
- DO(2m+n)
5.中等
你对一个 n 个元素的数组排序一次,然后用二分查找回答 k 次成员查询。总代价是多少?
- AO(n + k)
- BO(n log n + k log n)
- CO(nk)
- DO(k n log n)
6.中等
递推式 T(n) = 2T(n/2) + O(n) 的解是:
- AO(n)
- BO(log n)
- CO(n log n)
- DO(n²)
7.困难
关于 P 和 NP,下列哪个说法是正确的?
- AP 中的每个问题也都属于 NP
- BNP 表示“not polynomial”(非多项式)
- CNP 问题无法被快速验证
- D已经证明 P ≠ NP
8.困难
拓扑排序只适用于:
- A无向图
- B带负权重的图
- C有向无环图(DAG)
- D完全图
答案
- 1. B · 随着输入增大,算法所需的内存量
- 2. C · O(1)
- 3. C · O(n³)
- 4. B · O(mn)
- 5. B · O(n log n + k log n)
- 6. C · O(n log n)
- 7. A · P 中的每个问题也都属于 NP
- 8. C · 有向无环图(DAG)
完整分步解答:请在 examproblems.com 上练习本主题。