for循环的复杂度

Complexity of for loop

我在网上找到了这个:

for (i=1; i<=n*n; i++)
    for (j=0; j<i; j++)
        sum++;

执行 sum++ 的确切次数:

Sum{i=1, i=n^2}= (n^2)*((n^2)+1)/2 ∈ Θ(n^4)

报价结束。

虽然我同意这个结果,但在我看来这只考虑了第一个循环,即 i 上的循环,而不是 j 上的循环。换句话说,在数学上我们会得到与代码相同的结果:

for (i=1; i<=n*n; i++)
    sum++;

即,仍然:Sum{i=1, i=n^2}= (n^2)*((n^2)+1)/2 ∈ Θ(n^4) 虽然这段代码显然是 Θ(n^2)(它恰好运行了 n^2 次)

有人能解释一下我错过了什么吗?

没有 j 它将是 Count{i=1, i=n^2},而不是 Sum{i=1, i=n^2},因此它将推导出 n*n

假设在递增值的同时执行了恒定数量的操作 c