算法导论 第三章 函数的增长

渐近记号
(1)渐近上界记号O(大写O)
含义:渐近地给出了一个函数在常量因子内的上界:

  • O(g(n))={f(n):存在正常量c和n0,使得对所有n>=n0,有0<=f(n)<=cg(n)}
  • f(n)=Θ(g(n))蕴含着符f(n)=O(g(n))
  • O可用于标记最坏的运行时间
    f(n)=O(g(n))的曲线图
    这里写图片描述
    (注意n0和c的值)

(2)渐进下界记号Ω(大写Ω)
含义:渐进的给出一个函数在常量因子的下界

  • Ω(g(n))={f(n):存在正常量c和n0,使得对所有n>=n0,有0<=cg(n)<=f(n) for all n>=n0}
  • f(n)=Θ(g(n)蕴含了f(n)=Ω(g(n))
    f(n)=Ω(g(n))曲线
    这里写图片描述

渐进紧确界记号Θ
含义:渐进的给出了一个函数的上界和下界,

  • Θ(g(n))={f(n):存在常量c1、c2和n0,使得对所有的n>=n0,有0<=c1g(n)<=f(n)<=c2g(n)}
    f(n)=Θ(g(n))的曲线
    这里写图片描述
  • f(n)=Θ(g(n))的确切含义是:f(n)∈Θ(g(n))
  • Θ(g(n))的定义要求其每个元素渐进非负,也就要求g(n)本身渐进非负。
  • Θ(g(n))中的所有函数有相同的最高阶项
  • f(n)∈Θ(g(n)),当且仅当f(n)∈O(g(n))&&f(n)∈Ω(g(n))

eg:形式证明(n*n)/2-3*n=Θ(n*n)

  • 首先确定正常数c1,c2和n0,使得对所有n>=n0,有:
  • c1*n*n<=(n*n)/2-3*n<=c2*n*n
  • 除去n*n得:c1<=1/2-3/n<=c2
  • 右边不等式在n>=1,c2>=1/2时成立,左边不等式.n>=7,c1<=1/14时成立,选c1=1/14,c2=1/2,n0=7时。上式成立。

非渐进紧确上界记号o(小写0)

这里写图片描述
如果f(n)=o(g(n)),那么n当趋于无穷时,f(n)相对于g(n)变得微不足道。
这里写图片描述

非渐进紧确下界记号:ω

这里写图片描述
- 如果f(n)=ω(g(n)),那么当n很大时候,f(n)相对于g(n)变得任意大了,
这里写图片描述
- 如果f(n)∈ω(g(n)),当且仅当g(n)∈o(f(n));
使用极限去定义渐进符号
这里写图片描述

五种符号的关系:
这里写图片描述

其实上述的这些符号表示的都是一个集合,一般我们对算法复杂度的描述都是用O记号。

性质
这里写图片描述
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值