sum = 0;
for (int i = 0; i < N; i++)
for(int j = 0; j < i*i; j++)
sum++;
我不完全确定我的答案;我认为内循环运行i ^ 2操作,外循环运行N次,所以最终的答案是O(N ^ 3)?
答案 0 :(得分:3)
操作次数为sum = 1 + 4 + 9 + ... + N^2
。这是因为当i = 0
时,j
将自己增加0次。当i = 1
时,j
会自行增加一次。当i = 2
时,j
会自行增加4
次,依此类推。
此总和等于N(N + 1)(2N + 1)/6
,因此算法确实是O(N^3)
。你可以通过归纳法prove这个公式。
答案 1 :(得分:0)
对我而言(渐近)。