如果要計算一個演算法則的複雜度,可以使用演算法則執行時所需要的「執行時間」(Time)或是「記憶體空間」(Space)來進行評估,但是演算法則所需的「記憶體空間」而言,由於是使用虛擬記憶體的技術,提供足夠的記憶體空間,因此一般還是採用「執行時間」來當成估算演算法則複雜度的依據。
複雜度的表示
(1)複雜度上限 (BiG-O)
表示演算法則在最差的情況的複雜度
若 f(N)=O(g(N))成立時,則存在二個常數 C 與 N0 ,使得f(N) <= Cg(N),當N>=N0
(2)複雜度下限(Big Omega)
表示演算法則在最佳的情況的複雜度
若 f(N)=O(g(N))成立時,則存在二個常數 C 與 N0 ,使得f(N) >= Cg(N),當N>=N0
(3)上限與下限為等級相同 (Big Theada)
若 f(N)=O(g(N))成立時,則存在二個常數C1 , C2 與 N0 ,使得C1g(N) <=f(N) <= C2g(N),當N>=N0
沒有留言:
張貼留言