A.這是因為歸并排序把問題劃分為子問題時的時間復(fù)雜性是O(1),而快速排序劃分為子問題是使用partition()函數(shù),其時間復(fù)雜性是O(n)
B.因為歸并排序把問題劃分為兩個子問題時其規(guī)模大致相等,是原來規(guī)模的n/2,而快速排序劃分為子問題是使用partition()函數(shù),劃分為子問題時不能保證二個子問題的規(guī)模大致相同,在極端狀況下,每次都只劃分為1個子問題,其規(guī)模為原問題規(guī)模n-1,因此快速排序在極端狀況下的時間復(fù)雜性的遞歸定義為T(n)=T(n-1)+O(n)
C.因為快速排序?qū)栴}劃分為子問題的個數(shù)比歸并排序要多
D.歸并排序的分和合的時間復(fù)雜性之和低于快速排序的分和合的時間復(fù)雜性之和
您可能感興趣的試卷
你可能感興趣的試題
A.不能,因為它不可以用分、治、合三個步驟完成計算
B.不能,因為它不滿足分治法的第四個適應(yīng)條件(子問題是相互獨立的,也就是沒有重復(fù)子問題)
C.能,因為它滿足分治法的四個適應(yīng)條件
D.能,因為它可以用分、治、合三個步驟完成計算
分治法的時間復(fù)雜性分析,通常是通過分析得到一個關(guān)于時間復(fù)雜性T(n)的一個遞歸方程,然后解此方程可得T(n)的結(jié)果。T(n)的遞歸定義如下:
關(guān)于該定義中k,n/m,f(n)的解釋準(zhǔn)確的是()。
A.k是常系數(shù),n/m是規(guī)模為n的問題分為m個子問題,f(n)是將子問題的解合并為問題的解的時間復(fù)雜性
B.k是子問題個數(shù),n/m是子問題的規(guī)模,f(n)是分解為子問題的時間復(fù)雜性與合并子問題的解的時間復(fù)雜性之和
C.k是子問題個數(shù),n/m是子問題的規(guī)模,f(n)是規(guī)模為n的問題分解為子問題的時間復(fù)雜性
D.k是常系數(shù);n/m是規(guī)模為n的問題分為m個子問題;f(n)是分解為子問題的時間復(fù)雜性與合并子問題的解的時間復(fù)雜性之和
?分治法解決問題分為三步走,即分、治、合。下面列出了幾種操作,請按分、治、合順序選擇正確的表述()。
(1)將各個子問題的解合并為原問題的解
(2)將問題分解為各自獨立的多個子問題
(3)將多個子問題合并為原問題
(4)求各個子問題的解
(5)將問題分解為可重復(fù)的多個子問題
A.(2)(4)(1)
B.(2)(1)(3)
C.(5)(4)(1)
D.(5)(1)(3)
A.對于問題的一個實例,如果算法不能獲得正確的結(jié)果,就證明算法是不正確的
B.若算法是正確的,則對于問題的任何實例,算法都能得到正確的結(jié)果
C.對于問題的一個實例,如果算法能夠獲得正確的結(jié)果,就證明算法是正確的
D.若算法是正確的,則算法一定能結(jié)束(運行時間是有限的)
有一個算法,它的時間復(fù)雜性T(n)的遞歸定義如下,問T(n)是()。
A.O(n3)
B.O(nlogn)
C.O(n)
D.O(n2)
最新試題
回溯法采用的搜索策略是()。
關(guān)于使用回溯法求解0-1背包問題,以下說法正確的是()。
將長度分別為m,n的兩個單鏈表合并為一個單鏈表的時間復(fù)雜度為O(m+n)。
分支限界法中,擴(kuò)展出的孩子結(jié)點在入隊時,存儲該孩子結(jié)點的父結(jié)點的地址和左孩子標(biāo)志。其目的是什么?()
在求解部分背包問題時采用的貪心策略是()。
Prim算法適合稀疏圖,其時間復(fù)雜度只與邊的數(shù)目有關(guān)。
pollard算法找到一個整數(shù)因子的時間復(fù)雜性是()。
關(guān)于分支限界法的基本思想,下列描述正確的是()。
舍伍德算法思想是通過引入隨機(jī)化策略將確定性算法改造為隨機(jī)算法,打破原來確定性算法在某些實例情況下,其時間復(fù)雜性必然遠(yuǎn)高于平均時間復(fù)雜性的規(guī)律。下面哪些算法可以應(yīng)用舍伍德算法思想?()
在解決活動安排問題時應(yīng)首先對活動進(jìn)行排序,排序的依據(jù)是()。