我对解决这个时间复杂性问题很困惑。
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)
请有人解释一下。
答案 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)