algorithm - 这个特定算法的时间复杂度

标签 algorithm time-complexity

如果我要问的问题很明显,请原谅我,但我已经考虑了 2 个小时了!我就是想不通....

嗯,我有类似的东西:

for(int i=0;i<N;i++)
  for(int j=0;j<i;j++)

我当然可以说复杂度是 O(N+(N-1)+(N-2)...),但是这种类型有更简单的表示法吗?

谢谢

最佳答案

注意:

第一次交互:1次执行命令行

第二次交互:命令行的 2 次执行

...

第N次交​​互:N次执行命令行

= sum 1 + ... N= 等差数列和=(N/2)(1+N)

因此,O(N^2)。

关于algorithm - 这个特定算法的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21796144/

相关文章:

string - 将算法的大 O 表示法从 O(n^2) 改进为更好的东西

确定是否可以通过翻转矩阵的行和列来达到给定二进制矩阵的算法

algorithm - 来自一组区间的第 K 个最小值

algorithm - BST 和 Splay 树中 1...n 键的插入操作的复杂度是多少?

php - 如何在金字塔排名系统中获得挑战者

c++ - 优化网络图创建

algorithm - 检测图中是否存在负循环的最快算法

javascript - 为什么在执行递归回调时 .foreach 的行为与 for...of 不同?

algorithm - 找到通过 2D 平面中的点的最短路径

python - 列表查找比集合查找慢