渐进记号的定义

渐进确界Θ

  Θ(g(n))={ f(n)存在正常数c1,c2n0,使对所有的n>=n0,有0<=c1g(n)<=f(n)<=c2g(n) }

(在集合表示法中,“:”应读作“满足......的特性”)

渐进上界O

  O(g(n))={ f(n)存在正常数cn0,使对所有n>=n0,有0<=f(n)<=cg(n) }

渐进下界Ω

  Ω(g(n))={ f(n)存在正常数cn0,使对所有n>=n0,有0<=cg(n)<=f(n) }

非渐进紧确的上界o

其中,O记号所提供的渐进上界可能是也可能不是渐进紧确的。我们使用o记号表示非渐进紧确的上界

  o(g(n))={ f(n)对任意正常数c,存在常数n0>0,使对所有的n>=n0,有0<=f(n)<=cg(n) }

非渐进紧确的下界ω

ω记号与Ω记号的关系就好像o记号与O记号的关系一样。我们用ω记号来表示非渐进紧确的下界:

  ω(g(n))={ f(n)对任意正常数c,存在常数n0>0,使对所有的n>=n0,有0<=cg(n)<f(n) }

或者另一种定义为

  f(n)∈ω(g(n))当且仅当g(n)∈o(f(n))

Image[5]

记号Θ,O和Ω的图例。在每个部分中,n0是最小的可能值;大于n0的值也有效。

a)Θ记号限制一个函数在常数因子内。如果存在正常数n0c1c2使得在n0右边 f(n)的值永远在c1g(n)与c2g(n)之间,那么可以写成f(n)=Θ(g(n))。

b)O记号给出一个函数在常数因子内的上限。如果存在正常数n0c使得在n0右边 f(n)的值永远等于或小于cg(n),那么可以写成f(n)=O(g(n))。

c)Ω记号给出一个函数在常数因子内的下限。如果存在正常数n0c使得在n0右边 f(n)的值永远等于或大于cg(n),那么可以写成f(n)=Ω(g(n))。

摘自《算法导论》 P26-30  3.1渐进记号 
ISBN 7-111-18777-6  
原名《Introduction to Algorithms(Second Edition)》
原文地址:https://www.cnblogs.com/gamesun/p/2987506.html