是 log(n!) = O((log(n))^2) 吗?

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 )

我无法继续进行。关于如何进一步进行的任何提示或直觉?谢谢

根据Stirling's Approximation:

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。显然答案是 NO

我想我得到了我自己问题的答案。我们将证明以下事实:

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))(这里我用little-o表示n*log(n)的增长率严格大于log(n)^2

的增长率

所以结论是 log(n!) = big-omega(log(n^2)) 如有错误请指正