如何计算递归函数的上界时间复杂度(“大O”)?

时间:2013-11-29 03:43:34

标签: algorithm time-complexity asymptotic-complexity

假设我有一个递归函数T,我想计算这个函数的上限定时器复杂度。

T(1)= 3

T(n)= 3T(n / 3)+ 3.

如何找到T(n)的时间复杂度的上限?

2 个答案:

答案 0 :(得分:2)

使用master theorem案例formula,其中a = 3,b = 3,c = 0。

solution

我强烈推荐麻省理工学院的算法讲座。您可以在lecture 2

中了解有关Master定理的更多信息

答案 1 :(得分:0)

假设,n = 3 ^ k

F(0)= 3

F(k)= 3 * F(k-1)+ 3

 = 3^2 * F(k-2) + 3^2 + 3

 = ...

 = 3^k * F(0) + 3^k + 3^(k-1) + ... + 3

 = 3^(k+1) + 3^k + ... + 3^2 + 3

 = [3^(k+2) - 3] / 2

T(n = 3 ^ k)= F(k)=(9 * n - 3)/ 2 = O(n)