我如何找到答案? 即使是大O也足够了。我发现的所有线索都是复杂的数学思想。任何帮助?答案是:n! =Θ()?
什么是解决这一问题的正确的做法?递归树似乎太多工作
目标为n之间进行比较的!和n^LOGN
我如何找到答案? 即使是大O也足够了。我发现的所有线索都是复杂的数学思想。任何帮助?答案是:n! =Θ()?
什么是解决这一问题的正确的做法?递归树似乎太多工作
目标为n之间进行比较的!和n^LOGN
Θ(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
。
然后,由于log(n!) = Θ(n log n)
和n log n > (log n)2
对于任何大的n
,我们可以推导出Θ(n!)
增长更快。这个派生可能不是微不足道的,我略微不确定它是否真的有可能,但是我们已经超出了Stack Overflow的范围(如果你想了解更多细节,请试试the Mathematics site)。
事实上,对于每一个函数:'f(n)=Θ(f(n))',而不管* f *是什么。 –
这感觉就像一个没有答案。 –
@G。巴赫其实有些同意,但是,虽然问题是问问题,但这是答案(尽管如果这个问题最终被删除,我不能说我会特别恼火)。如果问题被改变*以询问如何比较两个给定的函数,那么它应该作为偏离主题来关闭,因为它属于[math.se]。 – Dukeling
如果你想要某种“封闭形式”表情,就可以得到N! =Ω((sqrt(n/2))^ n)和n! = O(n^n)。请注意,这些更有用。
为了得到他们,看到(N/2)^(N/2)< N! < n^n。
比较与n的^(log n)的,使用限制规则;你可能也想使用n = e ^(log n)。
咦? 'N! =Θ(n!)'。你是否正在寻找其他方式来说“n!”? – Sneftel
'O(n!)'是个不好的答案吗?你也不能说一个函数等于'O',因为'O'表示一类函数,并且这种相等是无意义的。说属于更合理。 – luk32
@ luk32“=”在这里非常常用。根据[维基百科](http://en.wikipedia.org/wiki/Big_O_notation) - “请注意”=“不是用来表示”在其正常数学意义上等于“,而是更通俗”是“”。 – Dukeling