乙個演算法的時間複雜度,指演算法執行的時間。
假設資料輸入規模是n,演算法的複雜度可以表示為f(n)的函式
一。大o記號
假設f(n)和g(n)的定義域是非負整數,存在兩個正整數c和n0,使得n>n0的時候,f(n)二。ω
記號ω記號與大o記號相反,他可以表示演算法執行時間的下界。
ω(g(n))表示的函式集合的函式是所有階數超過g(n)的函式。三。θ
記號θ記號介於大o記號和
ω記號之間。他表示,存在正常數c1,c2,n0,當n>n0的時候,c1*g(n)θ
(g(n))。他表示所有階數與g(n)相同的函式集合。
四。小o記號
f(n)=o(g(n))當且僅當f(n)=o(g(n))且f(n)≠ω
(g(n))。也就是說小o記號可以表示時間複雜度的上界,但是一定不等於下界。
五。例子
假設f(n)=2n^2+3n+5,f(n)=o(n^2)或者f(n) = o(n^3)或者f(n)=o(n^4)或者……
f(n)=
ω(n^2)或者f(n)=
ω(n)或者f(n)=
ω(1)
f(n)=
θ(n^2)
f(n) = o(n^3)或者f(n)=o(n^4)或者f(n)=o(n^5)或者……
注:n^2表示n的平方,以此類推。
演算法 複雜度的漸近表示
o f n t n o f n 表示存在常數 c 0 n 0 0 使得當 n n 0 時,總有 t n cf n omega f n t n omega f n 表示存在常數 c 0 n 0 0 使得當 n n 0 時,總有 t n cf n theta f n theta f n 表示同時有 t ...
演算法複雜度的漸近表示法(詳細版)
乙個演算法的時間複雜度,指演算法執行的時間。假設資料輸入規模是n,演算法的複雜度可以表示為f n 的函式 一。大o記號 假設f n 和g n 的定義域是非負整數,存在兩個正整數c和n0,使得n n0的時候,f n c g n 則f n o g n 可見o g n 可以表示演算法執行時間的上界。o g...
複雜度函式的表示
各種複雜度函式的表示方法大致可按表達的精確程度分為下面的三個等級 何種情況下用相應的複雜度函式 1.解析表示式。用解析表示式刻畫複雜度函式是最精確的表達方式。例如 求n元中之最大元演算法maxelement的複雜度為 t n w n a n n 1 順序搜尋演算法的最壞情形時間複雜度為 w n n ...