Time complexity 条件为(j=i+;1)的嵌套循环的渐近分析

Time complexity 条件为(j=i+;1)的嵌套循环的渐近分析,time-complexity,big-o,Time Complexity,Big O,我正在试图理解本页上big O的示例: (i=0;i

我正在试图理解本页上big O的示例:

(i=0;i{ 对于(j=i+1;j
我不明白,如果
I=0
,为什么内部循环将运行
N
。如果
i=0
,则
j=1
,因此,内环的迭代次数应为
N-1
。我理解为什么这个循环的复杂性是
O(n^2)
。我不明白的是,为什么内部循环以迭代次数开始,而不是
N-1
Big-O
,因为这是
O(N^2)

外环是
O(n)
,内环是
O(n-1)

因此,有效时间复杂度是
O(n^(n-1))=O(n^2-n)

现在对于较大的
n
n^2
的值将显著高于
n
的值,并且净结果将取决于
n^2


因此,时间复杂度将为
O(n^2)

您的链接有轻微错误。实际上,内部循环从
N-1
迭代开始,而不是从
N
开始,但结果保持不变


从第一个错误开始,他们在每次迭代中都会错过1次。我猜他们忘了+1这个
j=i+1

谢谢。我明白为什么是O(n^2)。我不明白为什么在我上传的链接中,内部循环将以N开始运行,而不是N-1@EminMammadov他们有一个轻微的错误,但它不会改变结果。是的。我也这么想。谢谢,我理解其中的复杂性。我不明白为什么在我上传的链接中,内部循环以
N
开头,而不是
N-1
for (i = 0; i < N; i++) {
   for (j = i+1; j < N; j++) {
      sequence of statements }
}