Time complexity 递推T(n)=2T(n-1)+;1.
我对这一点完全陌生,所以一步一个脚印会非常有帮助,谢谢。首先,你可以从开始了解它的行为Time complexity 递推T(n)=2T(n-1)+;1.,time-complexity,big-o,Time Complexity,Big O,我对这一点完全陌生,所以一步一个脚印会非常有帮助,谢谢。首先,你可以从开始了解它的行为 T(n) = 2T(n-1) + 1 = = 2*(2T(n-2) + 1) + 1 = 4T(n-2) + 3 = 4(2T(n-3) + 1) + 3 = 8T(n-3) + 7 = 8*(2T(n-4) + 1) + 7 = 16T(n-4) + 15 = 16*(2T(n-5) + 1) + 15 = 32T(n-5) + 31 现在,我们了解了行为,我们就
T(n) = 2T(n-1) + 1 =
= 2*(2T(n-2) + 1) + 1 = 4T(n-2) + 3
= 4(2T(n-3) + 1) + 3 = 8T(n-3) + 7
= 8*(2T(n-4) + 1) + 7 = 16T(n-4) + 15
= 16*(2T(n-5) + 1) + 15 = 32T(n-5) + 31
现在,我们了解了行为,我们就可以知道了
T(n) = 2^i * T(n-i) + (2^i - 1)
现在,我们需要使用base子句(这里没有给出),并为i=n
提取。例如,如果T(0)=0
:
T(n) = 2^n * T(0) + (2^n - 1) = 2^n - 1
当计算渐近复杂性时,这是在O(2^n)中
注意:迭代方法很好,也很容易遵循,但它不是一个正式的证明。要正式证明复杂性,您需要另一种工具,如归纳法。这是否回答了您的问题?非常感谢你!