2014-03-25 102 views
-7

我如何找到答案? 即使是大O也足夠了。我發現的所有線索都是複雜的數學思想。任何幫助?答案是:n! =Θ()?

什麼是解決這一問題的正確的做法?遞歸樹似乎太多工作

目標爲n之間進行比較的!和n^LOGN

+2

咦? 'N! =Θ(n!)'。你是否正在尋找其他方式來說「n!」? – Sneftel

+0

'O(n!)'是個不好的答案嗎?你也不能說一個函數等於'O',因爲'O'表示一類函數,並且這種相等是無意義的。說屬於更合理。 – luk32

+0

@ luk32「=」在這裏非常常用。根據[維基百科](http://en.wikipedia.org/wiki/Big_O_notation) - 「請注意」=「不是用來表示」在其正常數學意義上等於「,而是更通俗」是「」。 – Dukeling

回答

3

Θ(n!)是完全正常的,有效的複雜性,所以n! = Θ(n!)

正如尼古拉斯指出的那樣,這是每一個功能實際上是真的,但是,這樣的事情
6x² + 15x + 2,你可以Θ(6x² + 15x + 2),但它通常是首選簡單地寫Θ(x²)來代替。


如果要比較兩個功能,簡單地繪製它WolframAlpha可能被視爲足以看出Θ(n!)功能的增長更快。

在數學上確定的結果,我們可以採取雙方的log,使我們log (n!)log nlog n = log n . log n = (log n)2

然後,由於log(n!) = Θ(n log n)n log n > (log n)2對於任何大的n,我們可以推導出Θ(n!)增長更快。這個派生可能不是微不足道的,我略微不確定它是否真的有可能,但是我們已經超出了Stack Overflow的範圍(如果你想了解更多細節,請試試the Mathematics site)。

+2

事實上,對於每一個函數:'f(n)=Θ(f(n))',而不管* f *是什麼。 –

+0

這感覺就像一個沒有答案。 –

+0

@G。巴赫其實有些同意,但是,雖然問題是問問題,但這是答案(儘管如果這個問題最終被刪除,我不能說我會特別惱火)。如果問題被改變*以詢問如何比較兩個給定的函數,那麼它應該作爲偏離主題來關閉,因爲它屬於[math.se]。 – Dukeling

0

如果你想要某種「封閉形式」表情,就可以得到N! =Ω((sqrt(n/2))^ n)和n! = O(n^n)。請注意,這些更有用。

爲了得到他們,看到(N/2)^(N/2)< N! < n^n。

比較與n的^(log n)的,使用限制規則;你可能也想使用n = e ^(log n)。