美文网首页
最坏情况与平均情况

最坏情况与平均情况

作者: Gonglj | 来源:发表于2017-12-02 11:55 被阅读0次

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

算法分析:

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

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

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

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

最坏情况

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

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

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

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

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

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

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

平均情况:

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

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

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

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

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

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

最好情况:

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

相关文章

  • 最坏情况与平均情况

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

  • 快速排序

    最好情况最坏情况平均情况

  • 时间复杂度

    排序方法 最好情况 最坏情况 平均情况 稳定性冒泡排序 O(...

  • 排序问题

    排序问题 排序方法 平均情况 最好情况 最坏情况 辅助空间 ...

  • 比较型排序与非比较型排序算法的总结

    排序方法 冒泡排序 In [1]: Out[1]: In [21]: Out[21]: 复杂度分析 平均情况与最坏...

  • 算法(3)

    上两篇:算法(1)算法(2) 一、常见的时间复杂度 常用的时间复杂度.png 二、最坏情况和平均情况 最坏情况运行...

  • 一些数据结构的记录

    排序 快速排序 平均情况下快速排序的时间复杂度是Θ(nlgn),最坏情况是n2,但通过随机算法可以避免最坏情况。由...

  • 复杂度分析(下)

    浅析最好、最坏、平均、均摊时间复杂度 最好情况时间复杂度、 在最理想的情况下,执行这段代码的时间复杂度 最坏情况时...

  • 归并排序算法模板

    简单总结:时间复杂度 最好情况:O(nlogn)最坏情况:O(nlogn)平均情况O(nlogn)空间复杂度O(n...

  • 排序算法7-堆排序

    堆排序 平均时间复杂度:O(nlogn) 最好情况:O(nlogn) 最坏情况:O(nlogn) 空间复杂度:O(...

网友评论

      本文标题:最坏情况与平均情况

      本文链接:https://www.haomeiwen.com/subject/edknbxtx.html