1.简单
平均情况运行时间描述的是什么?
- A最好情况与最坏情况运行时间之间的中间值
- B在最常见的计算机上所需的时间
- C平均长度的输入所需的时间
- D在给定的规模为 n 的输入分布上的期望时间
2.简单
分治算法的三个步骤是什么?
- A读取、计算、写入
- B猜测、检查、重复
- C排序、查找、返回
- D分解、解决、合并
3.简单
什么是算法?
- A一种为书写数学公式而设计的编程语言
- B任何带有图形界面的计算机程序
- C解决问题的、由有限个明确定义的步骤组成的序列
- D一种存储数字的数据结构
4.中等
对 n 个 k 进制、d 位的整数进行 LSD 基数排序(radix sort),运行时间是多少?
- AO(dn log k)
- BO(d(n + k))
- CO(n²)
- DO(n log n)
5.中等
你对一个 n 个元素的数组排序一次,然后用二分查找回答 k 次成员查询。总代价是多少?
- AO(k n log n)
- BO(n log n + k log n)
- CO(nk)
- DO(n + k)
6.中等
Floyd–Warshall 算法计算什么?速度如何?
- A以 O(V + E) 计算从一个源顶点到所有其他顶点的最短路径
- B以 O(V³) 计算所有顶点对之间的最短路径
- C以 O(E log V) 计算最小生成树
- D以 O(V²) 计算拓扑序
7.困难
停机问题(halting problem)表明:
- A应当避免使用循环
- B有些程序在更快的计算机上运行得更快,所以是否停机取决于硬件
- C每个程序最终都会停机
- D不存在一种算法能对所有程序和输入判定其是否会停机
8.困难
拓扑排序只适用于:
- A无向图
- B有向无环图(DAG)
- C完全图
- D带负权重的图
答案
- 1. D · 在给定的规模为 n 的输入分布上的期望时间
- 2. D · 分解、解决、合并
- 3. C · 解决问题的、由有限个明确定义的步骤组成的序列
- 4. B · O(d(n + k))
- 5. B · O(n log n + k log n)
- 6. B · 以 O(V³) 计算所有顶点对之间的最短路径
- 7. D · 不存在一种算法能对所有程序和输入判定其是否会停机
- 8. B · 有向无环图(DAG)
完整分步解答:请在 examproblems.com 上练习本主题。