1.简单
log₂ 1024 等于多少?
- A10
- B512
- C12
- D32
2.简单
归并排序采用哪种设计策略?
- A分治法(divide and conquer)
- B动态规划
- C贪心选择
- D蛮力法
3.简单
在 n 个数的无序数组中找出最大值的时间复杂度是多少?
- AO(1)
- BO(n)
- CO(log n)
- DO(n log n)
4.中等
简单的递归阶乘函数 fact(n) = n × fact(n − 1) 使用多少栈空间?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
5.中等
一个问题具有最优子结构是什么意思?
- A最优解可以由其子问题的最优解构造出来
- B该问题可以在常数时间内求解
- C该问题恰好有一个最优解,所有子问题共享这个解
- D每个子问题的规模都相同
6.中等
为什么在 Big O 中通常省略对数的底,例如写成 O(log n)?
- A计算机科学中所有对数的底都是 10,所以可以省略
- B底只在 n 很小时才有影响
- C对数总是被四舍五入为整数
- D不同底的对数之间只相差一个常数因子
7.困难
使用主定理,T(n) = 8T(n/2) + O(n²) 的解是:
- AΘ(n² log n)
- BΘ(n log n)
- CΘ(n³)
- DΘ(n²)
8.困难
哪种技术能使快速排序在任意输入上的期望运行时间为 O(n log n)?
- A均匀随机地选择基准
- B在运行快速排序前先对输入排序
- C只对左侧进行递归
- D总是选择第一个元素
答案
- 1. A · 10
- 2. A · 分治法(divide and conquer)
- 3. B · O(n)
- 4. B · O(n)
- 5. A · 最优解可以由其子问题的最优解构造出来
- 6. D · 不同底的对数之间只相差一个常数因子
- 7. C · Θ(n³)
- 8. A · 均匀随机地选择基准
完整分步解答:请在 examproblems.com 上练习本主题。