T(n-1)的时间复杂度

时间:2014-05-15 00:35:27

标签: algorithm data-structures big-o time-complexity

我对解决这个时间复杂性问题很困惑。

T(n) = T(n-1)

我知道快速排序最差的情况T(n) = T(n-1) + T(1) + n

评估为(n-1) + (n-2) + (n-3) + ... + 1&这个几何序列等于O(n^2)

然而。我在stackoverflow上看到了T(n) = T(n-1) + c = O(n)的答案。

如果这也等于(n-1) + (n-2) + (n-3) + ... + 1,等于O(n^2)

,这怎么可能?

请有人解释一下。

2 个答案:

答案 0 :(得分:6)

T(n) = T(n-1) + c不等于(n-1) + (n-2) + (n-3) + ... + 1,因为添加的术语是常量。基本上是:

什么都不添加:

T(n) = T(n-1)
0 + 0 + 0 + ... + 0 = 0
O(1)

添加常量:

T(n) = T(n-1) + c
c + c + c + ... + c = nc
O(n)

添加变量:

T(n) = T(n-1) + n
1 + 2 + 3 + ... + n = n(n+1)/2
O(n^2)

答案 1 :(得分:0)

T(n) = T(n-1) -> T(n-1) = T(n-2) --> T(n) = T(0)

哪个是0或O(1)