这个递归关系可以使用主定理吗?

时间:2012-09-24 02:38:43

标签: algorithm analysis

我解决了我的作业问题,我使用了递归树。

但是解决方案说这种递归关系可以通过主定理来解决!

T(N)= 49T(N / 25)+ n ^(3/2)log(n)

我解决了n ^(3/2)log ^ 2(n)

但是解决方案说n ^(3/2)log(n)

我不知道为什么这种情况可以使用主人定理并且它是正确的。

1 个答案:

答案 0 :(得分:2)

我们可以看到a=49b=25。请注意log_b(a) ~ 1.23/2 = 1.5。因此,log_b(a) < 3/2。因此,我们可以看到f(n) = n^{3/2}log(n) = Omega(n^{log_b(a) + epsilon})对于某些epsilon,因此主定理的情况3适用。因此,运行时间是

T(n) = Theta(f(n)) = n^{3/2}log(n)

注意:您还必须检查

af(n/b) <= cf(n)

表示常量c。当然

49 (n/25)^{3/2} log(n/25) <= c n^{3/2}log(n)

可以通过将n^{3/2}两边除以然后从两边减去c log(n)来检查

(49/25^{3/2} - c) log n - 49/25^{3/2} log(25) <= 0

至少对于c > 49/25^{3/2}来说这是肯定的(不需要这么做)。