大 O 表示法

大 O 表示法是一種特殊的表示法绍移,指出了算法的速度有多快环凿。

在我們的日常工作中集嵌,基本都是使用其他人編寫好的算法萝挤,基本不太在乎算法的速度到底有多快。
但是根欧,人要往高處走嘛~最重要的是怜珍,面試的時(shí)候,面試官肯能會問...
那么我們今天來簡單的了解一下 大 O 表示法 凤粗。

  • 大O表示法 是什么樣子酥泛?

大O表示法

指出了算法需要執(zhí)行的操作數(shù)。之所以叫大O表示法就是因?yàn)椴僮鲾?shù)前有一個(gè)大O嫌拣,就是這么隨意...

  • 舉個(gè)栗子
    假設(shè)有一個(gè)數(shù)組柔袁,包含了n個(gè)元素。簡單查找异逐,也就是從數(shù)組的第0項(xiàng)(索引項(xiàng))找到某個(gè)元素捶索,需要從頭檢查到尾,因此需要執(zhí)行 n 次操作灰瞻。使用大O表示法腥例,這個(gè)運(yùn)行時(shí)間為 O(n)。單位呢酝润?沒有--大O表示法指的并非以秒為單位的速度燎竖。大O表示法讓你能夠比較操作數(shù),它指出了算法運(yùn)行時(shí)間的增速袍祖。
    再比如底瓣,為了檢查長度為 n 的數(shù)組谢揪,二分查找法需要執(zhí)行l(wèi)ogn次操作蕉陋。使用大O表示法就是 O(logn) 捐凭。

  • 大O表示法指出了最糟糕情況下的運(yùn)行時(shí)間
    假設(shè)有一個(gè)數(shù)組[1,2,3,4,5],如果使用簡單查找要查找“1”的話凳鬓,一次就能找到茁肠,但是即使這樣,算法的運(yùn)行時(shí)間依舊是O(n)而不是O(1)缩举。

  • 常見的大O運(yùn)行時(shí)間

    • O(log n) 也叫對數(shù)時(shí)間垦梆,這樣是算法包括二分查找法
    • O(n) 也叫線性時(shí)間,這樣的算法包括簡單查找
    • O(n*log n) 這樣是算法包括快速排序--一種比較快的排序算法
    • O(n2) 這樣的算法包括選擇排序--一種比較慢的排序算法
    • O(n!) 這樣的算法包括旅行商問題的解決方案--一種非常慢的算法
  • 畫個(gè)圖
    假設(shè)要畫一個(gè)包含16格的網(wǎng)格(4*4)仅孩,且有以上5種不同的算法可供選擇托猩,使用第一種算法的時(shí)候操作數(shù)為4(log6=4),假設(shè)每秒可執(zhí)行10次操作辽慕,那么需要0.4秒即可京腥。那么如果要畫1024個(gè)格子呢?這需要執(zhí)行10次(log1024=10)溅蛉,也就是一秒就可以畫完了。
    下圖分別畫出了繪制16個(gè)格子、繪制256個(gè)格子和繪制1024個(gè)格子在五種算法中分別消耗的時(shí)間奴愉。(這個(gè)例子是一個(gè)簡化比較版本职辨,實(shí)際情況可能個(gè)那個(gè)復(fù)雜)

繪制網(wǎng)格時(shí)間

大O表示法可以幫助我們快速分析算法的性能優(yōu)劣,也可以幫助我們分析一個(gè)算法的實(shí)用性镜撩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末预柒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子琐鲁,更是在濱河造成了極大的恐慌卫旱,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件围段,死亡現(xiàn)場離奇詭異顾翼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)奈泪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門适贸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涝桅,你說我怎么就攤上這事拜姿。” “怎么了冯遂?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵蕊肥,是天一觀的道長。 經(jīng)常有香客問我,道長壁却,這世上最難降的妖魔是什么批狱? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮展东,結(jié)果婚禮上赔硫,老公的妹妹穿的比我還像新娘。我一直安慰自己盐肃,他們只是感情好爪膊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砸王,像睡著了一般推盛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谦铃,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天小槐,我揣著相機(jī)與錄音,去河邊找鬼荷辕。 笑死凿跳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疮方。 我是一名探鬼主播控嗜,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骡显!你這毒婦竟也來了疆栏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惫谤,失蹤者是張志新(化名)和其女友劉穎壁顶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溜歪,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡若专,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蝴猪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片调衰。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖自阱,靈堂內(nèi)的尸體忽然破棺而出嚎莉,到底是詐尸還是另有隱情,我是刑警寧澤沛豌,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布趋箩,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏叫确。R本人自食惡果不足惜爬早,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望启妹。 院中可真熱鬧,春花似錦醉旦、人聲如沸饶米。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽檬输。三九已至,卻和暖如春匈棘,著一層夾襖步出監(jiān)牢的瞬間丧慈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工主卫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逃默,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓簇搅,卻偏偏與公主長得像完域,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子瘩将,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容