資料結構 演算法複雜度比較

2021-10-07 11:08:15 字數 599 閱讀 7869

public

intsum

(int

a)if(maxreturn max;

}

時間複雜度n^3 ,不知道怎麼想的。。。

演算法二:兩個for

int max=0;

for(

int i =

0; i < a.length; i++)if

(maxreturn max;

}

時間複雜度n^2,暴力解法,把每個子式都算出來,然後比較哪個大。

演算法三:

public

intsum

(int

a)else

if(currentmax<0)

}return max;

}

先讓陣列依次相加,假如currentmax<0,說明這個位置上負數負的比前面幾個數加一起都多,如果後面一直是負數,就永遠不可能比前面那個正的和大。(題裡給了:如果負的就為0,所以currenmax<0的時候讓currentmax=0,然後下面再加相當於重新計數了)

多動腦,不要上來就暴力解法。。。

資料結構 演算法複雜度

二 演算法的效能評價 三 真題解析 資料結構的第一章 緒論 包含的最後乙個重要內容是關於演算法的複雜度。這個考點一般會單獨出現在選擇題的前兩道,需要你熟練掌握演算法的基本概念 演算法時間複雜度和空間複雜度的分析判斷等。其次,還會出現在大題的程式設計部分,將演算法複雜度作為乙個限制條件,要求你給出滿足...

資料結構之演算法複雜度

解決特定問題求解步驟的描述。在計算機中表現為指令的有限序列,每條指令可表示乙個或多個操作。此外,乙個演算法還具有下列5個特性 有窮性,確定性,可行性,輸入,輸出。演算法設計的要求 正確性,可讀性,健壯性,效率與低儲存量需求。what?時間複雜度和空間複雜度 why?可以用度量演算法的好與壞 how?...

資料結構(二) 演算法複雜度

演算法中執行次數最多的那條語句就是基本語句,測定執行時間就是計算基本語句的執行次數 可以忽略加法常數 與最高此項相乘的常數並不重要 最高次項的指數越大,增長越快 判斷乙個演算法執行效率時,函式中的常數和其他次要項常常可以忽略,更應該關注主項 最高端項 的階數 某個演算法,隨著n增大,它會越來越優於另...