Big O与函数增长速度之间的差异

时间:2015-10-28 19:34:53

标签: algorithm data-structures big-o time-complexity discrete-mathematics

我似乎混淆了两个概念,渐近复杂度(函数增长得多快)和Big O(算法的时间复杂度)。它们是一样的吗?

例如,我知道O(1)是算法运行时间最好的情况。但显然这种情况比O(n^n)增长得慢得多,nlogn增长得非常快,但算法的复杂性不是很好?

还有类似的东西: 1的增长速度超过lognn^n,但所有这些功能的增长速度都比{{1}}慢?任何澄清将不胜感激。

1 个答案:

答案 0 :(得分:0)

Big O是一种测量可能是时间或空间的算法的渐近复杂度的方法。来自维基百科链接:

  

通常仅以大O表示法描述函数   提供了函数增长率的上限。

...

  

Big O表示法也用于许多其他领域,以提供类似的估计值。

对于n的大小,有一些话要说,因为O(1)是最好的复杂性,尽管这表明,对于足够大的n,常数项并不重要。

https://classes.soe.ucsc.edu/cmps102/Spring04/TantaloAsymp.pdf可能有助于查看可以使用的不同符号。