A.結(jié)構(gòu)清晰
B.容易用數(shù)學(xué)歸納法證明算法的正確性
C.遞歸算法耗費(fèi)的時(shí)間和占用的內(nèi)存空間要比解決同一問題的非遞歸算法要少
D.可讀性強(qiáng)
您可能感興趣的試卷
你可能感興趣的試題
A.6
B.101
C.51
D.7
A.這是因?yàn)闅w并排序把問題劃分為子問題時(shí)的時(shí)間復(fù)雜性是O(1),而快速排序劃分為子問題是使用partition()函數(shù),其時(shí)間復(fù)雜性是O(n)
B.因?yàn)闅w并排序把問題劃分為兩個(gè)子問題時(shí)其規(guī)模大致相等,是原來規(guī)模的n/2,而快速排序劃分為子問題是使用partition()函數(shù),劃分為子問題時(shí)不能保證二個(gè)子問題的規(guī)模大致相同,在極端狀況下,每次都只劃分為1個(gè)子問題,其規(guī)模為原問題規(guī)模n-1,因此快速排序在極端狀況下的時(shí)間復(fù)雜性的遞歸定義為T(n)=T(n-1)+O(n)
C.因?yàn)榭焖倥判驅(qū)栴}劃分為子問題的個(gè)數(shù)比歸并排序要多
D.歸并排序的分和合的時(shí)間復(fù)雜性之和低于快速排序的分和合的時(shí)間復(fù)雜性之和
A.不能,因?yàn)樗豢梢杂梅?、治、合三個(gè)步驟完成計(jì)算
B.不能,因?yàn)樗粷M足分治法的第四個(gè)適應(yīng)條件(子問題是相互獨(dú)立的,也就是沒有重復(fù)子問題)
C.能,因?yàn)樗鼭M足分治法的四個(gè)適應(yīng)條件
D.能,因?yàn)樗梢杂梅?、治、合三個(gè)步驟完成計(jì)算
分治法的時(shí)間復(fù)雜性分析,通常是通過分析得到一個(gè)關(guān)于時(shí)間復(fù)雜性T(n)的一個(gè)遞歸方程,然后解此方程可得T(n)的結(jié)果。T(n)的遞歸定義如下:
關(guān)于該定義中k,n/m,f(n)的解釋準(zhǔn)確的是()。
A.k是常系數(shù),n/m是規(guī)模為n的問題分為m個(gè)子問題,f(n)是將子問題的解合并為問題的解的時(shí)間復(fù)雜性
B.k是子問題個(gè)數(shù),n/m是子問題的規(guī)模,f(n)是分解為子問題的時(shí)間復(fù)雜性與合并子問題的解的時(shí)間復(fù)雜性之和
C.k是子問題個(gè)數(shù),n/m是子問題的規(guī)模,f(n)是規(guī)模為n的問題分解為子問題的時(shí)間復(fù)雜性
D.k是常系數(shù);n/m是規(guī)模為n的問題分為m個(gè)子問題;f(n)是分解為子問題的時(shí)間復(fù)雜性與合并子問題的解的時(shí)間復(fù)雜性之和
?分治法解決問題分為三步走,即分、治、合。下面列出了幾種操作,請按分、治、合順序選擇正確的表述()。
(1)將各個(gè)子問題的解合并為原問題的解
(2)將問題分解為各自獨(dú)立的多個(gè)子問題
(3)將多個(gè)子問題合并為原問題
(4)求各個(gè)子問題的解
(5)將問題分解為可重復(fù)的多個(gè)子問題
A.(2)(4)(1)
B.(2)(1)(3)
C.(5)(4)(1)
D.(5)(1)(3)
最新試題
?優(yōu)先隊(duì)列式分支限界法解決0-1背包問題時(shí),下面描述正確的是()。
在解決活動(dòng)安排問題時(shí)應(yīng)首先對活動(dòng)進(jìn)行排序,排序的依據(jù)是()。
回溯法的主要用途包括求問題的所有解、求問題的最優(yōu)解和求問題的任一解。
?有這樣一種算法,運(yùn)行一次可能找不到問題的解,運(yùn)行多次就一定能找到問題的解,且運(yùn)行次數(shù)有界,這種算法是()。
在一個(gè)至少包含三個(gè)頂點(diǎn)的加權(quán)連通單向圖中,假定邊的權(quán)重互不相同,則權(quán)重最大的邊不可能被包含在任何最小生成樹中。
應(yīng)用分支限界法的三個(gè)關(guān)鍵問題包括()。
使用窮舉法求解最長遞增子序列的時(shí)間復(fù)雜度為()。
關(guān)于分支限界法的基本思想,下列描述正確的是()。
已知某樓房共20層,如果采用二分查找,最多猜()次就能猜出任意一個(gè)樓層。
關(guān)于使用回溯法求解0-1背包問題,以下說法正確的是()。