繁体   English   中英

计算代码中的比较次数

[英]Counting number of comparisons in code

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

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

        junk = junk + 1;

我需要确定执行的<操作次数和N之间的关系。我应该给出一个确切的答案,例如27N + 18。

任何帮助表示赞赏! 谢谢

对于第一个循环,如您所见,我从 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

这意味着,运算符“<”执行了 1 和 2 的和。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM