我很难理解这个 for 循环的复杂性
for (i = 4; i < n; i++)
{
for (j = i - 3, sum = a[i - 4]; j <= i; j++)
{
sum += a[j];
}
System.out.println("sum thru" + i + ": " + sum);
}
我在想这个嵌套循环的复杂度是 n^2,因为它是一个嵌套循环,但有人告诉我这是不正确的,嵌套循环并不总是二次复杂度!
我真的不知道如何以一种好的方式获得复杂性。我看过很多关于 Big-O 和复杂性的文章,但它们并没有帮助,因为他们希望我了解所有内容,而且它们的示例与我拥有的任何示例都不相同。
我不是要答案,我要的是方法。是否有任何公式或方法适用于本主题中的所有内容?我想知道如何获得分配的数量,但不幸的是我不知道如何做到这一点。
有人可以逐步向我解释吗?