2017-04-10 77 views
1

我試圖找到下面的函數的時間複雜度:平均時間複雜度環

for (int i = 0; i < arraySize; i++) { 
    for (int j = 0; j < arraySize; j++) { 
     if (array[j] < array[i]) { 
      //Do something 
     } 
     else if (array[j] == array[i]) { 
      //Do something else 
     } 
    } 
} 

我認爲這是O(n^2),但我不知道如何證明它。

回答

2

你是對的。它是O(n^2)。

經驗法則:簡單的程序可以通過計算程序的嵌套循環進行分析。在n項上的單個循環產生f(n)= n。循環內的循環產生f(n)= n^2。循環內循環內的循環產生f(n)= n^3。

您還可以查看下面的鏈接,

How to find time complexity of an algorithm

希望這有助於!