解决递归关系

时间:2017-02-25 05:22:55

标签: algorithm recurrence

我现在正在学习复发关系。我知道;

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

我不知道要解决它们。

1 个答案:

答案 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