算法设计技巧与分析:Ο、Ω、Θ符号在时间复杂度表示中的含义

算法:Ο、Ω、Θ符号在时间复杂度表示中的含义

Ο符号

O符号提供了一个运行时间的上界,它可能不是算法运行的实际运行时间。说一个算法的运行时间是O(n),是指如果每当输入的大小大于等于某个阈值n0时,那么它的运行时间上界时g(n)的c倍,其中c是某个正常数。O符号的形式定义如下:

令f(n)和g(n) 是从自然数到非负实数集的两个函数,如果存在一个自然数n0和一个常数c(c>0),使得:
∀n≧n0,f(n)≦cg(n),则称f(n)为O(g(n))。
因此,如果lim(n→∞)f(n)/g(n)存在,那么
lim(n→∞)f(n)/g(n)≠∞存蕴含着f(n)=O(g(n))

Ω符号

Ω符号给出一个下届,它可能不确切指示一个算法确切运行的时间。说一个算法的运行时间是Ω(n),是指如果每当输入的大小大于等于某个阈值n0时,那么它的运行时间下界时g(n)的c倍,其中c是某个正常数。O符号的形式定义如下:

∀n≧n0,f(n)≧cg(n), 则称f(n)为Ω(g(n)).如果lim f(n)/g(n)=∞,则称f (n)在数量级上严格大于g(n),记为f (n)=Ω( g(n))。

Θ符号

Θ符号可作如下解释:对于任何大小大于或等于某一阈值n0的输入,如果运行时间在下限与上限之间(c1g(n)与c2g(n)),则称算法的运行时间是Θ(g(n))阶的。因此这一符号是用来表示算法的精确阶的,它蕴含着在算法的运行时间上有确切界限。

存在预算法有关的两个系数c1和c2,使得 ∀n>n0,c1g(n)≦f(n)≦c2g(n),
则称f(n)=Θ(g(n)).如果c,这里c为非0常数,则称f (n)在数量级上等于g(n),即f
(n)和g(n)是同一个数量级的函数,记为:f(n)=Θ( g(n))。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值