分析非遞迴演算法效率的通用方案:
1. 決定用哪個(哪些)引數作為輸入規模的度量
2. 找出演算法的基本操作(作為一規律,它總是位於演算法的最內層迴圈中)。
3.檢查基本操作的執行次數是否只依賴輸入規模。如果它還依賴一些其他的特性,則最差效率、平均效率以及最優效率(如果必要)需要分別研究。
4.建立乙個演算法基本操作執行次數的求和表示式。
5.利用求和運算的標公式和法則來建立乙個操作次數的閉合公式,或者至少確定它的增長次數。
遞迴演算法複雜性分析-通用方案:
1.決定用哪個(哪些)引數作為輸入規模的度量。
2.找出演算法的基本操作。
3.檢查一下,對於相同規模的不同輸入,基本操作的執行次數是否不同。如果不同,則必須對最差效率、平均效 率以及最優效率作單獨研究。
4.對於演算法基本操作的執行次數,建立乙個遞推關係以及相應的初始條件。
5.解這個遞推式,或者至少確定它有解的增長次數。
演算法複雜度分析
演算法分析的四個漸進表示法 一般,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 法則二 如果...
演算法複雜度分析
類別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 所以可以得出最後的複雜度為 對上面分...