1.简单
当 n 变大时,下列哪一项增长最慢?
- AO(n²)
- BO(n)
- CO(n log n)
- DO(log n)
2.简单
空间复杂度衡量的是:
- A计算机的物理尺寸
- B代码的行数
- C随着输入增大,算法所需的内存量
- D程序编译后程序文件占用的磁盘空间
3.简单
分治算法的三个步骤是什么?
- A分解、解决、合并
- B读取、计算、写入
- C猜测、检查、重复
- D排序、查找、返回
4.中等
哪种排序算法是稳定的?
- A归并排序
- B选择排序(常见版本)
- C快速排序(常见的原地版本)
- D堆排序
5.中等
对长度为 m 和 n 的两个字符串求最长公共子序列,标准动态规划算法的时间复杂度是多少?
- AO(mn log n)
- BO(mn)
- CO(2m+n)
- DO(m + n)
6.中等
简单的递归阶乘函数 fact(n) = n × fact(n − 1) 使用多少栈空间?
- AO(log n)
- BO(1)
- CO(n)
- DO(n²)
7.困难
拓扑排序只适用于:
- A完全图
- B带负权重的图
- C无向图
- D有向无环图(DAG)
8.困难
关于类 NP 的哪个定义是正确的?
- A不能在多项式时间内求解的问题
- B非多项式的问题
- C给定证书时,其"是"答案能在多项式时间内验证的判定问题
- D任何算法都无法求解的问题
答案
- 1. D · O(log n)
- 2. C · 随着输入增大,算法所需的内存量
- 3. A · 分解、解决、合并
- 4. A · 归并排序
- 5. B · O(mn)
- 6. C · O(n)
- 7. D · 有向无环图(DAG)
- 8. C · 给定证书时,其"是"答案能在多项式时间内验证的判定问题
完整分步解答:请在 examproblems.com 上练习本主题。