我现在正在学习复发关系。我知道;
t(n) = t(n/2) + t(n/5) + n is t(n) = theta n
怎么样;
t(n) = t(n/2) + t(n/5) + nlogn
t(n) = t(n/2) + t(n/5) + logn
t(n) = t(n/2) + t(n/5) + n^2
t(n) = t(n/2) + t(n/5) + n^1/2
我不知道要解决它们。
答案 0 :(得分:0)
我正在为你解决一个问题,
t(n) = t(n/2) + t(n/5) + n^2<br>Using recurrence tree<br>
(n)
/ \
(n/2) (n/5)----> (n/2)^2+(n/5)^2=(29/100)*n^2
/ \ / \
(n/2^2) (n/10) (n/10) (n/5^2)------>(n/4)^2+(n/10)^2+(n/10)^2+(n/25)^2=(29/100)^2*n^2
| | |
| | |
| | |
当n / 5 ^ k等于1时,这将结束
所以n/5^k=1 =>n=5^k => k=log(n) having base 5
k等级中的一些术语
n ^ 2(29/100 +(29/100)^ 2 + ... +(29/100)^ k)
这是GP所以它的总和是
n^2 * [1-(29/100)^log(n)]/[1-29/100]
[1-(29/100)^ log(n)] / [1-29 / 100]这个术语将小于1因此可以忽略,因此复杂性将 n ^ 2