2014-03-03 103 views
-1

我有我的考試這個問題,我無法弄清楚: 計算大O以下:大O計算混淆

1)

for i = 0 to n  // n - 0 + 2 = (n+2) 
    for j = 0 to m // m - 0 + 2 = (m+2) 
    x = x + 1 

所以沒有答案變得(n + 2)(m + 2)與O(nm)作爲bigO?

回答

0

肯定。

你有2個循環。所以你有O(外*內)。外循環執行約n次。內循環執行回合m次。

所以O(nm)爲適當。

1

是O(nm)的

我不認爲你最初的數學是正確的,雖然

,因爲你有(n+1)(m+1)但你展開此之後,你會得到類似m*n+m+n+1 並自m * n個在這裏你會得到最高的秩序O(m*n)

1

所以答案成爲(n + 2)(m + 2)與O(nm)作爲bigO?

爲什麼n + 2?這將是n + 1個如果0到n包含Ñ,或者這將是Ñ,如果Ñ是排他性的。因此運行時間將我(N + 1)第(m + 1)(nm)的

然而,O(nm)的將是在所有情況下。