演算法正確性和複雜度分析

2022-07-20 08:42:12 字數 628 閱讀 3858

演算法正確性——迴圈不變式

演算法複雜度的計算

方法一 代換法

—區域性代換

這裡直接對n變數進行代換

—替換成對數或者指數的情形 n = 2^m

—整體代換 

這裡直接對遞推項進行代換

—替換成內部遞推下標的形式 t(2^n) = s(n)

方法二 遞迴樹法

—用例項說明

—分析每一層的內容

—除了遞迴項的內容拿出來,如第一種樹把t(n-kn)作為下一層進行計算

—遞迴項按層寫出

方法三 主定理

—f(n)必須是n的多項式規模的才能使用主定理

—f(n)比較小,那麼前面a,b確定的複雜度做主導

—f(n)和a,b持平,那麼是2

—f(n)比較大,且滿足後面的規則性條件,就以f(n)作為主導

新增次數較小的項

—由於不等式方向問題,需要抵消f(n),需要新增不同次數的項

複雜度分析 時間複雜度分析和空間複雜度分析

其實,只要講到資料結構與演算法,就一定離不開時間 空間複雜度分析。而且我個人認為,複雜度分析是整個演算法學習的精髓,只要掌握了它,資料結構和演算法的內容基本上就掌握了一半。1.時間複雜度分析 對於剛才羅列的複雜度量級,我們可以粗略地分為兩類,多項式量級和非多項式量級。其中,非多項式量級只有兩個 o ...

演算法複雜度分析

分析非遞迴演算法效率的通用方案 1.決定用哪個 哪些 引數作為輸入規模的度量 2.找出演算法的基本操作 作為一規律,它總是位於演算法的最內層迴圈中 3.檢查基本操作的執行次數是否只依賴輸入規模。如果它還依賴一些其他的特性,則最差效率 平均效率以及最優效率 如果必要 需要分別研究。4.建立乙個演算法基...

演算法複雜度分析

演算法分析的四個漸進表示法 一般,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 法則二 如果...