time-complexity - n + n-1 + n-2 + n-3 +(…)+ 1的Big-O复杂度

标签 time-complexity big-o

我想知道..从n个元素开始的算法的复杂性是什么(我会做任何事情)。我取下一个元素,然后再做一次。.我取下另一个元素,然后再做一次,直到只剩下一个元素。
是O(n log n)吗?我无法想象...

最佳答案

据说著名的数学家Gauss在上小学时就找到了解决这个确切问题的公式。正如@Henry在评论中提到的那样:
enter image description here

资料来源:Wikipedia

当完成每个条目的工作时,即每个“项目”都需要O(1)。因此,问题出在O(n ^ 2)中。

可视化效果(也称为Wikipedia)可以看作是半填充的正方形:
enter image description here

关于time-complexity - n + n-1 + n-2 + n-3 +(…)+ 1的Big-O复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252596/

相关文章:

c - 如何计算算法的运行时间?

algorithm - 递归算法中的基本情况和时间复杂度

c++ - 使用队列和堆栈将中缀转换为后缀的运行时间是多少?

algorithm - big-O 中的运行时间分析

algorithm - O(n^2) 是否大于 O((n^2)logn)

java - 降低双线性插值的时间复杂度

java - 查找数组数组的笛卡尔积的时间复杂度

algorithm - 算法的最坏情况时间复杂度

performance - 计算程序的运行时间和空间

algorithm - 逻辑矩阵如何有效地找到具有真值的行/列