第三章 函數的增長 3.1 漸進記號

3.1-1 假設f(n)與g(n)都是漸進非負函數。使用θ記號的基本定義來證明max(f(n),g(n))=θ(f(n)+g(n))。

解:c1(f(n)+g(n))<max(f(n),g(n))<c2(f(n)+g(n))
c1=1/2,c2=2 時,恆成立。

3.1-2 證明:對任意實常量a和b,其中b>0,有

(n+a)b=θ(nb)

解:c1nb(n+a)bc2nb
c1(1+an)c2
c1=1,c2=2 時,恆成立。

3.1-3 解釋爲什麼“算法A的運行時間至少是O(n2) ”這一表述是無意義的。

O:表示一個函數的漸進上界。
既然是上界,用“至少來形容”,就不恰當了吧。

3.1-4 2n+1=O(2n)22n=O(2n)

O:表示一個函數的漸進上界。
1)證明,2n+1=O(2n) 是否成立
2n+1c22n,c2=2 時成立
所以,成立。
2)證明,22n=O(2n) 是否成立
22nc22n,c2 爲正無窮
所以,不成立。

3.1-5 證明定理3.1

定理3.1:對於任意兩個函數f(n)和g(n),我們有f(n)=θ(g(n)),當且僅當f(n)=O(g(n))且f(n)=Ω(g(n))

b<f<a,f<a,f>b

3.1-6 證明:一個算法的運行時間爲θ(g(n))當且僅當其最壞情況運行時間爲O(g(n)),且其最好情況運行時間爲Ω(g(n))

同上

3.1-7 證明:o(g(n))w(g(n)) 爲空集

因爲這兩個是緊確上界和下界。

3.1-8 可以擴展我們的記號到有兩個參數n和m的情形,其中的n和m可以按不同速率獨立地趨於無窮。對於給定的函數g(n,m),用O(g(n,m))來表示一下函數集:

O(g(n,m))={f(n,m):c,n0m0,使nn0mm0,0f(n,m)cg(n,m)}

定義如下:

Ω(g(n,m))={f(n,m):c,n0m0,使nn0mm0,0cg(n,m)f(n,m)}
發佈了42 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章