引言

本文集是作者閱讀《算法圖解》一書所做的讀書筆記跛璧,內(nèi)容難免過于淺薄聘芜。之后將針對部分細節(jié)進行補充和完善,如有錯漏還望讀者留言指正侵浸。

算法是一組完成任務(wù)的指令,任何代碼片段都可視為算法氛谜。優(yōu)秀的算法可以提高程序執(zhí)行效率掏觉,或者解決一些有趣的問題。在學(xué)習(xí)算法的過程中我們可以嘗試理解算法的思路和應(yīng)用場景值漫,從而開闊視野澳腹,提升自身水準。

大O表示法
大O表示法是一種特殊的表示法杨何,用來表示算法處理數(shù)據(jù)花費的時間隨數(shù)據(jù)規(guī)模變化的規(guī)律酱塔,即算法的時間復(fù)雜度
下面以簡單查找算法為例進一步了解算法復(fù)雜度的概念以及大O表示法的使用方法危虱。

public int search(int key, int[] arr) {
  for (int idx = 0; idx < arr.length; idx++) {
    if (key == arr[idx]) {
      return idx;
    }
  }
  return -1;
}

以上代碼實現(xiàn)了一個簡單的查找算法羊娃,search()方法接收兩個參數(shù),key為要查找的目標埃跷,arr為查找的集合蕊玷,如果arr中包含該元素則返回元素的下標,否則返回-1弥雹。
假設(shè)檢查一個元素花費的時間為1垃帅,上面的算法當(dāng)中在最差的情況下需要檢查的次數(shù)為arr.length,平均檢查次數(shù)為1/2 * arr.length缅糟,所以上面查找算法查找元素花費的時間可以表示為t = 1/2 * arr.length挺智。使用大O表示法時通常會省略表達式中的常數(shù)項,所以簡單查找算法的時間復(fù)雜度為O(n)窗宦。
了解算法復(fù)雜度的意義在于:通過算法時間復(fù)雜度可以比較不同算法的操作數(shù)赦颇,計算算法運行時間隨數(shù)據(jù)規(guī)模的增速,從而評價算法的質(zhì)量赴涵。

常見的大O運行時間有以下幾種:

  1. O(logN), 也叫對數(shù)時間媒怯。
  2. O(N), 也叫線性時間。
  3. O(N*logN)髓窜。
  4. O(N2)扇苞。
  5. O(N!)欺殿。

下圖來自Time complexity - Wikipedia,圖中展示了常見算法復(fù)雜度的操作數(shù)隨輸入規(guī)模變化的曲線鳖敷。

Comparison computational complexity

至此引言部分結(jié)束脖苏,后續(xù)內(nèi)容將涉及常見排序算法,查找算法以及簡單的圖算法定踱。


作者水平有限棍潘,本文旨在記錄作者閱讀和學(xué)習(xí)過程,內(nèi)容質(zhì)量難以保證崖媚,暫不支持轉(zhuǎn)載亦歉,還望見諒

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市畅哑,隨后出現(xiàn)的幾起案子肴楷,更是在濱河造成了極大的恐慌,老刑警劉巖荠呐,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赛蔫,死亡現(xiàn)場離奇詭異,居然都是意外死亡直秆,警方通過查閱死者的電腦和手機濒募,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門鞭盟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圾结,“玉大人,你說我怎么就攤上這事齿诉◇菀埃” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵粤剧,是天一觀的道長歇竟。 經(jīng)常有香客問我,道長抵恋,這世上最難降的妖魔是什么焕议? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮弧关,結(jié)果婚禮上盅安,老公的妹妹穿的比我還像新娘。我一直安慰自己世囊,他們只是感情好别瞭,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著株憾,像睡著了一般蝙寨。 火紅的嫁衣襯著肌膚如雪晒衩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天墙歪,我揣著相機與錄音听系,去河邊找鬼。 笑死虹菲,一個胖子當(dāng)著我的面吹牛跛锌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播届惋,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼髓帽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脑豹?” 一聲冷哼從身側(cè)響起郑藏,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘩欺,沒想到半個月后必盖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡俱饿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年歌粥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍埠。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡失驶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枣购,到底是詐尸還是另有隱情嬉探,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布棉圈,位于F島的核電站涩堤,受9級特大地震影響某抓,放射性物質(zhì)發(fā)生泄漏娃循。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一药版、第九天 我趴在偏房一處隱蔽的房頂上張望德召。 院中可真熱鬧白魂,春花似錦、人聲如沸氏捞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽液茎。三九已至逞姿,卻和暖如春辞嗡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滞造。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工续室, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谒养。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓挺狰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親买窟。 傳聞我的和親對象是個殘疾皇子丰泊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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