[英]Big O Complexity for nested loop
for (i = 0; i < 2*n; i += 2)
{
for (j=n; j > i; j--)
//some code that yields O(1)
}
我以為上面的代碼會產生n*log(n)
但是我看到另一個消息來源說,對於大哦,這確實是n^2
復雜性。 請向我解釋這是什么,以及將來如何解決此類問題。
您有一個依賴於n
的循環,並且在該循環內有另一個也依賴於n
循環,因此,結果O為O(n*n)
即O(n^2)
。
Big O僅提供算法增長率的上限 。 因此,所有恆定因子均被丟棄。
由於Big O用於上限,因此N * N將始終<= N ^ 2,從而得出O(N * 2)。 答案是正確的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.