fts*_*k33 8 algorithm math big-o recurrence analysis
我一直在看这个重复,并想检查我是否采取了正确的方法.
T(n) = T(n^(1/2)) + 1
= T(n^(1/4)) + 1 + 1
= T(n^(1/8)) + 1 + 1 + 1
...
= 1 + 1 + 1 + ... + 1 (a total of rad n times)
= n^(1/2)
Run Code Online (Sandbox Code Playgroud)
所以答案将达到n ^(1/2)的θ界限
提示:假设n = 2 2 m或m = log 2 log 2 n,你知道2 2 m-1*2 2 m-1 = 2 2 m所以,如果你定义S(m)= T(n)你的S将是:
S(m)= S(m-1)+1→S(m)=Θ(m)→S(m)= T(n)=Θ(log 2 log 2 n)
为一般情况扩展它.
在递归中,如T(n)= T(n/2)+ 1,在每次迭代中,我们将树的高度减半.这导致Θ(logn).但是,在这种情况下,我们将输入数除以2的幂(而不是2),因此结果为Θ(log log n).