下面這段代碼的漸近運行時間是多少?下面這段代碼的漸近運行時間是多少?
if (N % 2 == 0) // N is even
for (int i = 0; i < N; i = i+1)
for (int j = 0; j < N; j = j+1)
A[i] = j;
else // N is odd
for (int i = 0; i < N; i = i+1)
A[i] = i;
如果N是偶數,我們看到的運行時間爲O(n^2),N爲奇數時的運行時間爲O(n)。但我無法確定漸近的運行時間。
可能的答案是:
- 〜O(N)
- 〜爲O(n^2)
- 〜O(N * SQRT(N))
- 〜爲O(n日誌n)
**提示:**大O是一個上限。 – interjay
對於什麼是值得的,如果問題沒有指定一個嚴格的界限,你總是可以選擇最大的答案,它在技術上對於大O來說是正確的。 – kevmo314