演算法複雜度分析

2021-07-22 06:49:14 字數 552 閱讀 1802

演算法分析的四個漸進表示法:

一般,o裡的,取最小的

一般,ω裡的,

取最大的

一般分析時間複雜度,且常考慮最壞複雜度,常用o分析:

三法則:

法則一:

如果t1(n)=o(f(n)),t2(n0=o(g(n))

t1(n)+t2(n)=max(o(f(n)),o(g(n)))

t1(n)*t2(n)=o(f(n))*o(g(n))

法則二:

如果t(n)為k次多項式,t(n)=θ

(n^k)

法則三:

對任意常數k,(logn)^k=o(n)

注意:忽略呼叫函式和返回值的開銷

宣告不計時間

o內無常數,係數,低階項

一般法則:

法則一:for迴圈

法則二:巢狀的for迴圈

法則三:順序語句

法則四:if-else語句

從不超過判斷再加上if和else語句中執行較長的部分的和

演算法複雜度分析

分析非遞迴演算法效率的通用方案 1.決定用哪個 哪些 引數作為輸入規模的度量 2.找出演算法的基本操作 作為一規律,它總是位於演算法的最內層迴圈中 3.檢查基本操作的執行次數是否只依賴輸入規模。如果它還依賴一些其他的特性,則最差效率 平均效率以及最優效率 如果必要 需要分別研究。4.建立乙個演算法基...

演算法複雜度分析

類別name 名字交換類排序 quicksort 快速排序 交換類排序 bubble sort 氣泡排序 選擇類排序 selection sort 選擇排序 選擇類排序 heapsort 堆排序插入類排序 insertion sort 插入排序 插入類排序 shell sort 希爾排序 bucke...

演算法複雜度分析

對於遞推類和迴圈類演算法,我們一般統計其主要的基本操作個數與問題的規模大小。從而就可以推出演算法複雜度。對於任意 1的通式t n t n t 1 n c n 其時間複雜度都是o nlog n 對於正規化t n a t n b n d 對於 a 1,b 1,d 0 所以可以得出最後的複雜度為 對上面分...