答案是什么:n! =Θ()?

时间:2014-03-25 17:42:13

标签: math big-o complexity-theory

我如何找到答案:n! =Θ()? 即使是大O也足够了。我发现的所有线索都是复杂的数学思想。

解决这个问题的正确方法是什么?递归树看起来太过分了

目标是比较n!和n ^ logn

2 个答案:

答案 0 :(得分: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

然后,对于任何大型n log n > (log n)2log(n!) = Θ(n log n)n,我们可以得出Θ(n!)增长更快。

推导可能是非平凡的,我稍微不确定它是否真的可行,但我们已经超出了Stack Overflow的范围(如果你想了解更多细节,请尝试the Mathematics site)。 / p>

答案 1 :(得分:0)

如果你想要某种“封闭形式”的表达方式,你可以得到n! =Ω((sqrt(n / 2))^ n)和n! = O(n ^ n)。请注意,确保这些更有用。

要导出它们,请参阅(n / 2)^(n / 2)< N! < N 1,N

要与n ^(log n)进行比较,请使用限制规则;您可能还想使用n = e ^(log n)。