为Big O表示法编写技巧

时间:2013-02-23 15:40:04

标签: algorithm complexity-theory big-o

f(n)=O(g(n))f(n) ∈ O(g(n))之间是否有区别?

3 个答案:

答案 0 :(得分:4)

“=”并不意味着在正常的数学意义上表达“等于”,而是更通俗的“是”,所以第二个表达在技术上是准确的!

http://en.wikipedia.org/wiki/Big_O_notation

答案 1 :(得分:1)

带有=和ε的符号意思相同,但前者是大多数作家实际使用的符号。

我看了一下近在咫尺的六本书。这些书使用 =

  • de Berg et al。, Computational Geometry
  • Dasgupta等,算法
  • Knuth,计算机编程艺术
  • Papadimitriou& Stieglitz,组合优化

在这些书中,我发现没有使用任何一种表示法:我发现的所有出现的O / o /Θ/Ω都在“算法A是O( n )”的上下文中:

  • Aho等,计算机算法的设计与分析
  • Ericson,实时碰撞检测

我没有发现任何ε。

答案 2 :(得分:-1)

  • 关系“f(n)∈O(g(n))”读作“f(x)是-o的小数量” g(x)“。这意味着g(x)比f(x)生长得快得多,或类似地,
    f(x)的增长与g(x)的增长无关。
  • 假设f和g都是一个变量的函数。从形式上看, f(n)= o(g(n)),因为n→∞意味着每个正常数ε 存在常数N,使得f(n)<=ɛ(g(n)。

希望你得到你的答案......