嵌套for循环的时间复杂度是多少?

时间:2014-03-26 14:42:23

标签: time-complexity

案例1

for (i = 1; i < n; i++)
   for (j = i; j < n; j++)

案例2

for (i = 1; i < n; i++)
   for (j = 1; j < i; j++)

这两种情况之间的大O符号的时间复杂度是否存在差异?

2 个答案:

答案 0 :(得分:1)

对于第一种情况,您将进行(n-1)+(n-2)+(n-3)+...+1次迭代。此总和等于

(n-1)*n/2 = O(n^2).

对于第二种情况,您将进行n*n次迭代。所以在第二种情况下我们有O(n^2)

所以他们都是O(n^2)

答案 1 :(得分:0)

我认为案例1和案例2的运行时间完全相同。

案例1:

enter image description here

案例2:

enter image description here