算法导论笔记:03渐进符号

1:Θ记号:

        对一个给定的函数g(n),用Θ(g(n))来表示以下函数的集合

Θ(g(n))={f(n):存在正常量c1、c2 和 n0,使得对所有nn0,有0≤c1g(n)≤f(n)≤c2g(n)}

        g(n)是f(n)的一个渐近紧确界(asymptotically tight bound)。

 

2:O符号

        当只有一个渐近上界时,使用O记号。对于给定的函数g(n),用O(g(n))示以下函数的集合:
O(g(n))={f(n):存在正常量c和n0,使得对所有n≥n0,有0≤f(n)≤cg(n)}

        当我们说“运行时间为O(n^2)”时,意指存在一个O(n^2)的函数f(n),使得对n的任意值,不管选择什么特定的规模为n的输入,其运行时间的上界都是f(n)。这也就是说最坏情况运行时间为O(n^2)

 

3:Ω记号

        Ω记号提供了渐近下界。对于给定的函数g(n),用Ω(g(n))来表示以下函数的集合:

Ω(g(n))={f(n):存在正常量c和n0,使得对所有n≥n0,有0≤cg(n)≤f(n)}

        当称一个算法的运行时间(无修饰语)为Ω(g(n))时,我们意指对每个n值,不管选择什么特定的规模为n的输入,只要n足够大,对那个输入的运行时间至少是g(n)的常量倍。等价地,我们再对一个算法的最好情况运行时间给出一个下界。例如,插入排序的最好情况运行时间为Ω(n),这蕴涵着插入排序的运行时间为Ω(n)。


4:o记号

        由O记号提供的渐近上界可能是也可能不是渐近紧确的。界2n^2=O(n^2)是渐近紧确的,但是界2n=O(n^2)却不是。我们使用o记号来表示一个非渐近紧确的上界。形式化地定义o(g(n))为以下集合:
o(g(n))={f(n):对任意正常量c>0,存在常量n0>0,使得对所有n≥n0,有0≤f(n)<cg(n)}。


5:ω记号

        ω记号与Ω记号的关系类似于o记号与O记号的关系。我们使用ω记号来表示一个非渐近紧确的下界。定义它的一种方式是:f(n)∈ω(g(n))当且仅当g(n)∈o(f(n))

        然而,我们形式化地定义ω(g(n)):为以下集合:

ω(g(n))={f(n):对任意正常量c>0,存在常量n0>0,使得对所有n≥n0,有0≤cg(n)f(n)}


6:一般来说,对任意多项式p(n)=,其中为常量且>0,我们有p(n)=Θ(n^d)。

 

转载于:https://www.cnblogs.com/gqtcgq/p/7247245.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值