[英]Is O((log n)!) polynomial?
我想找到O((log n)!)
。 我認為O((log n)!)
和O(n!)
是相等的! 因為我認為n是無限的(log n)!
和n!
是平等的。 這是真的嗎? 如果是,我該怎么表明? 如果不是O((log n)!)
多項式?
我認為你的后續問題是(logn)!
是多項式有界的。 這顯然不是多項式本身。 斯特林的近似給了我們
n!≤en^[n+1/2]*e^(−n)
所以,
(log n)!≤e(log n)^[1/2+log n]*e^(−log n)
現在(log n)^log n=(e^loglogn)^logn=e^[(logn)⋅(loglogn)]
因此,增長的順序大約為e^[(logn)(loglogn)−logn] =n^[(loglogn)−1]
遺憾的是,這不受任何多項式的限制,因為loglogn
最終將超過任何正整數。
例如,比較(log n)!
用n^2
。
在n=e^10,(log n)!=3480
,而(e^10)2≈4.85×108
在n=e^100,(log n)!≈10157
,而e^200≈1086
由於已經完成了正確的數學運算,讓我為任何給定的c
添加更直觀的解釋為什么O(log(n)!) > O(n^c)
。 我們假設對數是基數2,為簡單起見,選擇c
為10.(該參數對於不同數量的一般值也同樣有用)。
那么,為什么會log(n)!
增長超過n^10
? 讓我們來看兩個函數的2的冪值,更具體地說,它們與2的最后一次冪相比增長了多少。(從現在開始n = 2^p
)
log(2^p)! = p * log(2^(p-1))!
, (2^p)^10 = 2^10 * (2^(p-1))^10
。 這可能看起來很復雜,但它告訴我們log(n)!
函數會將每個p
次冪2
的值乘以p
,但是n^10
會將它的值乘以1024
,所以log(n)!
最終會變得越來越大。
另外, log(n)!
比任何指數增長都慢,類似的參數可以通過觀察當n
增長1時兩個函數乘以它們的值有多少。
讓我們回到一些基礎數學:
我們知道如果log a> log b,那么a> b :( log base大於1)
點擊這里獲取更多信息
現在我們知道log(N!)= NLogN ( 見這里是為了證明 )
我們得到, log((log N)!)= logN logLogN
以來,
log(N!)是多項式,log((log N)!)是對數階,
顯然, O(N!)> O((logN)!)
希望這可以幫助。
通過使用斯特林的近似表明$ n! 〜\\ sqrt {2 \\ pi n} \\ frac {n} {e} ^ n(1 + O(frac {1} {n}))$,並使用$ \\ log {n} $的相同公式,可以檢查$ n! 對於$ \\ log {n},$的主要因素是$ n ^ n $! $相同的因子變為$ \\ log {n} ^ \\ log {n} $。 通過使用$ \\ ln {n} \\ leq n - 1 $的事實,我相信你可以很容易地證明$ O(\\ log {n}!)$小於$ O(n!)$。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.