簡體   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