【问题标题】:Solving Recurrence Relation解决递归关系
【发布时间】:2017-02-25 05:22:55
【问题描述】:

我现在正在学习递归关系。我知道;

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

我不知道如何解决它们。

【问题讨论】:

  • 这不是更适合cstheory吗?
  • 我为你解决了第三个问题。如果有帮助,请接受并点赞

标签: algorithm recurrence


【解决方案1】:

我正在为你解决一个,

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 =&gt;n=5^k =&gt; 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2021-12-17
    • 2011-07-20
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多