Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 再发生T(n)=T(n^(1/2))&x2B;1._Algorithm_Math_Big O_Analysis_Recurrence - Fatal编程技术网

Algorithm 再发生T(n)=T(n^(1/2))&x2B;1.

Algorithm 再发生T(n)=T(n^(1/2))&x2B;1.,algorithm,math,big-o,analysis,recurrence,Algorithm,Math,Big O,Analysis,Recurrence,我一直在关注这一事件,想看看我是否采取了正确的方法 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=log2log2n,你知道22m-1*22m-1=22m,那么,如果你定义S(m)=T(n),你的S将是: S(m)=S(m-1)+

我一直在关注这一事件,想看看我是否采取了正确的方法

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=log2log2n,你知道22m-1*22m-1=22m,那么,如果你定义S(m)=T(n),你的S将是:

S(m)=S(m-1)+1→ S(m)=Θ(m)→ S(m)=T(n)=Θ(log2log2n)

将其扩展到一般情况


在像T(n)=T(n/2)+1这样的递归中,在每次迭代中,我们将树的高度减少一半。这导致Θ(logn)。然而,在本例中,我们将输入数除以2的幂(不是2),结果是Θ(logn)。

以下是如何在没有任何提示的情况下找到答案,只需使用数学

开始展开递归:

递归将在某个点停止,因此我们必须找到一个合理的停止点。尝试0、1、2,您可以看到2看起来不错,因为您可以轻松地求解以下等式:

解决它,你会得到

因此递归将继续
log(log(n))
次,这是您的时间复杂性


p.S.解决了一点更难的递归问题。

使用Wolphram Alpha。这意味着递归树的高度是log log n?是的,确切地说是log log n(在基数2中),事实上sqrt以2的幂减少值(不是两倍)。我喜欢用你的答案学习,我希望有一天我能达到10公里以上的积分,从而与您合作,先生+1对于那些难以理解LOGN部分的人,可以帮助您。@snr感谢提供讲义。干杯