How to solve this recurrence relation: T(n) = 4*T(

2019-01-28 23:49发布

I know how to solve the recurrence relations using Master Method. Also I'm aware of how to solve the recurrences below:

T(n) = sqrt(n)*T(sqrt(n)) + n

T(n) = 2*T(sqrt(n)) + lg(n)

In the above two recurrences there is same amount of work at each level of the recursion tree. And there are a total of log log n levels in the recursion tree.

I'm having trouble in solving this one: T(n) = 4*T(sqrt(n)) + n

EDIT: Here n is a power of 2

3条回答
乱世女痞
2楼-- · 2019-01-29 00:36
   T(n) = 4 T(sqrt(n)) + n
   4 [ 4 T(sqrt(sqrt(n) + n ] + n
   4^k * T(n^(1/2^k)) +kn because n is power of 2.
   4^k * T(2^(L/2^k)) +kn   [  Let n = 2^L , L= logn]
   4^k * T(2) +kn   [  Let L = 2^k,  k = logL = log log n]
   2^2k * c +kn
   L^2 * c + nloglogn 
   logn^2 * c + nloglogn
   = O(nloglogn)
查看更多
地球回转人心会变
3楼-- · 2019-01-29 00:37

Suppose that n = 2^k. We have T(2^k) = 4*T(2^(k/2)) + 2^k. Let S(k) = T(2^k). We have S(k) = 4S(k/2) + 2^k. By using Mater Theorem, we get S(k) = O(2^k). Since S(k) = O(2^k) and S(k) = T(2^k), T(2^k) = O(2^k) which implies T(n) = O(n).

查看更多
The star\"
4楼-- · 2019-01-29 00:49

I'm having trouble in solving this one: T(n) = 4*T(sqrt(n)) + n

EDIT: Here n is a power of 2

This edit is important. So lets say that the recurrence stops at 2.

So the question now is how deep the recursion tree is. Well, that is the number of times that you can take the square root of n before n gets sufficiently small (say, less than 2). If we write

n = 2lg n

then on each recursive call n will have its square root taken. This is equivalent to halving the above exponent, so after k iterations we have that

n1/(2k) = 2lg n/(2k)

We want to stop when this is less than 2, giving

2lg n/(2k) = 2

lg n/(2k) = 1

lg n = 2k

lg lg n = k

So after lg lg n iterations of square rooting the recursion stops. (source)

For each recursion we will have 4 new branches, the total of branches is 4 ^ (depth of the tree) therefore 4^(lg lg n).

EDIT:

enter image description here

Source

查看更多
登录 后发表回答