不使用主定理的递归关系

时间:2014-07-06 23:58:22

标签: series recurrence

我可以使用主定理轻松解决一些递归关系,但我想了解如何使用定理解决它们

EX:

T(n) = 5T(n/2) + O(n)  T(1) =1

答案:O(n^{log_2(5)}

扩展,

T(n) = 5T(n/2) + cn = 5(5T(n/4) + c(n/2)) + cn =



..... = 5^i * T(n/(2^i)) + cn*(1 + (5/2) + (5/2)^2 +......+ (5/2)^i)

Now let i= log_2(n)

然后

5^(log_2(n)) * T(1) + cn*(1 + (5/2) + (5/2)^2 +......+ (5/2)^(log_2(n)))

在此之后我迷失了。如何获得与n^{log_2(5)类似的内容?

更新: 使用几何级数之和的公式(Sum = a *(1-r ^ n)/(1-r))

我得到Sum = 1*(1-(5/2)^{log_2(n)})/(-3/2) = 2/3*c*(5^{log_2(n)} - n

5^{log_2(n)}n^{log_2(5)}如何相关? 谢谢:D

1 个答案:

答案 0 :(得分:0)

我没有检查你的剩余计算,但请注意

a^b = exp(b * ln(a))

log_b(a) = ln(a) / ln(b)

因此

5^{log_2(n)} = exp(log_2(n) * ln(5)) = exp(ln(n) / ln(2) * ln(5))

以及

n^{log_2(5)} = exp(ln(5) / ln(2) * ln(n))