算法分析

算法分析

一、概述

l  判断算法性能的一个基本考虑是处理一定“规模”的输入时该算法所需要执行的“基本操作”数。“规模”一般指输入量的数目。一个“基本操作”必须具备这样的性质:完成该操作所需时间和操作数的具体取值无关。

l  算法的增长率是指当输入的值增加时,算法代价的增长速率。

二、最佳、最差和平均情况

l  对于某些算法,即使问题规模相同,如果输入数据不同,其时间开销也不同。

三、渐近分析

l  上限(最小上限):“增长率的上线为f(n)”成为大O表示法(big Oh notation),读作“大欧”表示法。如果某个算法的增长率上线(在最差情况下)时f(n),那么就说这个算法“最差情况下在集合O(f(n))中”,或者直接说“最差情况在O(f(n))中”。

l  下限(最大下限):算法的下限用符号Ω来表示,读作“大欧米伽”。若存在两个正常数c和n0,对于n> n0,有T(n)≥cg(n),则称T(n)在集合Ω(g(n))中。

l  Θ表示法:如果一个算法既在O(h(n))中,又在Ω(h(n))中,则称其为Θ(h(n))。

四、明确:

l  最佳、最差或平均情况给出了明确的实例,可以应用在问题中,以得到代价的衡量值。上限和下限则描述了这种代价的增长率。所以定义一个算法或问题的增长率时,需要确定衡量指标(最佳、最差、平均情况),以及对代价增长率的描述(O, Ω , Θ)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值