[英]Is T(n)= T(n-1) + n always n(n+1)/2 or O(n^2)
我看了一個視頻,他們證明T(n)= T(n-1) + n is O(n^2)
我有以下表達式:
T(1) = 4
T(N) = T(N – 1) + N + 3, N > 1
我的問題是,上面的表達式是否以同樣的方式解決,即使 N 之后有 +3。
這個問題有點混亂,但我希望你明白這一點。 如果有問題,我會嘗試更好地解釋。
總之就是 T(N) = T(N – 1) + N + 3 = O(n^2)
T(n) = T(n-1) + n-1 + 4
=> 給定方程加 1 減 1
T(n) = T(n-1) + n-1 + T(1)
...(1)
現在, T(1) = 常數。
因此,從 eq( 1 ),
T(n) = T(n-1) + (n-1)
...(2)
Eq( 2 ) 簡化為T(n) = T(nk) + n*k - k*(k+1)/2
...(3)
在 eq( 3 ) 中代入(nk)=1或k=(n-1) ,
我們得到,
T(n) = T(1) + n*(n-1) - (n-1)(n)/2
T(n) = n*(n-1)/2
=> O(n^2)
PS:如果我們不忽略 eq( 1 ) 中的 T(1),我們得到的最終方程是T(n) = n*(n-1)/2 + T(1) + 4*k
=> T(n) = n*(n-1)/2 + 4 + 4*(n-1)
仍然給出O(n^2)作為最終答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.