慕课《算法分析与设计》山东财经大学李恒武,第六章 分治算法 测验题问题梳理答案

6.1 分治算法

1
合并排序的时间复杂度是O()
A.n
B.nlogn
C.n^2
D.logn
正确答案:B

2
分治法的适用条件是( )。
A.问题可以分解为规模较小的子问题
B.小规模子问题可解
C.子问题可合并为问题的解
D.子问题相互独立
正确答案:A、B、C、D

3
分治法的设计思想是大事化小,各个击破,分而治之。
A.√
B.×
正确答案:A

4
每次都将问题分解为原问题规模的一半进行求解,称为二分法
A.√
B.×
正确答案:A

5
分治法一般在每一层递归上有分解、解决、合并三个步骤
A.√
B.×
正确答案:A

6
减治法是把一个问题转化成一个子问题来解决,从子问题的解得到原问题的解。
A.√
B.×
正确答案:A

7
分治法将原问题分解为若干个规模较小、相互独立、完全相同的子问题。
A.√
B.×
正确答案:B

6.2 分治类型

1
减治法常见的形式有()
A.减一个常量
B.减一个常量因子
C.减可变规模
D.减合并时间
正确答案:A、B、C

2
二分法子问题独立而不相似的情况可以转化为相似子问题求解
A.√
B.×
正确答案:A

3
二分法子问题不独立的情况可以计算,但计算量大,一般使用动态规划计算。
A.√
B.×
正确答案:A

4
N个元素排序的时间复杂度不可能是线性时间。
A.√
B.×.
正确答案:B

5
任何基于元素比较的排序算法的时间复杂度>=élogn!ù= Q(nlogn)
A.√
B.×
正确答案:A

6.3 减少子问题个数

1
二分搜索算法将分治的2个子问题减少为1个,时间复杂度由n降低为logn
A.√
B.×
正确答案:A

2
大整数乘法将分治的四个子问题减少为2个,时间复杂度由n2降低为n
A.√
B.×.
正确答案:B

3
Strassen矩阵乘法将分治的8个子问题减少为7个,时间复杂度由n3降低为n^log7
A.√
B.×
正确答案:A

4
减少子问题的个数,可以降低分治算法的时间复杂度。
A.√
B.×
正确答案:A

5
存在O(n2.376 )时间的矩阵乘法分治算法
A.√
B.×
正确答案:A

6.4 改进分治的均衡度

1
改进分治的均衡度,就是减少时间复杂度函数T(n)=aT(n/b)+f(n) 中的()值。
A.a
B.b
C.f(n)
D.n
正确答案:B

2
随机快速排序的时间是O(n^2)
A.√
B.×
正确答案:B

3
给定n个元素,找其中位数的时间是O(n)
A.√
B.×
正确答案:A

4
给定n个元素,使用分治算法找k小元素,如果保证分治的两个子数组中最小的数组是原数组的ε倍,时间复杂度可以由nlogn降低为n. 0<ε<1.
A.√
B.×
正确答案:A

6.5 减少合并的时间

1
减少合并时间,就是减少时间复杂度函数T(n)=aT(n/b)+f(n) 中的()值。
A.a
B.b
C.f(n)
D.n
正确答案:C

2
最接近点对问题的时间复杂度为()
A.n
B.nlogn
C.n^2
D.logn
正确答案:B

3
最接近点对问题将合并的时间从n2减少为n,从而将算法的时间复杂度由n减少为nlogn。
A.√
B.×
正确答案:A

4
计数逆序问题将合并计数逆序的时间由n2减少为n,从而将算法的时间复杂度由n2减少为nlogn。
A.√
B.×
正确答案:A

你可能感兴趣的:(算法分析与设计)