Big O,Big Theta,Big Omega,little o,little omega notation的定义

最近在看MTI关于算法导论的公开课,对于一个超级门外汉,一听到这些记法瞬间就懵了,于是只能求助于谷哥。

(1)Big O

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

是不是很抽象?其实这玩意儿说通俗一点就是求一个算法的worst-case,即是一个最坏情况的度量,求的是上界。

(2)Big Omega

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

和Big O相反,这个玩意儿是很乐观的,求得是一个算法的最好情况,即下界,即best-case。不过这玩意儿基本上没什么用,因为你总不能跟用户说我这个算法最快的执行时间是3秒吧?万一一不小心执行了三年,用户岂不要气得吐血?

(3)Big Theta

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

这个记法表示一个算法不会好于XX,也不会坏于XX,太中庸了,没有激情啊。所以也就是求average-case。

(4)little o

对于任意正数c,均存在正数N,对于所有的n>=N,有f(n)<c*g(n),则f(n)=o(g(n))

(5)little omega

对于任意正数c,均存在正数N,对于所有的n>=N,有f(n)>c*g(n),则f(n)=omega(g(n))

好了,就简单介绍到这儿吧,以后有什么再做补充。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值