如何用替代方法求解??=2??/ 2+1

问题描述

这里我有一个递归函数,我想用替代方法 (数学归纳法)解决这个问题(找到时间复杂度)。

?(?) = 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)