解决复发问题

时间:2010-02-10 04:37:15

标签: algorithm math recursion asymptotic-complexity

尝试使用递归树T(n) = 3T(n/3) + n/lg n.

来解决给定的递归问题

在第一级(n/3)/(log(n/3)) + (n/3)/(log(n/3)) + (n/3)/(log(n/3)) = n/(log(n/3))

在第二级,结果是n/(log(n/9))

我可以以n.loglogn

的形式概括上述等式

这是一个普遍的疑问,我需要对此有所了解。

注意: 在该函数k中必须为Theta(n^k log^k (n))的任何函数都应该> = 1。在这种情况下,k为-1,因此主定理不会进入图像

3 个答案:

答案 0 :(得分:7)

确实,Master定理不适用。

T(n)= 3T(n / 3)+ n / logn。

设g(n)= T(n)/ n。

然后n g(n)= 3 (n / 3)* g(n / 3)+ n / logn。

因此

g(n)= g(n / 3)+ 1 / log n。

这给出了g(n)= Sum 1 / log n + 1 / log n / 3 + 1 / log n / 9 + ...

= Theta(Sum 1 / logn + 1 /(logn -1)+ 1 /(log n - 2)+ ...)= Theta(积分1 / x在1和logn之间)= Theta(log log n )。

因此T(n)= n g(n)= Theta(n log logn。)

你猜对了。

答案 1 :(得分:4)

如果您使用树来显示问题,您会看到每个等级的总和是:

  • 排名0:

enter image description here

(等于n / log(n))   - 排名1:

enter image description here

依此类推,每个等级的总和为n/log(n/(3^i)),我是当前等级。所以,我们一起得到:

enter image description here

如果我们打开方程式,我们得到:

enter image description here

(从结束开始然后向后......首先当i = log(base3)n然后返回时)

由于日志基数在theta中无关紧要,我们得到:

enter image description here

是:

enter image description here

(西格玛):

enter image description here

这是一个谐波系列,等于:

enter image description here

并且由于ln是以e为基数的日志,并且日志基数在theta中无关紧要,我们最终得到:

enter image description here

等于:

enter image description here

所以,它是theta(n log log n)。

答案 2 :(得分:1)

T(n)=3T(⌊n3⌋)+2nlognn<=1 时具有基本条件 1 通过替换方法:

回答第 1 页 Answer Page 1

回答第 2 页 Answer page 2