Java 如何找到这个嵌套for循环的复杂性?

Java 如何找到这个嵌套for循环的复杂性?,java,algorithm,for-loop,time-complexity,Java,Algorithm,For Loop,Time Complexity,我对这个for循环有点困惑。给定一个数字n,我们必须找出指令执行的次数 int j = 0; for(int p = 0; p < n*n; p++ ) { for(int q = 0; q < p; q++ ) { j++; } } 我的答案在^4上。这个答案正确吗?您可以为时间复杂度Tn=sum{p=1}{n^2}sum{q=1}{p}1=sum{n^2}p=1+2+3+…+编写相关的sigman^2=n^2n^2+1/2=θ^4。因此,

我对这个for循环有点困惑。给定一个数字n,我们必须找出指令执行的次数

int j = 0;
for(int p = 0; p < n*n; p++ )
{
    for(int q = 0; q < p; q++ )
    {
        j++;
    }
}

我的答案在^4上。这个答案正确吗?

您可以为时间复杂度Tn=sum{p=1}{n^2}sum{q=1}{p}1=sum{n^2}p=1+2+3+…+编写相关的sigman^2=n^2n^2+1/2=θ^4。因此,您的答案对于说明的数量是正确的。

您确定吗?内部for循环不会固定执行n次,但是q@AlbertoPoljak检查等式。这有什么问题吗?这是我感到困惑的地方,因为如果它更小或相等,我肯定它在^4上。@Indriti没有任何区别!指示的数量是个问题。所以,p从0到小于n^2,有n^2个数!注意p和q是从0开始的。谢谢,这非常有帮助。