簡體   English   中英

運行時間計算

[英]The Running Time Calculation

我對for循環的運行時間計算有疑問。

這是《 Java中的數據結構和算法分析》一書的“ 2.4.1簡單示例”中說明的示例。 作者是馬克·艾倫·韋斯。 這是第36頁。

這些書說:“第2行具有初始化i,測試i≤N以及遞增i的隱性成本。所有這些的總成本為1進行初始化,N + 1對於所有測試,N對於所有增量,這是2N +2。” 第2行是for( int i = 1; i <= n; i++ ) 我想知道為什么所有測試i≤N的代碼都是N + 1。我覺得應該是N,因為測試i≤N花費了N次。我一定是錯的,但是我想知道為什么。

public static int sum( int n )
{
    int partialSum;
    partialSum = 0;
    for( int i = 1; i <= n; i++ )
        partialSum += i * i * i;
    return partialSum;
}

謝謝!

您是正確的,該循環僅運行N次,但請記住,我會遞增並檢查每個循環。 因此,一旦循環運行了N次,它就必須再檢查1次以查看是否需要再次運行循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM