時間複雜度 T n

2021-07-31 06:27:45 字數 934 閱讀 3805

時間複雜度

1.演算法的執行時間和語句的頻度

一條語句的執行次數稱為語句頻度;

for(inti = 0; i < n; i++) }}

演算法中所有語句的頻度之即演算法的執行時間用t(n)表示:t(n)是矩陣階數n的函式

t(n) = 2n^3+3n^2+2n+1;

2.問題規模和演算法的時間複雜度

演算法求解問題的輸入量稱為規模

,一般用整數n表示;

乙個演算法的時間複雜度(time complexity)是該演算法的執行時間,記為t(n),

它是該演算法所求解問題規模n的函式。

當問題的規模無窮大時,t(n)的數量級稱為演算法的漸近時間複雜度,記為t(n)=o(f(n)),它表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,

簡稱時間複雜度

這裡f(n)一般是演算法中最大的語句頻度,一般情況下是最深層迴圈內的語句頻度;

如:t(n) = 2n^3+3n^2+2n+1;的語句頻度為t(n)=n^3

舉例:

幾條語句的執行頻度為1,演算法的執行時間是乙個與問題規模無關的常數,所以演算法的時間複雜度為常階數,不管這個常數再大,它的時間複雜度都為t(n)=o(1)。

舉例2

舉例3

程式段的時間複雜度為t(n)=o(n^3).

T n 25T n 5 n 2的時間複雜度

對於t n a t n b c n k t 1 c 這樣的遞迴關係,有這樣的結論 if a b k t n o n logb a logb a b為底a的對數 if a b k t n o n k logn if a b k t n o n k a 25 b 5 k 2 a b k 故t n o n...

dfs時間複雜度 時間複雜度 空間複雜度

時間複雜度的數學證明方法相對比較複雜,通常在工程實際中,會分析就好。注意 只看最高複雜度的運算 int for for for for int遞迴如何分析時間複雜度?常數係數可以忽略,在分析時不用考慮,只要說以上術語即可。主定理 master throrem 上述第四種是歸併排序,所有排序演算法,最...

時間複雜度 空間複雜度

時間複雜度 在電腦科學中,演算法的時間複雜度是乙個函式,它定性描述了該演算法的執行時間。這是乙個關於代表演算法輸入值的字串 的長度的函式。時間複雜度常用大o符號 表述,不包括這個函式的低階項和首項係數。計算時間複雜度的方法 1 只保留高階項,低階項直接丟棄 2 係數不要 3 執行次數是常數是為o 1...