[演算法] Complexity (複雜度)
一般談論的演算法之複雜度,經常是指 Big-O
Big O Notation 代表演算法時間函式的上限(Upper bound),表示在最壞的狀況下,演算法的執行時間不會超過Big-Ο。
O(1) (Constant Run Time): 此演算法 執行時間不會隨著輸入資料量的增加而增加
O(n) (Linear Run Time): 此演算法 當輸入的資料越多,就會需要等比例輸出越多的內容,因此會需要消耗等比例越久的時間
O(n^2) (Exponential Run Time): 此演算法 隨著資料量的增加,執行時間會以指數成長
O(log n) (Logarithmic Run Time): 此演算法 隨著資料量增加,執行時間雖然會增加,但增加率會趨緩