Recursion T(n)=T(n-1)+的计算复杂度;N

Recursion T(n)=T(n-1)+的计算复杂度;N,recursion,complexity-theory,Recursion,Complexity Theory,我必须计算T(n)=T(n-1)+n的计算复杂度和计算复杂度类。 我的问题是,我不知道有什么方法可以这样做,我唯一熟悉的是通用递归,它不适用于这个任务 T(0) = a T(n) = T(n-1) + n n T(n) --------- 0 a 1 T(1-1) + n = a + 1 2 T(2-1) + n = a + 1 + 2 3 T(3-1) + n = a + 1 + 2 + 3 ... k T(k-1) + n = a + 1 + 2 + .

我必须计算T(n)=T(n-1)+n的计算复杂度和计算复杂度类。 我的问题是,我不知道有什么方法可以这样做,我唯一熟悉的是通用递归,它不适用于这个任务

T(0) = a
T(n) = T(n-1) + n

n    T(n)
---------
0    a
1    T(1-1) + n = a + 1
2    T(2-1) + n = a + 1 + 2
3    T(3-1) + n = a + 1 + 2 + 3
...
k    T(k-1) + n = a + 1 + 2 + ... + k
                = a + k(k+1)/2
基于上述假设,猜测T(n)=O(n^2)。我们可以用归纳法证明它

基本情况:T(1)=T(0)+1=a+1=a+1


归纳假设:假设T(n)我投票结束这个问题,因为它不是一个编程问题。这是一个数学问题。这是一个通用的方法论吗?每次我看一些关于计算算法时间复杂度的视频时,方法是不同的,有时只是直观的。。。我在寻找一个可以推广的解决方案…@Bionix1441“归纳证明”是“一般性”的,因为它可以应用于你想证明的许多不同的事情。我们继续证明的生成“猜测”的方法是“一般”的,即您可以写出任何递归函数的一些项并查找模式。然而,对于证明一般递归函数的渐近界,还没有真正通用的方案。
T(k+1) = T(k) + k + 1 <= c*k^2 + k + 1
<= c*k^2 + 2k + 1          // provided k >= 0
<= c*(k^2 + 2k + 1)        // provided c >= 1
= c*(k+1)^2