[英]Is log(n!) = O((log(n))^2)?
我正在練習漸近分析的問題,並且對此問題感到困惑。
log(n!) = O((log(n))^2)
嗎?
我能夠證明
log(n!) = O(n*log(n))
(log 1 + log 2 + .. + log n <= log n + log n + ... + log n)
和
(log(n))^2 = O(n*log(n))
(log n <= n => (log n)^2 <= n*logn )
我無法繼續進行。 關於如何繼續進行的任何暗示或直覺? 謝謝
根據斯特林的近似值 :
log(n!) = n*log(n) - n + O(log(n))
因此,顯然log(n!)
上限為O(nlogn)
下限可以通過刪除等式的前半部分來計算:
log(1) + ... + log(n/2) + ... + log(n) = log(n/2) + ... + log(n)
= log(n/2) + ... + log(n/2)
= n/2 * log(n/2)
因此,下界也是nlogn
。 顯然答案是否定的
我想我已經得到了我自己問題的答案。 我們將證明以下事實:
1) n*log(n)
是log(n!)
的嚴格限制
2) n*log(n)
是(log(n))^2
的上限
3) n*log(n)
不是(log(n))^2
的下限
有關(1)的證明,請參見this 。
問題本身提供了證明(2)和(3)。 的生長速率log n
<
的增長率n
。 因此log(n)^2
增長率<
n*log(n)
增長率。 因此log(n)^2 = o(n*log(n))
(在這里我很少使用-o來表示n*log(n)
增長率嚴格大於log(n)^2
增長率
因此結論是log(n!) = big-omega(log(n^2))
如果我犯了任何錯誤,請糾正我
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.