演算法分析中的增長數量級和近似函式

2021-10-09 16:46:22 字數 726 閱讀 9426

描述

近似函式

調和級數求和

hn=1+1/2+1/3+1/4+······+1/n~lnn

等差數列求和

1+2+3+4+······+n~n²/2

等比數列求和

1+2+4+8+······+2ⁿ~2ⁿ

斯特靈公式

lgn!=lg1+lg2+lg3+lg4+······+lgn~nlgn

描述增長的數量級

典型**

說明舉例

常數級別

1a=b+c

完成任務所需的運算元一定

將兩個數相加

對數級別

logn

二分查詢

底數和增長的數量級無關,僅比常數級別慢

二分查詢

線性級別n迴圈

一般基於單個for迴圈

迴圈線性對數級別

nlogn

分治、快排

分治和快排

歸併排序

平方級別

n²雙層迴圈

一般含有雙層迴圈

雙層迴圈

立方級別

n³三層迴圈

一般含有三層迴圈

三層迴圈

指數級別

2ⁿ窮舉查詢

不適合解決大規模問題

檢查所有子集

演算法分析(1) 增長數量級分類總結

3 綜述 實現演算法一般使用以下幾種結構性原語 常數級別 對數級別 線性級別 線性對數級別 平方級別 立方級別 指數級別 常見的增長數量級是基礎,與之對應的演算法在演算法分析設計中往往是基礎性的數學模型,讀者可以收藏一下下 感激!常見數量級 與之對應的模型及演算法 常數級別 普通語句,例如普通的加減...

微積分學和演算法分析中的O, o

微積分中有無窮小和有界的概念,對應的符號分別為 o o o role presentation oo。類似的,在演算法分析中也有漸近上 下界 非緊上 下界和緊漸近界的概念,對應的符號分別為o o o o 和 既然前兩個符號相同,那麼這些符號有什麼聯絡呢?根據微積分學中的定義,有界符號 o o 定義為...

資料結構和演算法中的複雜度分析

了解複雜度分析,資料結構和演算法中複雜度分為時間複雜度和空間複雜度,我們用大o表示法,時間複雜度分析用三種方法分析 1 只關注迴圈執行次數最多的一段 以下 複雜度為o n private int cal int n return sum 2.加法法則 總複雜度等於量級最大的那段 的複雜度,以下 複雜...