我如何找到答案:n! =Θ()? 即使是大O也足够了。我发现的所有线索都是复杂的数学思想。
解决这个问题的正确方法是什么?递归树看起来太过分了
目标是比较n!和n ^ logn
答案 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)2
,log(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)。