1.简单
什么是算法?
- A解决问题的、由有限个明确定义的步骤组成的序列
- B任何带有图形界面的计算机程序
- C一种存储数字的数据结构
- D一种为书写数学公式而设计的编程语言
2.简单
哪种排序算法选择一个基准,并把数组划分为较小元素和较大元素两部分?
- A归并排序
- B插入排序
- C冒泡排序
- D快速排序
3.简单
空间复杂度衡量的是:
- A代码的行数
- B计算机的物理尺寸
- C随着输入增大,算法所需的内存量
- D程序编译后程序文件占用的磁盘空间
4.中等
简单的递归阶乘函数 fact(n) = n × fact(n − 1) 使用多少栈空间?
- AO(n)
- BO(n²)
- CO(log n)
- DO(1)
5.中等
对长度为 m 和 n 的两个字符串求最长公共子序列,标准动态规划算法的时间复杂度是多少?
- AO(2m+n)
- BO(mn)
- CO(m + n)
- DO(mn log n)
6.中等
在有 V 个顶点、E 条边的图上,Bellman–Ford 算法的时间复杂度是多少?
- AO(V + E)
- BO(V³ × E)
- CO(V × E)
- DO(E log V)
7.困难
关于 P 和 NP,下列哪个说法是正确的?
- ANP 表示“not polynomial”(非多项式)
- BNP 问题无法被快速验证
- CP 中的每个问题也都属于 NP
- D已经证明 P ≠ NP
8.困难
Strassen 算法在矩阵乘法中对半尺寸的分块只做 7 次而不是 8 次递归乘法。它的运行时间是多少?
- AΘ(n² log n)
- BΘ(n2)
- CΘ(n³)
- DΘ(nlog₂ 7),约为 n2.81
答案
- 1. A · 解决问题的、由有限个明确定义的步骤组成的序列
- 2. D · 快速排序
- 3. C · 随着输入增大,算法所需的内存量
- 4. A · O(n)
- 5. B · O(mn)
- 6. C · O(V × E)
- 7. C · P 中的每个问题也都属于 NP
- 8. D · Θ(nlog₂ 7),约为 n2.81
完整分步解答:请在 examproblems.com 上练习本主题。