Big O, Big Omega, Big Theta的含义

A、大O的定义:

  如果存在正数c和N,对于所有的n>=N,有f(n)<=c*g(n),则f(n)=O(g(n))


B、Big Omega的定义

  如果存在正数c和N,对于所有的n>=N,有f(n)>=c*g(n),则f(n)=Omega(g(n))


C、Big Theta的定义

  如果存在正数c1,c2和N,对于所有的n>=N,有c1*g(n)<=f(n)<=c2*g(n),则f(n)=Theta(g(n))

 

1、O是一个算法最坏情况的度量(g(n)是这个算法的上界,用上界来衡量,是最坏的情况)


2、Big Omega是最好情况的度量(g(n)是这个算法复杂度的下界,用下界来衡量,是最好的情况)


3、Big Theta表达了一个算法的区间,不会好于某某,不会坏于某某

 

你可能感兴趣的:(算法)