4.3-1 證明:t(n)=t(n-1)+n的解為o(n2
)。 c(
n−1)
2+n≤
n2cn
2−2c
n+c+
n≤n2
cn2−
(2c−
1)n+
1≤n2
當c大於等於1時成立
4.3-2 證明:t(
n)=t
(⌈n/
2⌉)+
1的解為
o(lg
n) c
lgn2+
1=clg
n−clg
2+1=
clgn−
c+1≤
lgn當c大於等於2時成立
4.3-3 我們看到 t(
n)=2
t(⌊n
/2⌋)
+n的解為o(nlgn)。證明ω(nlgn)也是這個遞迴式的解。從而得出結論:解為θ(nlgn)
解:(1)t(
⌊n/2
⌋)≤c
⌊n/2
⌋lg(
⌊n/2
⌋)t(
n)≤2
(c⌊n
/2⌋l
g(⌊n
/2⌋)
)+n<=cn
lg(n
/2)+
n=cn
lgn−
cnlg
2+n=
cnlg
n−cn
+n如果c>=1,則有 cnlgn-cn+n <=cnlgn。所以t(n)=2t(⌊n/2⌋)+n的解為o(nlgn)。
(2)
假設
t(⌊n
/2⌋)
≥c⌊n
/2⌋l
g(⌊n
/2⌋+
dn)。
則有:t
(n)≥
2(c⌊
n/2⌋
lg(⌊
n/2⌋
))+n
≥c(n
)lg(
n/2)
+n+2
dn=c
nlgn
+(d−
c)n+
n+dn
>=cn
lgn+
dn若d>c, 所以t(n)=2t(⌊n/2⌋)+n的解為ω(nlgn)。
綜上,t(n)=2t(⌊n/2⌋)+n的解為θ(nlgn)。
4.3-4 證明:通過做出不同的歸納假設,我們不必調整歸納證明中的邊界條件,即可克服遞迴式(4.19)中邊界條件t(1)=1帶來的困難。
猜測為t(n
)≤cn
lgn+
cd
4.3-5 證明:歸併排序的「嚴格」遞迴式(4.3)的解為θ(nlgn)
同4.3-3
4.3-6 證明:t(
n)=2
t(⌊n
2⌋+17
)+n 的解為o(nlgn)。
解:不會
4.3-7~4.3-9待整理。
第四章 函式和遞迴例題
例題4 1 組合數 輸入非負整數m,n輸出組合數c n,m m n 20 分析 從普通思維出發先算n 再算m 再算 n m 最終我們會發現,20!以及超出整數所能表示的範圍。因此此題不宜使用這種方法。經分析,我們發現n 和m 或者 n m 有重疊的部分,可以約去。因此得到如下解法 includeus...
第四章 分布式模型
面向聚合資料庫非常適用於橫向擴充套件方式,因為聚合此時就自然成了資料分布單元。資料分布有兩條路徑 複製和分片,這兩種方法可以混合用 複製 同乙份資料拷貝到多個節點。有主從式和對等式兩種。分片 不同資料存放在不同節點中。4.1 單一伺服器 4.2 分片 一般,資料庫的繁忙體現在 不同使用者需要訪問的資...
演算法導論 學習筆記 第四章 遞迴
演算法導論 學習筆記 第四章 遞迴。本文主要是介紹了三種求執行時間的方法。這三種方法都是解決遞迴問題的。就像分治法這種問題的演算法的執行時間。這三種方法分別是替換法 遞迴樹方法 主方法這個方法有兩個步驟 1.猜乙個答案 而比較悲催的是現在沒有乙個通用的方法去猜正確的答案 都說是猜了.但是除了一些經驗...