智慧树知到《算法分析与设计》章节测试完整答案.docx
《智慧树知到《算法分析与设计》章节测试完整答案.docx》由会员分享,可在线阅读,更多相关《智慧树知到《算法分析与设计》章节测试完整答案.docx(20页珍藏版)》请在冰豆网上搜索。
![智慧树知到《算法分析与设计》章节测试完整答案.docx](https://file1.bdocx.com/fileroot1/2022-10/26/1cfdf02a-7c8b-4e17-8e7e-cd2589e98da9/1cfdf02a-7c8b-4e17-8e7e-cd2589e98da91.gif)
智慧树知到《算法分析与设计》章节测试完整答案
2020智慧树知到《算法分析与设计》章节测试完整答案
智慧树知到《算法分析与设计》章节测试答案
第一章
1、给定一个实例,如果一个算法能得到正确解答,称这个算法解答了该问题。
答案:
错
2、一个问题的同一实例可以有不同的表示形式
答案:
对
3、同一数学模型使用不同的数据结构会有不同的算法,有效性有很大差别。
答案:
对
4、问题的两个要素是输入和实例。
答案:
错
5、算法与程序的区别是()
A:
输入
B:
输出
C:
确定性
D:
有穷性
答案:
有穷性
6、解决问题的基本步骤是()。
(1)算法设计
(2)算法实现(3)数学建模(4)算法分析(5)正确性证明
A:
(3)
(1)(4)(5)
(2)
B:
(3)(4)
(1)(5)
(2)
C:
(3)
(1)(5)(4)
(2)
D:
(1)
(2)(3)(4)(5)
答案:
(3)
(1)(5)(4)
(2)
7、下面说法关于算法与问题的说法错误的是()。
A:
如果一个算法能应用于问题的任意实例,并保证得到正确解答,称这个算法解答了该问题。
B:
算法是一种计算方法,对问题的每个实例计算都能得到正确答案。
C:
同一问题可能有几种不同的算法,解题思路和解题速度也会显著不同。
D:
证明算法不正确,需要证明对任意实例算法都不能正确处理。
答案:
证明算法不正确,需要证明对任意实例算法都不能正确处理。
8、下面关于程序和算法的说法正确的是()。
A:
算法的每一步骤必须要有确切的含义,必须是清楚的、无二义的。
B:
程序是算法用某种程序设计语言的具体实现。
C:
程序总是在有穷步的运算后终止。
D:
算法是一个过程,计算机每次求解是针对问题的一个实例求解。
答案:
算法的每一步骤必须要有确切的含义,必须是清楚的、无二义的。
程序是算法用某种程序设计语言的具体实现。
算法是一个过程,计算机每次求解是针对问题的一个实例求解。
9、最大独立集问题和()问题等价。
A:
最大团
B:
最小顶点覆盖
C:
区间调度问题
D:
稳定匹配问题
答案:
最大团
最小顶点覆盖
10、给定两张喜欢列表,稳定匹配问题的输出是()。
A:
完美匹配
B:
没有不稳定配对
C:
最大匹配
D:
稳定匹配
答案:
完美匹配
没有不稳定配对
最大匹配
稳定匹配
11、问题变换的目的有()。
(1)复杂变简单
(2)未知变已知(3)隐式变显式(4)难解变易解(5)以上都是。
A:
(1)
B:
(2)
C:
(3)
D:
(4)
E:
(5)
答案:
(5)
12、按照霍纳法则,计算p(x)=anxn+an-1xn-1+…+a1x1+a0的数量级为____。
A:
n
B:
n
C:
nlogn
D:
logn
答案:
n
第十二章
1、有多项式时间算法的问题是易解问题
答案:
2、EXP类是所有指数时间可解的判定问题组成的问题类
答案:
3、如果对于X的任意实例,通过多项式次的计算步骤,加多项式次调用Y的算法,可解决X,则X可多项式时间归约到Y。
答案:
4、如果X问题Y且Y不能多项式时间解决,那么X也不能多项式时间解决。
答案:
5、下面关于NP问题说法正确的是()
A:
NP问题都是不可能解决的问题
B:
P类问题包含在NP类问题中
C:
NP完全问题是P类问题的子集
D:
NP类问题包含在P类问题中
答案:
6、P类问题可以()。
A:
多项式时间计算
B:
指数时间计算
C:
指数时间验证
答案:
7、下面属于NP完全问题的是()
A:
SAT
B:
最大独立集
C:
最小顶点覆盖
D:
旅行商问题
答案:
8、以下关于判定问题难易处理的叙述中错误的是
A:
可以由多项式时间算法求解的问题是难处理的
B:
需要超过多项式时间算法求解的问题是易处理的
C:
可以由多项式时间算法求解的问题是易处理的
D:
需要超过多项式时间算法求解的问题是不能处理的
答案:
9、下列说法错误的是
A:
IfX多项式时间归约到YandY多项式时间归约到Z,thenX多项式时间归约到Z.
B:
P包含于NP
C:
判定问题可多项式时间变换到优化问题
D:
如果一个NP完全问题有多项式时间算法,那么NP中的每一个问题都可以有多项式时间算法
答案:
第二章
1、时间复杂度是指算法最坏情况下的运行时间。
答案:
对
2、f(n)=O(g(n))则f(n)2=O(g(n)2)
答案:
对
3、f(n)=3n3+7n2+4nlogn=O(n2)
答案:
错
4、如果一个算法是多项式时间算法,该算法是有效的,是好算法。
答案:
对
5、从资源划分,算法的复杂度分为()和()。
A:
时间复杂度空间复杂度
B:
空间复杂度平均复杂度
C:
最好复杂度最坏复杂度
D:
时间复杂度平均复杂度
答案:
时间复杂度空间复杂度
6、算法复杂度分析的两种基本方法为()和()。
A:
结构化方法面向对象方法
B:
事后统计事前分析
C:
几何复杂度平均复杂度
D:
平摊复杂度平滑复杂度
答案:
事后统计事前分析
第三章
1、0-1背包问题的枚举算法的时间复杂度为O(2n)
答案:
B
2、增量构造法生成子集前需要对集合中元素从小到大排列。
答案:
A
3、分块查找一般设分块的长度是n/2.
答案:
B
4、枚举法适用于问题的小规模实例。
答案:
A
5、便于实现集合操作的子集生成算法是()
A:
增量构造法
B:
位向量法
C:
二进制法
答案:
C
6、从所有候选答案中去搜索正确的解,这是()算法。
A:
蛮力
B:
枚举
C:
递推
答案:
B
7、logn2=()(logn+5)
A:
θ
B:
O
C:
W
D:
o
答案:
A
8、0-1背包问题的枚举算法,如果在百万次每秒的计算机上运行,1年可以计算的问题规模估计是?
A:
40
B:
60
C:
30
D:
50
答案:
A
9、分数拆分问题的枚举算法通过()方法进行了优化。
A:
减少枚举变量
B:
减少枚举变量的值域
C:
优化数据结构
D:
优化数学模型
答案:
ABD
10、下面那些算法的时间复杂度为O()?
A:
顺序查找
B:
折半查找
C:
插入排序
D:
冒泡排序
E:
折半插入排序
答案:
插入排序、折半插入排序、冒泡排序
第四章
1、贪心算法总能找到可行解,但未必是最优解。
答案:
A
2、贪心选择通过一步步选择得到问题的解,每一步的局部最优解都构成全局最优解的一部分。
答案:
A
3、问题的最优子结构性质是该问题可用贪心算法或动态规划算法求解的关键特征。
答案:
A
4、如果图G中每条边的权重都是互不相同的,图G必定只有一颗最小生成树。
答案:
A
5、Kruskal算法的贪婪准则是每一次选取不构成环路的最小边。
答案:
A
6、贪心算法基本要素有()和最优子结构性质。
A:
分解合并性质
B:
独立子问题性质
C:
贪心选择性质
D:
重叠子问题性质
答案:
C
7、下面不是证明贪心算法证明方法的有()。
A:
领先
B:
优化
C:
交换论证
D:
界
答案:
B
8、未来与过去无关指的是()的性质
A:
贪心选择
B:
无后效性
C:
最优子结构
D:
重叠子问题
答案:
B
9、最小生成树问题可以使用的算法有()
A:
Kruskal
B:
Prim
C:
Solim
D:
Dijkstra
答案:
Kruskal、Prim、Solim
10、区间问题包含()
A:
区间调度
B:
区间划分
C:
区间选点
D:
区间覆盖
答案:
ABCD
第五章
1、正推是从小规模的问题推解出大规模间题的一种方法。
答案:
A
2、一般来说,递归的效率高于递推。
答案:
B
3、从大规模问题逐步化为小规模问题的算法是()
A:
递归
B:
正推
C:
倒推
D:
迭代
答案:
A
4、求解高阶递推方程一般使用()迭代方法
A:
差消迭代
B:
换元迭代
C:
直接迭代
答案:
A
5、下面有关递归与迭代的说法错误的是()
A:
递归与迭代都是解决“重复操作”的机制。
B:
递归算法的实现往往要比迭代算法耗费更多的时间。
C:
每个迭代算法原则上总可以转换成与它等价的递归算法。
D:
每个递归算法原则上总可以转换成与它等价的迭代算法
答案:
D
6、递归函数的要素是()
A:
边界条件
B:
递归方程
C:
迭代
D:
输入
答案:
AB
7、递归变为非递归的方法有()
A:
模拟栈
B:
递推
C:
尾递归
D:
循环
答案:
模拟栈、递推、尾递归
8、T(n)=T(n-1)+n,T
(1)=1,则T(n)=()
A:
Ω(n)
B:
n(n+1)/2
C:
O(n)
D:
θ(n)
答案:
Ω(n)、n(n+1)/2、O(n)、θ(n)
9、递归一般用于解决问题有()
A:
数据的定义是按递归定义的
B:
问题解法按递归实现
C:
数据的结构形式是按递归定义的
D:
迭代问题
答案:
ABC
10、主方法可以求解满足T(n)=aT(n/b)+f(n)形式的递推方程,则下列关于方程中的约束中不准确的是?
设ε
A:
对于系数a,必须满足a>=1
B:
对于系数b,必须满足b>1
C:
若对于常数ε>0,f(n)=O(y),则T(n)=Θ(x)
D:
若f(n)=O(x),则T(n)=Θ(xlogn)
答案:
若f(n)=O(nlogba),则T(n)=Θ(nlogbalogn)
第六章
1、分治法分解的子问题与原问题形式相同。
答案:
A
2、N个元素排序的时间复杂度不可能是线性时间。
答案:
B
3、三分法的判定树是三叉树。
答案:
A
4、减治法减一个常量就是每次迭代减去一个相同的常数因子(一般为2)
答案:
B
5、设有5000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用()法。
A:
冒泡排序
B:
快速排序
C:
合并排序
D:
基数排序
答案:
A
6、堆排序的时间复杂度是O()。
A:
O(n)
B:
O(2n)
C:
O(n2)
D:
O(nlogn)
答案:
D
7、以下不可以使用分治法求解的是()。
A:
棋盘覆盖问题
B:
线性选择问题
C:
归并排序
D:
0/1背包问题
答案:
D
8、改进分治算法的方法有()和改进划分的对称性。
A:
减少子问题数
B:
备忘录
C:
拟阵原理
D:
加速原理
答案:
A
9、通过减少子问题个数,降低分治算法时间复杂度的有()
A:
大整数乘法
B:
Strassen矩阵乘法
C:
线性时间选择
D:
最接近点对
答案:
AB
10、分治法在每一层递归上有三个