Recurrence 递推关系:T(n)=T(n/2)和#x2B;N
大家好,我正试图通过伸缩来解决下面的递归关系,但我被困在最后一步Recurrence 递推关系:T(n)=T(n/2)和#x2B;N,recurrence,Recurrence,大家好,我正试图通过伸缩来解决下面的递归关系,但我被困在最后一步 T(N) = T(N/2) + N T(1)=0 T(N/2) = T(N/4) + N/2 T(N/4) = T(N/8) + N/4 ... T(2) = T(1) + 2 T(N)= T(1) + N + N/2 + N/4 我认为答案是nlogn,但我不知道如何将上述解释为nlogn。我可以看到我正在执行logn步骤,但是n来自哪里?答案不是nlogn,而是n T(1)=0 T(N)=T(N/
T(N) = T(N/2) + N T(1)=0
T(N/2) = T(N/4) + N/2
T(N/4) = T(N/8) + N/4
...
T(2) = T(1) + 2
T(N)= T(1) + N + N/2 + N/4
我认为答案是nlogn,但我不知道如何将上述解释为nlogn。我可以看到我正在执行logn步骤,但是n来自哪里?答案不是nlogn,而是n T(1)=0 T(N)=T(N/2)+N T(N/2)=T(N/4)+N/2 T(N/4)=T(N/8)+N/4 ... T(2)=T(1)+2 在伸缩展开式中有完全对数(N)的陈述 现在通过望远镜对消 我们有T(N)=T(1)+N+N/2+N/4+N/8+…+2 T(1)=0 T(N)=N+N/2+二, 这是一个带有对数(n)项的几何级数,每个项减半 T(N)=N[1-(1/2)^log(N)]/(1/2) T(N)=2N[1-1/N] T(N)=2N-2
所以答案是O(N)。你们做的每件事都绝对正确,但并没有找到一个总数。你得到:
n+n/2+n/4+…
,它等于n*(1+1/2+1/4+…)
您得到的和等于2
。因此,您的总和是2n
。因此复杂性是O(n)
p.S.这不是所谓的伸缩。数学中的伸缩是指随后的项相互抵消。难道(1)不应该是1吗?