Font size
WorksheetsFinal Exam(Chinese)
Total questions: 38
Worksheet time: 22mins
算法的五个基本特性不包括:
有穷性
输出
输入
复杂性
确定性
(多选)关于算法复杂度的描述,正确的是:
时间复杂度只考虑最坏情况
O(n) 算法在数据规模翻倍时,运行时间约翻倍
O(1) 表示算法执行时间与输入规模无关
空间复杂度与时间复杂度无关
下列哪个不是算法的描述方法:
程序代码
流程图
伪代码
诗歌
自然语言
如果算法 a 的时间复杂度为 O(n) ,算法 b 为 O(n2) ,当 n 足够大时:
B 比 A 快
A 比 B 快
无法确定
两者一样快
下列时间复杂度中,效率最高的是:
O(n!)
O(n2)
O(2n)
O(n3)
递归算法的基本组成部分是:
函数和变量
输入和输出
基础条件和递归条件
循环和条件
分析下面代码的时间复杂度:for i in range(n): for j in range(i, n): print(i, j)
O(n2)
O(2n)
O(n)
O(nlogn)
算法的健壮性指标是:
占用内存少
代码简洁
运行速度快
能处理异常输入
冒泡排序的最好情况的时间复杂度是:
O(n2)
O(n)
O(nlogn)
O(1)
快速排序的平均时间复杂度是:
O(n)
O(nlogn)
O(logn)
O(n2)
当数据基本有序时,哪种排序算法最快?
选择排序
快速排序
插入排序
在整理扑克牌时,人们通常不自觉使用的排序思维是:
快速排序
冒泡排序
插入排序
选择排序
递归函数必须包含:
循环结构,否则会没有难度
全局变量,否则会无法正确输出
多个参数,否则会没法计算
基础条件,否则会鬼打墙
汉诺塔问题的时间复杂度是:
O(2n)
O(n2)
O(nlogn)
O(n)
用递归计算阶乘时,基础条件是:
n == 0
n < 0
n = 1
n > 1
Dijkstra 算法用于解决:
图着色
最小生成树
最短路径
排序
Dijkstra 算法不能处理:
有向图
稀密图
负权边
无向图
下列哪种情况适合使用贪心算法?
排序问题
活动时间安排问题
最短路径问题
八皇后问题
八皇后问题通常使用哪种方法解决?
贪心算法
分治算法
回溯算法
动态规划
回溯法的核心思想是:
分解问题
试探并回退
合并结果
每一步选择最优
贪心算法的关键特征是什么?
用递归来解决问题
时间复杂度为 O(nlogn)
总能找到全局最优解
在每一步做出局部最优选择
哪种数据结构遵循后进先出(LIFO)原则?
数组
队列
栈
链表
对 [5, 1, 4, 2, 8] 进行第一轮冒泡排序(升序)后的序列是:
[1, 5, 4, 2, 8]
[1, 2, 4, 5, 8]
[1, 4, 2, 5, 8]
[5, 1, 4, 2, 8]
贪心算法在“找零钱”问题中(用最少硬币),如果币值为 [1, 3, 4],要凑 6 元,贪心法给出:
1+1+1+1+1+1(6 枚)
3+3(2 枚)
4+1+1(3 枚)
4+3(无法凑出)
八皇后问题中,判断冲突不包括检查:
同列
同颜色
同对角线
同行
给地图上的国家染色,使相邻国家颜色不同,这本质上是:
查找问题
图着色问题
最短路径问题
排序问题
如果一个算法的时间复杂度是 O(2n) ,当 n 增大时,运行时间会:
保持不变
缓慢增长
指数级爆炸增长
线性增长
评价一个算法的好坏,我们通常更关注它的______。
最好情况
最坏情况
平均情况
空间情况
在游戏中,需要按事件触发顺序来处理游戏逻辑(如先发生的攻击先计算伤害),应该使用:
树
队列
栈
图
选择排序每一轮的操作是:
递归分割数组
交换相邻元素
选择最小元素放到当前位置
插入元素到已排序序列
图着色问题要求相邻结点:
度数相同
颜色数量最少
颜色相同
颜色不同
算法复杂度分析的主要目的是:
证明算法正确性
增加功能
减少代码长度
比较算法效率
空间复杂度是衡量算法对______的占用。
磁盘
网络
内存
时间
在图书馆整理按出版年份排序的书籍,适合用:
插入排序
快速排序
选择排序
冒泡排序
导航软件计算最短路径通常使用:
冒泡排序
Prim 算法
回溯算法
Dijkstra 算法
下列英文缩写中,FIFO 的含义是:
First In Last Out
First In First Out
Use less memory
Fast Input Fast Output
分析以下代码的时间复杂度:
```python
def mystery_function(n):
count = 0
i = 1
while i < n:
j = 1
while j < n:
count += 1
j = j * 2
i = i + 1
return count
```
(a)
用动态规划算法解决背包问题:根据图中“物品重量与价值”和右侧的动态规划表,求在背包容量为 6 时表格“?”处应填写的数字和最后选择的物品序号。
(a)
