使用主定理的算法成本

时间:2015-03-06 18:26:00

标签: algorithm master theorem

你好任何人都可以帮我解决这个问题

T(n)=T(n^(1/2)) + theta (lg lg n)

这是我到目前为止所做的 让

m = lg n
s(m)=s(m/2) + theta (lg m)

在这里应用主定理

a=1 b=2
m^log 2 (1) = m^0 =1 

现在卡住了。

2 个答案:

答案 0 :(得分:1)

你有:

a = 1, b = 2
f(m) = Ө(lg(m))

主定理的第二种情况适用于:

f(m) = Ө(m^c * lg^k(m))

其中:

c = log_b(a)

测试一下,我们有:

f(m) = Ө(lg(m)) = Ө(m^0 * lg(m)) 
-> c = 0
-> c = log_b(a) = log_2(1) = 0

所以第二种情况 适用。因此,复发的解决方案是:

T(m) = Ө(m^c * lg²(m)) = Ө(lg²(m))

代替m,我们回到

T(n) = Ө(lg²(lg(n)))

答案 1 :(得分:1)

首先,T(n)= T(n ^(1/2))+ theta(lg lg n)可写为

T(2 ^(2 ^ k))= T(2 ^(2 ^(k-1)))+ theta(k)。

将k = 1的上述等式聚合为d得到T(2 ^(2 ^ d))= theta(d ^ 2)。设n = 2 ^(2 ^ d),得到T(n)= theta((lg lg n)^ 2)。