A.結(jié)構(gòu)清晰
B.容易用數(shù)學歸納法證明算法的正確性
C.遞歸算法耗費的時間和占用的內(nèi)存空間要比解決同一問題的非遞歸算法要少
D.可讀性強
您可能感興趣的試卷
你可能感興趣的試題
A.6
B.101
C.51
D.7
A.這是因為歸并排序把問題劃分為子問題時的時間復雜性是O(1),而快速排序劃分為子問題是使用partition()函數(shù),其時間復雜性是O(n)
B.因為歸并排序把問題劃分為兩個子問題時其規(guī)模大致相等,是原來規(guī)模的n/2,而快速排序劃分為子問題是使用partition()函數(shù),劃分為子問題時不能保證二個子問題的規(guī)模大致相同,在極端狀況下,每次都只劃分為1個子問題,其規(guī)模為原問題規(guī)模n-1,因此快速排序在極端狀況下的時間復雜性的遞歸定義為T(n)=T(n-1)+O(n)
C.因為快速排序?qū)栴}劃分為子問題的個數(shù)比歸并排序要多
D.歸并排序的分和合的時間復雜性之和低于快速排序的分和合的時間復雜性之和
A.不能,因為它不可以用分、治、合三個步驟完成計算
B.不能,因為它不滿足分治法的第四個適應條件(子問題是相互獨立的,也就是沒有重復子問題)
C.能,因為它滿足分治法的四個適應條件
D.能,因為它可以用分、治、合三個步驟完成計算
分治法的時間復雜性分析,通常是通過分析得到一個關于時間復雜性T(n)的一個遞歸方程,然后解此方程可得T(n)的結(jié)果。T(n)的遞歸定義如下:
關于該定義中k,n/m,f(n)的解釋準確的是()。
A.k是常系數(shù),n/m是規(guī)模為n的問題分為m個子問題,f(n)是將子問題的解合并為問題的解的時間復雜性
B.k是子問題個數(shù),n/m是子問題的規(guī)模,f(n)是分解為子問題的時間復雜性與合并子問題的解的時間復雜性之和
C.k是子問題個數(shù),n/m是子問題的規(guī)模,f(n)是規(guī)模為n的問題分解為子問題的時間復雜性
D.k是常系數(shù);n/m是規(guī)模為n的問題分為m個子問題;f(n)是分解為子問題的時間復雜性與合并子問題的解的時間復雜性之和
?分治法解決問題分為三步走,即分、治、合。下面列出了幾種操作,請按分、治、合順序選擇正確的表述()。
(1)將各個子問題的解合并為原問題的解
(2)將問題分解為各自獨立的多個子問題
(3)將多個子問題合并為原問題
(4)求各個子問題的解
(5)將問題分解為可重復的多個子問題
A.(2)(4)(1)
B.(2)(1)(3)
C.(5)(4)(1)
D.(5)(1)(3)
最新試題
在一個至少包含三個頂點的加權連通單向圖中,假定邊的權重互不相同,則權重最大的邊不可能被包含在任何最小生成樹中。
用m種顏色給n個頂點著色、且使一條邊的兩個頂點顏色不同,則對應的解空間樹是一棵()。
使用窮舉法求解最長遞增子序列的時間復雜度為()。
在使用分治法設計算法時,最好使子問題的規(guī)模大致相同,即將一個問題分成大小相等的多個子問題的處理方法是行之有效的。
回溯法采用的搜索策略是()。
在求解部分背包問題時采用的貪心策略是()。
下列關于效率的說法正確的是()。
有這樣一種算法,運行一次一定能找到問題的解,有時不知其是否正確,可以確定的是該解高概率(大于50%)是正確的。這種算法是()。
?在分治法中講到快速排序,如果每次使用partion函數(shù)導致分組出現(xiàn)嚴重不平衡情況下,算法效率不高,最壞情況下的時間復雜度為O(n2),通過改造partition函數(shù),也就是每次隨機選擇一個元素作為劃分基準,這樣會很好地改善算法的性能,這種算法思想是()。
0-1背包問題與部分背包問題的區(qū)別在于()。