我对这种复发的替代解决方案是否正确?

时间:2013-03-07 11:51:27

标签: math complexity-theory big-o recurrence master-theorem

我有一个递归关系,如下所示:

T(e n )= 2(T(e n-1 ))+ e n ,其中e是自然对数。

为了解决这个问题并找到一个Θ界限,我尝试了以下内容:我把k = e n ,等式变换为:

T(K)= 2T(K / E)+ K

然后,我尝试使用主定理。根据主定理,a = 2,b = e> 2且f(k)= k。因此,对于某些ε> 0,我们得到f(k)=Ω(n log b a +ε)的情况,因此我们得到T(k)=Θ (F(k))的=Θ(k)的。然后把k = n,我们得到T(n)=Θ(n)。我的解决方案是否有任何错误?

1 个答案:

答案 0 :(得分:1)

让我们一步一步完成这一步。

您有重复发生

  

T(e n )= 2 T(e n-1 )+ e n

现在,让我们做一个变量替换。定义k = e n 。然后我们得到

  

T(k)= 2T(k / e)+ k

在这种情况下,使用主定理,我们得到a = 2,b = e,f(k)= k。由于logb a = ln 2< 1和f(k)=Θ(k),根据主定理,递推求解为S(k)=Θ(k)。

如果我们现在设置k = n',其中n'是函数的实际输入,那么我们得到T(n')=Θ(n),我们就完成了。所以是的,数学检查出来了。

希望这有帮助!