使用 Stirling 公式对 log(n!) 的时间复杂度估计

阶乘函数的一个上界是 \(n!\le n^n\),因为在阶乘中,\(n\) 项的每项最多为 \(n\)

斯特林(Stirling)近似公式

\[n!=\sqrt{2\pi n}\left(n\over e\right)^n\left(1+\theta\left(1\over n\right)\right) \]

对于所有 \(n\ge 1\),下面的等式成立:

\[n!=\sqrt{2\pi n}\left(n\over e\right)^ne^{\alpha _n} \]

其中

\[{1\over 12n+1}\lt \alpha _n\lt {1\over 12n} \]

给出了一个更紧确的上界和下界,其中 \(e\) 是自然对数的底。

\[\begin{aligned} n!&=o(n^n) \\\\ n!&=\omega(2^n)\\\\ lg(n!)&=\Theta(nlgn) \end{aligned} \]

posted @ 2024-03-31 16:55  飞花阁  阅读(72)  评论(0)    收藏  举报
//雪花飘落效果