这种特定算法的时间复杂度

时间:2014-02-15 10:12:58

标签: algorithm time-complexity

请原谅我,如果我要问的是显而易见的,但我现在已经考虑了2个小时了!我只是想不出来......

嗯,我有类似的东西:

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

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

谢谢

2 个答案:

答案 0 :(得分:0)

从1到n的和等于n(n + 1)/ 2 = n * n / 2 + 1/2的渐近符号,它是O(n ^ 2) 其余应该清楚我猜

答案 1 :(得分:0)

请注意:

首次互动:1执行命令行

第二次互动:2次执行命令行

...

第N次互动:N次执行命令行

=和1 + ... N =算术级数之和=(N / 2)(1 + N)

因此,O(N ^ 2)。

相关问题