订购功能的增长率

时间:2014-04-02 13:48:39

标签: big-o complexity-theory time-complexity

在做这个问题时我遇到了一些困难。问题是:按增长率排列以下因素:

  

n,√n,log n,log(log n),log 2 n,(1/3) n ,n!

上述问题的顺序是什么?我还想知道是否有任何简单的方法来确定(一般情况下)?

我对这个问题的回答是

  

(1/3) n ⋞log(log n)⋞log n⋞log 2 n⋞√n⋞n!n!

这是对的吗?

1 个答案:

答案 0 :(得分:1)

你必须学习大O符号。

所有关于取幂排名......你可以:

  • 1常数(exp n ^ 0)
  • 2 logarithmic(exp n = 1 / c)
  • 3 linear(exp n ^ 1)
  • 4 polinomial(exp n ^ c)
  • 5指数(exp c ^ n)
  • 6 factorial(exp n!)

这是基本规则。从长远来看,每个人都会胜过较低的人(例如规则5胜过4,3,2和1)

使用这个原则,可以很容易地将从渐近最慢增长到最快增长的函数排序:

  1. (1/3)^ n - 这是一个常数! O(1)
  2. log(log n) - 日志日志必须比线性函数的日志慢。
  3. log n
  4. log ^ 2 n
  5. √n - n ^(1/3),亚线性,但比任何日志都快
  6. n - linear是一次多项式
  7. N! - 阶乘增长速度超过任何指数。