簡體   English   中英

如何求解遞歸 T(n) = 4T(sqrt(n)) + sqrt(n)?

[英]How to solve the recurrence T(n) = 4T(sqrt(n)) + sqrt(n)?

遞歸是

T(n) = 4T(sqrt(n)) + sqrt(n)

我不太確定是否可以通過替換部分遞歸來使用主定理來解決這個問題。

我的想法是說

S(n) = T(2^n) = 4T(2^(n/2)) + 2^(n/2) = 4S(n/2) + 2^(n/2)

有了主定理,我會得出結論

S(n) = O(2^n) -> T(n) = O(n)

但我不確定這種替換是否正確。

我希望你能幫我解決這個問題。

嗯,右邊界是 Θ(√n),因為 n ≥ 10 4時 √n ≤ n/100,主定理將 T'(n) = 4T'(n/100) + √n 求解為 Θ(√ n),並且 T(n) = O(T'(n))。 相應的下界 Ω(√n) 是顯而易見的。

你的論點不嚴格的部分是寫 S(n) = O(2 n ),因為 2 n/2 = O(2 n ) 是正確的,但主定理給你更好的界限 S(n ) = Θ(2 n/2 )。 這很重要,因為這是寫 T(n) = S(2 lg(n) ) = Θ(2 lg(n)/2 ) = Θ(√n) 與你寫的不同:T(n) = S( 2 lg(n) ) = O(2 lg(n) ) = O(n)。

(Stack Overflow 看到很多這樣的問題,但它們更適合math.SE 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM