慕課《算法分析與設計》山東財經大學李恆武,第六章 分治算法 測驗題問題梳理答案

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章