最坏情况与平均情况

情景:早上出门,发现忘带手机,最好情况是手机在门口的台子上,最坏情况是找了很久很久才找到,平均情况是找了一会就找到了。

算法分析:

在一个有n个数字的数组中查找某个数字

最好情况:第一个数字就是要查找的,则算法时间复杂度O(1)

最坏情况:最后一个是数字是要查找的,则算法时间复杂度O(n)

平均情况:从概率角度看,要查找的数字在每个位置的可能性是相同的,平均查找时间为n/2,算法时间复杂度O(n)

最坏情况

(1)定义一类输入,在这类输入下,算法表现出了最坏的运行性能。这类输入的共同性质阻止了算法高效地运行,而不只是针对特定的输入。

(2)计算最坏情况的时间复杂度

(3)一种保证,保证运行时间不会更坏了。

(4)是最重要的需求,通常提到的运行时间都是最坏情况的运行时间。

(5)对实时性要求非常高的情况,必须分析最坏情况。

比如,汽车防抱死系统,差10毫秒就是人命关天,时间就是生命。

这种情况必须把最坏情况的复杂度控制在某个阈值之下,平均复杂度处于次要位置。

平均情况:

(1)平均情况是表示算法在随机给定的数据上期望的执行情况。通俗地说,一些输入可能会在某些特殊情况下耗费程序大量的时间,但是大部分的输入并不会这样。这个衡量标准描述了用户对算法性能的期望。

(2)计算所有情况的平均值

(3)期望的运行时间,是所有情况中最有意义的。

(4)现实中平均运行时间很难通过分析得到,一般是通过运行一定数量的实验数据后估算出来的。

(5)对实时性没有要求的情况,分析平均情况即可。

比如,在实验室用某个算法分析1千万条数据,我们关心的是总共花多少时间,所以只需要知道算法的平均时间复杂度就够了。

最好情况:

定义一类输入,算法在这类输入下表现出了最好的运行性能。对于这类输入来说,算法只进行很少的计算。不过在实际情况下,最好情况很少出现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 2016.5.27 好多他向往的东西或事情,背景都是匀净又亮得碧悠悠的青天碧水。 虽然文弱的书生少年不知身处何处,...
    __初歌阅读 477评论 23 0
  • 今天外出游玩,原谅我没有写作业,只能把昨天写的没发的发上去。 PS:在外面,手机卡,没看到某虎直播,心痛,呜呜呜~...
    烈焰冰封阅读 177评论 0 0
  • 小时候我的语文课是体育老师教的?每每发朋友圈的时候,都不知道写点啥好,看着朋友圈朋友写得文绉绉的心情都特别...
    马小喵_8bcd阅读 1,099评论 0 0
  • 春来春去, 云卷云舒。 且石且玉, 似得似失。
    易可风阅读 386评论 6 7

友情链接更多精彩内容