我有一个递归关系,如下所示:
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)。我的解决方案是否有任何错误?
答案 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),我们就完成了。所以是的,数学检查出来了。
希望这有帮助!