時間複雜度計算方法

2022-05-07 03:15:11 字數 1155 閱讀 2654

1.形如 t(n) = a * t(n/b) + f(n) 的時間複雜度計算方法

有一種方法叫做主方法(master method)是用來專門計算這種形式的時間複雜度的,方法具體如下:

下邊舉例進行說明:

例1:

t(n) = 25*t(n/5) + n^2

因為:a=25,b=5,d=2,f(n) = n^2

所以此例符合master method 中的第二種情況,所以 直接就可以得到:t(n) = n^2 * logn

2.形如 t(n) = a * t(n-1) + f(n)  的時間複雜度計算方法

這種形式的複雜度計算,只能用遞推的方式

例1:

t(n)=t(n-1)+n                             (1)

t(n-1)=t(n-2)+n-1                       (2)

t(n-2)=t(n-3)+n-2                       (3)

t(n-3)=t(n-4)+n-3                       (4)

t(3)=t(2)+3                                 (n-2)

t(2)=t(1)+2                                 (n-1)

t(1)=t(0)+1                                 (n)

將(n)式帶回(n-1) 式,將(n-1)式帶回(n-2) 式,將式子依次帶回,最後帶回(4) 式,(3) 式,(2) 式,(1) 式。帶入式子結果如下:

t(n)=t(0)+1+2+3+……+n-3+n-2+n-1+n

計算結果如下:

t(n)=1+1+2+3+……+n-3+n-2+n-1+n

t(n)=1+(1+n)*n/2

故演算法的時間複雜度為

o(n2)

時間複雜度計算方法

o 1 constant complexity constant 常數複雜度 o log n 對數複雜度 o n 線性時間複雜度 o n 2 平方 o n 3 立方 o 2 n 指數 o n 階乘 隨著現在儲存空間的便宜,很多情況下,我們是願意用空間複雜度來換取時間複雜度的,因為記憶體,磁碟等這些和...

時間複雜度計算方法

o 1 constant complexity constant 常數複雜度 o log n 對數複雜度 o n 線性時間複雜度 o n 2 平方 o n 3 立方 o 2 n 指數 o n 階乘 隨著現在儲存空間的便宜,很多情況下,我們是願意用空間複雜度來換取時間複雜度的,因為記憶體,磁碟等這些和...

時間複雜度的計算方法

1.1 頻度統計法。頻度統計法指以程式中語句執行次數的多少作為演算法時間度量分析的一種方法。通常情況下,演算法的時間效率主要取決於程式中包含的語句條數和採用的控制結構這兩者的綜合效果。因此,最原始且最牢靠的方法是求出所有主要語句的頻度f n 然後求所有頻度之和。例如 如下形式的語句段 for i 1...