如何用递归树求解T(n)= T(n-2)+ T(2)+ n

时间:2016-10-03 15:17:24

标签: algorithm recursion tree

我想找到涉及重现的算法的复杂性:

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

T(n)是解决大小为n的问题所花费的时间。我想使用递归树,但我的问题是T(2),我们可以认为T(2)将由T(n-2)支配。

1 个答案:

答案 0 :(得分:2)

假设您从

开始

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

然后

T(n)=

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

T(n - 4)+ 2T(2)+ n +(n - 2)=

T(n - 6)+ 3T(2)+ n +(n - 2)+(n - 4)=

...

T(k)+Θ(n)T(2)+Σ i = n,n - 2,...,k [i]

其中 k 是常量。

在最后一个表达式中,

T(2)是常数,因此Θ(n)T(2)=Θ(n)。还

Σ i = n,n - 2,...,k [i] =Θ(n 2 ,因为它是算术系列。

总而言之, T(n)=Θ(n 2