2011-11-24 53 views
10

只需要確認一件真正快速的東西。 如果一個算法需要n(n-1)/2測試運行,那麼大哦O(n^2)大哦表示法

回答

15

N(N-1)/ 2膨脹到(n^2 -n)/2明顯更小的所有n>=1,即(n^2/2) - (n/2)

(n^2/2)(n/2)是這兩個功能組件,其中n^2/2占主導地位。 因此,我們可以忽略- (n/2)部分。

n^2/2您可以安全地刪除/ 2部分漸近符號分析。

這簡化了 n^2

所以,是的,它是在爲O(n^2)

5

是的,這是正確的。

n(n-1)/2擴展到n^2/2 - n/2

線性項n/2脫落,因爲它是低階的。這留下了n^2/2。常數被吸收到大O中,留下n^2

+0

感謝您的幫助! – Jay

+1

@Jay,你應該接受答案,如果你認爲這是滿足你的問題 – dgraziotin

3

是:

n(n-1)/2 = (n2-n)/2 = O(n^2) 
2

是的,它是。 n(n-1)/2(n^2 - n)/2,這比c*n^2如果你選擇一個c這是至少爲1