我正试图找到上限和下限,可能是O(2 ^ n)
对于n <= 4 ,T(n)= 1我知道一般的器官是:
T(n)= T(n / 2 ^(i + 1))+从i = 0到k的总和为2 ^(n / 2 ^ i)
从这里我不知道如何继续..
答案 0 :(得分:3)
您的符号存在一些问题。一般机关应该是:
T(n) = T(n/2^(i+1)) + sum from k=0 to i of 2^(n/2^k)
完成此步骤后,我们允许i = log(2, n) - 1
,以便T(n/2^(i+1)) = T(1)
。
因此,T(n) = T(1) + sum from k = 0 to (log(2, n) - 1) of 2^(n/2^k)
。
请注意,sum from k = 0 to (log(2, n) - 1) of 2^(n/2^k)
为2^n + 2^(n/2) + 2^(n/4) + ...
,小于2^n + 2^(n-1) + 2^(n-2) + ...
。但是,后一种东西是2^(n+1) - 1
。所以以前的东西是2^n
和2^(n+1)
之间的东西。因此,总和为O(2^n)
。
然后T(n) = O(2^n)
。