1. 程式人生 > >數據結構第五課筆記--------------狄泰軟件學院

數據結構第五課筆記--------------狄泰軟件學院

學院 語句 軟件學院 軟件 嚴重 操作 循環 結構 筆記

算法的復雜度

時間復雜度
算法運行後對時間需求量的定性描述。
空間復雜度:
算法運行後對空間需求量的定性描述。
本章重點討論時間復雜度
符號定性——大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表示法也只針對最高次項。

數據結構第五課筆記--------------狄泰軟件學院