簡體   English   中英

證明函數的時間復雜度為O(n^3)

[英]Prove that the time complexity of a function is O(n^3)

    public void function2(long input) {
    long s = 0;

    for (long i = 1; i < input * input; i++){
        for(long j = 1; j < i * i; j++){
            s++;
        }
    }
} 

我很確定這個函數的時間復雜度是 n^3,但是如果有人可以對此進行逐行解釋,那就太好了。

首先,如果你寫O(n^3)類的東西,你需要定義n是什么,否則它沒有任何意義。 假設ninput的值(而不是例如位長),所以n = input

外循環有k次迭代,其中k = n^2 內部循環有1^22^23^2 、... 最多k^2次迭代,所以總結所有你得到O(k^3)次迭代(因為p冪的總和前m整數總是O(m^(p+1)) )。

因此,整體時間復雜度為O(n^6)

暫無
暫無

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

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