一尘不染

如何求解:T(n)= T(n-1)+ n

algorithm

我有以下解决方案:

T(n) = T(n - 1) + n = O(n^2)

现在,当我解决这个问题时,我发现界限非常松散。我做错了什么吗?


阅读 1934

收藏
2020-07-28

共1个答案

一尘不染

这样想:
在递归的每个“迭代”中,您都要进行O(n)工作。
每次迭代都有n-1个工作要做,直到n =基本情况为止。(我假设基本情况是O(n)的工作)
因此,假设基本情况是n的常数,则递归有O(n)个迭代。
如果每个O(n)工作有n次迭代,则O(n)* O(n)= O(n ^ 2)。
您的分析是正确的。如果您想了解有关解决递归的更多信息,请查看递归树。与其他方法相比,它们非常直观。

2020-07-28