算法分析之-渐进记号

渐进记号

渐进记号分为:Θ()、Ω()、ω()、O()、o()


1. Θ记号

f(n) = Θ(g(n))

存在正常数c1,c2和n0, 使得对所有的n>=n0, 都有0<= c1 * g(n) <= f(n) <= c2 * g(n);
f(n)与g(n)在数量级上相等

我们试着证明:
在这里插入图片描述
第一步,我们必须确定有:
在这里插入图片描述
第二步,我们将两边除以n^2
在这里插入图片描述
C2>=1/2可以使任意n>=1,不等式右边成立
C1<=1/14可以使任意n>=7,不等式左边成立


2. O记号

f(n) = O(g(n))

存在正常数c,n0, 使得对所有的n>=n0, 都有0<= f(n) <= c * g(n);
f(n)在数量级小于等于g(n)


3. o记号

f(n) = o(g(n))

存在正常数c,n0, 使得对所有的n>=n0, 都有0<= f(n) < c * g(n);
f(n)在数量级小于g(n)

e.g.:2n = o(n2);2n 2 != o(n 2)


4. Ω记号

f(n) = Ω(g(n))

存在正常数c,n0, 使得对所有的n>=n0, 都有 0 <= c * g(n) <= f(n);
f(n)在数量级大于等于g(n)


5. ω记号

f(n) = ω(g(n))

存在正常数c,n0, 使得对所有的n>=n0, 都有 0 <= c * g(n) < f(n);
f(n)在数量级大于g(n)


性质

  1. 传递性
  2. 自反性
  3. 对称性
  4. 转置对称性
发布了43 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/include_IT_dog/article/details/89307873