演算法時間複雜度定義: 在進行演算法分析時,敘述整體執行次數 T(n) 是關於問題規模 n 的函數,進而分析 T(n) 隨 n 的變化情況並確定 T(n) 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作: T(n) = O(f(n)) 它表示隨問題規模 n 的擴大,演算法執行時間的增長率和 f(n) 的增長率相同,稱作演算法的漸近時間複雜度,簡稱為時間複雜度。其中 f(n) 是時間規模 n 的某個函數。
通常用大寫 O() 來表現演算法的時間複雜度記法,通常稱之大 O 記法,也念作 Big O。
一般情況,隨著 n 的增大,T(n) 增長最慢的演算法稱為最佳演算法。
由此演算法時間複雜度的定義可知,三個求和演算法的時間複雜度分別為 O(n)、O(1)、O(n²)。
O(1): 數階O(n): 線性階O(n²): 平方階
換句話說,時間複雜度就是用「大 O 記法」來衡量當資料量變大時程式要跑多久,成長速度越慢的演算法就越好。
今日的分享就到這囉,我們明天見,掰掰!