算法分析-漸進分析


幾種基本漸進符號的解釋

要注意的一點是,算法分析中的數量級\(n\)是不小於零的整數,即可取0,1,2 ……

\(O\) 上界情況

對於執行次數函數\(f(n)\),存在常量\(n_0,c\),有任意\(n > n_0\) 使得\(0 \leq f(n) \leq cg(n)\),則稱\(f(n)\)\(O(g(n))\)中。

同時由圖像可以看出\(O(g(n))\)可以看作是滿足上述條件的所有函數的集合

\(\Omega\) 下界情況

對於執行次數函數\(f(n)\),存在常量\(n_0,c\),有任意\(n > n_0\) 使得\(0 \leq cg(n) \leq f(n)\),則稱\(f(n)\)\(\Omega(g(n))\)中。

同樣,\(\Omega(g(n))\)表示的是滿足上述條件的所有函數的集合。

\(\Theta\) 平均情況

對於執行次數函數\(f(n)\),存在常量\(n_0,c_1,c_2\),有任意\(n\geq n_0\)使得\(0\leq c_1g(n) \leq f(n)\leq c_2g(n)\),則稱\(f(n)\)\(\Theta(g(n))\).

\(\Theta(g(n))\)也可以看作是上述所有函數的集合,其中的集合中每個成員\(f(n)\in \Theta(g(n))\)漸進非負

練習解析

假設f(n)與g(n)都是漸進非負函數,使用定義證明\(max(f(n)+g(n))=\Theta(f(n)+g(n))\)

根據平均情況的定義:要證明的存在\(c_1,c_2,n0使得任意n\geq n_0有\)

\[0\leq c_1(f(n)+g(n))\leq max(f(n)+g(n))\leq c_2(f(n)+g(n)) \]

可以看出當\(c_1=1/2,c_2=1,n_0\in N\)時上式均成立,證畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM