最壞情況與平均情況

情景:早上出門,發(fā)現(xiàn)忘帶手機(jī),最好情況是手機(jī)在門口的臺(tái)子上,最壞情況是找了很久很久才找到,平均情況是找了一會(huì)就找到了。

算法分析:

在一個(gè)有n個(gè)數(shù)字的數(shù)組中查找某個(gè)數(shù)字

最好情況:第一個(gè)數(shù)字就是要查找的,則算法時(shí)間復(fù)雜度O(1)

最壞情況:最后一個(gè)是數(shù)字是要查找的,則算法時(shí)間復(fù)雜度O(n)

平均情況:從概率角度看,要查找的數(shù)字在每個(gè)位置的可能性是相同的,平均查找時(shí)間為n/2,算法時(shí)間復(fù)雜度O(n)

最壞情況

(1)定義一類輸入,在這類輸入下,算法表現(xiàn)出了最壞的運(yùn)行性能。這類輸入的共同性質(zhì)阻止了算法高效地運(yùn)行,而不只是針對(duì)特定的輸入。

(2)計(jì)算最壞情況的時(shí)間復(fù)雜度

(3)一種保證,保證運(yùn)行時(shí)間不會(huì)更壞了。

(4)是最重要的需求,通常提到的運(yùn)行時(shí)間都是最壞情況的運(yùn)行時(shí)間。

(5)對(duì)實(shí)時(shí)性要求非常高的情況,必須分析最壞情況。

比如,汽車防抱死系統(tǒng),差10毫秒就是人命關(guān)天,時(shí)間就是生命。

這種情況必須把最壞情況的復(fù)雜度控制在某個(gè)閾值之下,平均復(fù)雜度處于次要位置。

平均情況:

(1)平均情況是表示算法在隨機(jī)給定的數(shù)據(jù)上期望的執(zhí)行情況。通俗地說,一些輸入可能會(huì)在某些特殊情況下耗費(fèi)程序大量的時(shí)間,但是大部分的輸入并不會(huì)這樣。這個(gè)衡量標(biāo)準(zhǔn)描述了用戶對(duì)算法性能的期望。

(2)計(jì)算所有情況的平均值

(3)期望的運(yùn)行時(shí)間,是所有情況中最有意義的。

(4)現(xiàn)實(shí)中平均運(yùn)行時(shí)間很難通過分析得到,一般是通過運(yùn)行一定數(shù)量的實(shí)驗(yàn)數(shù)據(jù)后估算出來的。

(5)對(duì)實(shí)時(shí)性沒有要求的情況,分析平均情況即可。

比如,在實(shí)驗(yàn)室用某個(gè)算法分析1千萬條數(shù)據(jù),我們關(guān)心的是總共花多少時(shí)間,所以只需要知道算法的平均時(shí)間復(fù)雜度就夠了。

最好情況:

定義一類輸入,算法在這類輸入下表現(xiàn)出了最好的運(yùn)行性能。對(duì)于這類輸入來說,算法只進(jìn)行很少的計(jì)算。不過在實(shí)際情況下,最好情況很少出現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 2016.5.27 好多他向往的東西或事情,背景都是勻凈又亮得碧悠悠的青天碧水。 雖然文弱的書生少年不知身處何處,...
    __初歌閱讀 477評(píng)論 23 0
  • 今天外出游玩,原諒我沒有寫作業(yè),只能把昨天寫的沒發(fā)的發(fā)上去。 PS:在外面,手機(jī)卡,沒看到某虎直播,心痛,嗚嗚嗚~...
    烈焰冰封閱讀 169評(píng)論 0 0
  • 小時(shí)候我的語文課是體育老師教的?每每發(fā)朋友圈的時(shí)候,都不知道寫點(diǎn)啥好,看著朋友圈朋友寫得文縐縐的心情都特別...
    馬小喵_8bcd閱讀 1,097評(píng)論 0 0
  • 春來春去, 云卷云舒。 且石且玉, 似得似失。
    易可風(fēng)閱讀 384評(píng)論 6 7

友情鏈接更多精彩內(nèi)容