算法速度顺序

Dav*_*ria 6 algorithm performance big-o performance-estimation

有时我完全被愚弄试图用O(x)表示法来估计算法的速度,我的意思是,当命令是O(n)或O(mxn)时我真的可以指出,但对于那些是O(lg( n))或O(C(权力n))我认为我在那里遗漏了一些东西......那么,对于一个简单的估计而言,你有什么提示和技巧可以快速忽略算法?

作为我正在寻找的一个例子,这里有一些容易的(可能是错的,但我尽力):

  • O(n):如果有一个简单的循环,从1到n(或其中几个,但不是嵌套的.
  • O(mxn):另一个嵌套循环,其中限制为m和n.

提前致谢.

tva*_*son 7

递归,分而治之的算法通常是O(logN).绕过分而治之的算法将是O(NlogN).


Joh*_*ook 7

这是一篇可能有帮助的博客文章:

分解并将它们重新组合在一起的成本

这篇文章解释了处理大O订单的"主定理".