數據結構第五課筆記--------------狄泰軟件學院
阿新 • • 發佈:2018-01-12
學院 語句 軟件學院 軟件 嚴重 操作 循環 結構 筆記 算法的復雜度
時間復雜度:
時間復雜度:
算法運行後對時間需求量的定性描述。
空間復雜度:
算法運行後對空間需求量的定性描述。
本章重點討論時間復雜度
符號定性——大O表示法:
——算法效率嚴重依賴於操作(Operation)數量
——操作數量的估算可以作為時間復雜度的估算
——在判斷是首先關註操作數量的最高次項
O(5) = O(1)
O(2n+1) = O(2n) = O(n)
O(n^2+n+1) = O(n^2)
O(3n^3+1) = O(3n^3) = O(n^3)
常見的時間復雜度:
線性時間復雜度 O(n)
for(int i=0; i<n; i++) { //復雜度為O(1)的語句 } //循環次數為n
對數階時間復雜度 O(logn)
int i=1;
while( i < n )
{
//復雜度為O(1)的語句
i *= 2;
} //循環次數 log2n
平方階時間復雜度 O(n^2)
for( int i=0; i<n; i++ )
for( int j=0; j<n; j++ )
{
//復雜度為O(1)的語句
} //循環次數n^2
計算時間復雜度的時候只取最高次項計算即可,且大O表示法也只針對最高次項。
數據結構第五課筆記--------------狄泰軟件學院