沒有人知道如何進行這種計算 示例:乘法和加入不同asymptotioc符號
O(n^2) + THETA(n) + OMEGA(n^3) = ?
或
O(n^2) * THETA(n) * OMEGA(n^3) = ?
一般而言,如何添加和乘以不同漸近符號?
沒有人知道如何進行這種計算 示例:乘法和加入不同asymptotioc符號
O(n^2) + THETA(n) + OMEGA(n^3) = ?
或
O(n^2) * THETA(n) * OMEGA(n^3) = ?
一般而言,如何添加和乘以不同漸近符號?
O
給出上限;
Ω
給出下限;
Θ
給出漸近結合;
Wikipedia有一個很好的圖表來解釋這些。
因此,這些確實在一般情況下不具可比性。
對於你的第一個案例,
O(n^2) + Θ(n) + Ω(n^3)
讓我們先來解決O
。第一項告訴我們O(n^2)
,第二項告訴我們O(n)
。基於這兩者,我們知道迄今爲止我們有一個上限爲O(n^2)
。然而,第三學期並沒有告訴我們任何關於上限的信息!所以我們真的不能對O
做出任何結論。
的這裏的一點是,O
和Θ
爲您提供了相關信息只O
,並Ω
和Θ
爲您提供有關Ω
只。這是因爲Θ(g(n))
意味着O(g(n))
和Ω(g(n))
,所以我們可以將Θ
更改爲O
和Ω
適用於給定的分析。
不過,三個人在一起,甚至只是O
和Ω
,讓你毫無頭緒,因爲既不O
也不Ω
暗示有關的任何其他。
你不能。假設你知道a > 0
和b < 10
。那麼你沒有關於a+b
的信息。它可能是任何東西。
Big-O和Big-Omega的功能相似。
雖然我的上述答案對於一般函數和邊界是正確的,但在計算機科學中,我們通常只考慮正函數。因此,在您的第一個示例中,我們有:
O(n^2) + Theta(n) + Omega(n^3) = Omega(1)+Theta(n)+Omega(n^3) = Omega(n^3)
這源於功能都爲正的假設。也就是說,所有功能都是Omega(1)
。
同樣,在問題中給出的乘法將是歐米茄(n^4)。 –
嗨Sławosz。你的問題非常模糊。你能否更具體地瞭解一下:1.你對結果感興趣; 2.你的問題的領域(漸近符號在一般代數和計算機科學中有不同的假設,我假設你的意思是CS,因爲你沒有寫[math.SE](http://math.stackexchange.com/) ),3.你喜歡執行的方程式(總是用那些樹部分?有限的原子量,或允許的O()的無限和等等)4.確保我們,我們談論實數? 5.你有興趣實現(O()?Omega()?)的結果? –
這裏是一個例子[如何O(n)+ O(n)可以混淆](http://stackoverflow.com/questions/6687105/question-about-big-o-and-big-omega)。正如我所要求的更多標準,我的意思是,保持常數O(n)+ O(n)= O(n)可能會導致某人進行歸納步驟O(n)+ O(n)+ ... = O(n ) , **哪裏不對**。原因(O(n))^ n = O(n^n)。所以**非常具體**需要在這裏避免混淆。 –