安排他们的大哦复杂性的增加顺序

时间:2012-03-21 13:54:25

标签: algorithm

所以如果给出

4n ^ 2,log3(n),20n,n ^ 2.5,log(n!),n ^ n,3 ^ n,n log(n),100n ^(2/3),2 ^ n, 2 ^(n + 1),n!,(n-1)!,2 ^ 2n

顺序(大O复杂度的增加顺序)将是

log3(n)< 20n< 20n n logn< 4n ^ 2< 100n ^(2/3)< log(n!)< n ^(2.5)< 2 ^ n< 2 ^(n + 1)< 3 ^ n< 2 ^(2n)< (N-1)! < n ^ n< N!

这是n是一个很大的数字。是吗?

1 个答案:

答案 0 :(得分:6)

总而言之,就大的复杂性来说,n倾向于+无限:

log3(n)< 100n ^(2/3)< 20n< 20n log(n!)< n log(n)< 4n ^ 2< n ^(2.5)< 2 ^ n〜2 ^(n + 1)< 3 ^ n< 2 ^(2n)< (N-1)! < N! < N 1,N

Wikipedia page可能会让您感兴趣。


编辑:关于n!与n ^ n

使用斯特林的近似值,我们得到:
enter image description here
因此O(n!)〜O(sqrt(n)* n ^ n * e ^( - n))
因此O(sqrt(n))〜O(e ^( - n))iff O(n ^ n)~O(n!)。
但是O(sqrt(n))~O(e ^( - n))是假的 因此O(n ^ n)~O(n!)是假的 从n开始! < n ^ n,我们有n! = o(n ^ n)。 QED。


这是来自djfm的另一个证明,它不依赖于斯特林的近似:

enter image description here