用Master定理求解递归关系?

时间:2016-04-10 01:29:00

标签: algorithm data-structures recurrence master-theorem

有人可以再澄清一下这个解决方案吗?

T(n)= 2T(n ^ 1/2)+ log n

解决方案:

设k = log n,

T(n)= T(2 ^ k)= 2T(2 ^(k / 2))+ k

将等式代入S(k)= T(2 ^ k)

我们得到了

S(k)= 2S(k / 2)+ k

现在,这个递推方程允许我们使用主定理,它指定

S(k)是O(k log k)。代替T(n)意味着T(n)是O(log n log log n)

1 个答案:

答案 0 :(得分:1)

你可以将n除以2分多少次? Log_2(n)次。因为Log_2(n)是你需要提高2的能力,才能得到n。

此外,loglog(n)是你可以取n的平方根的次数,所以如果你知道的话,也许这种替换不是必需的。