演算法知識點整理——第1章 演算法複雜性
阿新 • • 發佈:2019-02-17
第一章 演算法複雜性
1.演算法 VS 程式
輸入、輸出、確定性
演算法具有:有限性(在有限時間內執行完畢)
2.演算法複雜性C
C = F(N,I,A)
N:問題規模
I:演算法的輸入
A:演算法本身
時間複雜度:T=T(N,I)
空間複雜度:S=S(N,I)
3.演算法複雜度的三種評判標準
a. 最好情況:很多演算法的最好情況都差不多
b. 平均情況:較好,但較複雜
c. 最壞情況:操作性最好且最具有實用價值
4.三種漸近意義下的符號
a. O 上界,數量級大於或等於
b. Ω 下界,數量級小於或等於
c. θ 同個數量級
評判演算法複雜度一般選擇 O
5.最常見的多項式時間演算法的漸近時間複雜度
O(1)<O(log n)<O(n)<O(nlog n)<O(n**2)<O(n**3)
6.最常見的指數時間演算法的漸近時間複雜度
O(2**n)<O(n!)<O(n**n)
7.三種漸近符號的運算規則
演算法的優劣對程式執行效率有著很大的影響