私はこの再発を見ていて、正しいアプローチを取っているかどうかを確認したかった.
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)
したがって、答えは n^(1/2) のシータ境界になります。
私はこの再発を見ていて、正しいアプローチを取っているかどうかを確認したかった.
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)
したがって、答えは n^(1/2) のシータ境界になります。
ヒント: n = 22mまたは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)=Θ(log2 log 2 n)
一般的な場合に拡張します。
T(n)= T(n / 2)+ 1のような再帰では、各反復で、木の高さを半分に減らします。これはΘ(logn)につながります。ただし、この場合、入力数を2の累乗(2ではなく)で割ると、Θ(log log n)になります。