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感谢提供讲义。干杯