Big o 大O运行时间分析(用于循环) sum=0; 对于(i=0;i

Big o 大O运行时间分析(用于循环) sum=0; 对于(i=0;i,big-o,complexity-theory,Big O,Complexity Theory,(1+2+…+((m-1)^2-1)+(m-1)^2)=(m-1)^2*((m-1)^2+1)/2=O(m^4)正确吗?如果没有,你能帮我找到真正的解决方案并回答吗?这里是我们的答案 sum = 0; for (i = 0; i < m; i++) for (j = 0; j < i*i; j++) for (k = 0; k < j; k++) sum++; 这是O(m^5)根据 看起来您只计算了外循环最后一次迭代的结果 是Wolfram

(1+2+…+((m-1)^2-1)+(m-1)^2)=(m-1)^2*((m-1)^2+1)/2=O(m^4)正确吗?如果没有,你能帮我找到真正的解决方案并回答吗?

这里是我们的答案

sum = 0;
for (i = 0; i < m; i++)
   for (j = 0; j < i*i; j++)
      for (k = 0; k < j; k++)
         sum++;
这是
O(m^5)
根据

看起来您只计算了外循环最后一次迭代的结果

是Wolfram Alpha的精确计算,它再次证明了
O(m^5)
结果

sum(i=0..m, sum(j=0..i^2, sum(k=0..j, 1))) =
= sum(i=0..m, sum(j=0..i^2, j)) =
= sum(i=0..m, i^2*(i^2 - 1)/2) =
= sum(i=0..m, (i^4 - i^2)/2) =
= sum(i=0..m, (i^4 - i^2))/2