问题描述
这里我有一个递归函数,我想用替代方法 (数学归纳法)解决这个问题(找到时间复杂度)。
?(?) = 2?(?/2) +1
在提到的问题中,我们的猜测应为Ω(log n)。实际上,我使用数学归纳法来证明 T(n)= O(n),然后因为 n =Ω(log n),所以 T(n )也是。但是我未能成功证明它正确。
我已经看到了之前要求的有关此功能的所有答案,但并未用Substitution Method解决。您能帮助我以这种方式证明这一点吗?
解决方法
您的策略是正确的。我们通过归纳证明T(n) = Theta(n)
。
我们假设w.l.o.g.初始条件T(n) = 1
。
归纳假设:T(n) = 2n - 1
。
基本情况:T(1) = 1 = 2 * 1 - 1
。
归纳案例:
T(n) = 2T(n/2) + 1
= 2 (2n/2 - 1) + 1 (inductive hypothesis)
= 2n - 1 (QED)
因此T(n) = Theta(n)
,然后从那里开始,例如T(n) = Omega(log n)
等