O符号是什么意思?

可能重复:
Big O的纯英文解释

我需要弄清以下的O(n)

f(n) = 10n^2 + 10n + 20

我所能想到的只有50 ,而且我很尴尬地说出我是怎么想出来的。

有人可以解释它是什么意思,我应该如何计算f(n)以上?


Big-O符号用于复杂性分析。 一个函数是O(g(n))如果(除了一些n值之外的所有数值)它是由g(n)的某个常数倍数上界的,因为n趋于无穷大。 更正式地说:

f(n)是在O(g(n))当且仅当存在常数n0c使得对于所有n >= n0f(n) <= cg(n)

在这种情况下, f(n) = 10n^2 + 10n + 20 ,所以f(n)O(n^2)O(n^3)O(n^4)等等中。边界是O(n^2)

用外行人的话来说,这意味着当n趋于无穷大时, f(n)不会比二次方增加更差。

有一个相应的Big-Omega符号,可以用类似的方式用于下界函数。 在这种情况下, f(n)也是Omega(n^2) :也就是说,当n倾向于无穷大时,它的增长并不比二次方好。

最后,有一个Big-Theta符号结合了这两个,即iff f(n)O(g(n))f(n)Omega(g(n))那么f(n)Theta(g(n)) 。 在这种情况下, f(n)Theta(n^2) :也就是说,当n趋于无穷大时,它正好以二次方式增长。

- >这一切的关键是,当n变大时,线性( 10n )和常数( 20 )项变得基本上不相关,因为函数的值受二次项的影响更大。 < -

链接地址: http://www.djcxy.com/p/6763.html

上一篇: O notation mean?

下一篇: Algorithm Performance Explanation Ex: O(n)