演算法學習筆記(1)- 演算法概述

weixin_34185560發表於2018-01-12

演算法概念

演算法可看成是若干指令的有窮序列 , 滿足性質 :

  • 輸入: 有外部提供的量作為演算法的輸入 。

  • 輸出: 演算法產生至少一個量作為輸出 。

  • 確定性: 組成演算法的每條指令是清晰 , 無歧義的 。

  • 有限性: 演算法中每條指令的執行次數是有限的 , 執
    行每條指令的時間也是有限的 。

演算法複雜性分析

演算法複雜性 = 演算法所需要的計算機資源

演算法的時間複雜性T(n) ;演算法的空間複雜性S(n) 。其中 n 是問題的規模 ( 輸入大小 )。

演算法分析中常見的複雜性函式

7182360-62553eaa9fb7740a.png

漸近分析的記號

(1 ) 漸近上界記號O—— 大 O 表示法
(2 ) 漸近下界記號Ω —— 大 Ω 表示法
(3 )緊漸近界記號θ —— θ 表示法
(4 ) 非緊上界記號o —— 小o 表示法
(5 ) 非緊下界記號ω —— 小ω 表示法

7182360-f9596724236fac08.png
7182360-df97e91f748aa214.png
7182360-c190e781f74786c4.png
7182360-63aaaba014eae12a.png
7182360-c9e946b01206c561.png

大O表示法

大O表示法:用來表示演算法可能有的最高增長率 。

7182360-8af474c435899363.png

7182360-ac7b5d37a40dddcc.png

兩個函式求導後相比
7182360-30aa12b42d05f8b2.png

7182360-a0fdd4b9b9d2867e.png

大 Ω 表示法

7182360-a3c78c7147fc6d00.png

7182360-c5b13f8d5b783b0d.png

θ 表示法

7182360-9b085e6e90d8ffe6.png

7182360-784abe74aa4abf8c.png

7182360-0cc8cfe78812ef2a.png

漸近分析記號的運算性質

7182360-e846ba14648733d9.png

最優演算法

7182360-009e8f5a304ca9ca.png

演算法分析基本法則

7182360-052cba334ba0fbde.png
7182360-59fbc793f7c2ea65.png

相關文章