计算代码中的比较次数

时间:2015-10-03 19:44:37

标签: java count comparison relationship operations

for(int i = 0; i < N * N; i = i + 1)

    for(int j = 1; j < i + 1; j = j + 1)

        junk = junk + 1;

我需要确定&lt;&lt;执行的操作和N.我应该给出一个确切的答案,例如27N + 18。

任何帮助表示赞赏!感谢

1 个答案:

答案 0 :(得分:1)

对于第一个循环,如您所见,我从0开始并转到N ^ 2 -1

1)这意味着N ^ 2 + 1次。

对于每一个i,内部循环从1开始到N ^ 2

2)1 + 2 + 3 ...(N ^ 2)= N ^ 2 *(N ^ 2 +1)/ 2 =(N ^ 4 + N ^ 2)/ 2

这意味着,运营商“&lt;”执行总和1和2.

N ^ 2 + 1 +(N ^ 4 + N ^ 2)/ 2 = (N ^ 4 + 3N ^ 2 + 2)/ 2

                      = **(N^2 + 2) (N^2 + 1) / 2**