For loop 1 for循环内2 for循环的复杂性 for(int i=1;i
所以你的第一个猜测是非常正确的。For loop 1 for循环内2 for循环的复杂性 for(int i=1;i,for-loop,time-complexity,big-o,complexity-theory,space-complexity,For Loop,Time Complexity,Big O,Complexity Theory,Space Complexity,所以你的第一个猜测是非常正确的。for(i)的外部将进行n^2次迭代。while在这种情况下可以忽略(你可以使用n^2作为非常粗略的上界)所以你有n^2 x n^2,这就是你的n^4。是k-而嵌套在j-中的?不,不,就像我没有,但是括号,因为如果没有,它只会占据下一件事的第一件事。所以即使没有时间,我仍然会有n^4?这是可疑的,因为k=k*2通常意味着它是一个logn复杂性,我相信是因为它它比j-for的复杂度小得多。所以你们的意思是,当i=n*n时,j的最大值是n^2/2,但不考虑1/2,所以
for(i)的外部将进行n^2次迭代。while
在这种情况下可以忽略(你可以使用n^2作为非常粗略的上界)所以你有n^2 x n^2,这就是你的n^4。是k-而
嵌套在j-中的
?不,不,就像我没有,但是括号,因为如果没有,它只会占据下一件事的第一件事。所以即使没有时间,我仍然会有n^4?这是可疑的,因为k=k*2通常意味着它是一个logn复杂性,我相信是因为它它比j-for的复杂度小得多。所以你们的意思是,当i=n*n时,j的最大值是n^2/2,但不考虑1/2,所以它将保持n^4,这是合理的O(log(n)*n)?它们是嵌套的
for(int i=1;i<=n*n;i++)
{
for(int j=1;j<=i/2;j++)
{
s=s+i+j;
}
k=1;
while(k<j)
{
s=s+k;
k=k*2;
}
}