學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法之美筆記

為什么學(xué)數(shù)據(jù)結(jié)構(gòu)和算法

縱觀時(shí)代的發(fā)展骤菠,從具體到抽象它改,從計(jì)算機(jī)到萬維網(wǎng)疤孕;時(shí)代的腳步一直在向前進(jìn)步,而我們要么引領(lǐng)時(shí)代要么緊隨時(shí)代央拖,再要么落后時(shí)代祭阀,想必沒有誰愿意落后,要做的大多數(shù)是緊隨時(shí)代腳步鲜戒,正如華為老總?cè)握撬f:沒有成功的企業(yè)专控,只有踩對(duì)時(shí)代節(jié)拍的公司。現(xiàn)如今信息發(fā)達(dá)遏餐,大數(shù)據(jù)時(shí)代來臨伦腐,身為IT從業(yè)人員,哪能不去學(xué)習(xí)了解失都;而且當(dāng)了解(掌握)了數(shù)據(jù)結(jié)構(gòu)與算法柏蘑,你看待問題的深度,解決問題的角度就會(huì)完全不一樣粹庞。因?yàn)檫@樣的你咳焚,就像是站在巨人的肩膀上,拿著生存利器行走世界庞溜。數(shù)據(jù)結(jié)構(gòu)與算法革半,會(huì)為你的編程之路,甚至人生之路打開一扇通往新世界的大門流码。

先看入門書籍:《大話數(shù)據(jù)結(jié)構(gòu)》《算法圖解》
數(shù)據(jù)結(jié)構(gòu)和算法是相輔相成的又官。數(shù)據(jù)結(jié)構(gòu)是為算法服務(wù)的,算法要作用在特定的數(shù)據(jù)結(jié)構(gòu)之上漫试。
想要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法赏胚,首先要掌握一個(gè)數(shù)據(jù)結(jié)構(gòu)與算法中最重要的概念——復(fù)雜度分析。
初級(jí)學(xué)習(xí)者商虐,只有逐一攻克20個(gè)最常用觉阅、最基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)與算法的知識(shí)點(diǎn)就足夠了。

10個(gè)數(shù)據(jù)結(jié)構(gòu):數(shù)組秘车、鏈表典勇、棧、隊(duì)列叮趴、散列表割笙、二叉樹、堆、跳表伤溉、圖般码、Trie樹;10個(gè)算法:遞歸乱顾、排序板祝、二分查找、搜索走净、哈希算法券时、貪心算法、回溯算法伏伯、動(dòng)態(tài)規(guī)劃橘洞、字符串匹配算法

數(shù)據(jù)結(jié)構(gòu)和算法本身解決的是“快”和“省”的問題说搅。如何做到更快更省炸枣,就要對(duì)時(shí)間、空間復(fù)雜度分析必須了解弄唧。復(fù)雜度分析是整個(gè)算法學(xué)習(xí)的精髓适肠,只要掌握了它,數(shù)據(jù)結(jié)構(gòu)和算法的內(nèi)容基本上就掌握了一半套才。

大O復(fù)雜度表示法
算法的執(zhí)行效率迂猴,粗略地講,就是算法代碼執(zhí)行的時(shí)間背伴。


T(n)表示代碼執(zhí)行的時(shí)間沸毁;n表示數(shù)據(jù)規(guī)模的大小傻寂;f(n)表示每行代碼執(zhí)行的次數(shù)總和息尺。因?yàn)檫@是一個(gè)公式,所以用f(n)來表示疾掰。公式中的O搂誉,表示代碼的執(zhí)行時(shí)間T(n)與f(n)表達(dá)式成正比。

時(shí)間復(fù)雜度分析
1.只關(guān)注循環(huán)執(zhí)行次數(shù)最多的一段代碼
我們?cè)诜治鲆粋€(gè)算法静檬、一段代碼的時(shí)間復(fù)雜度的時(shí)候炭懊,也只關(guān)注循環(huán)執(zhí)行次數(shù)最多的那一段代碼就可以了。

2.加法法則:總復(fù)雜度等于量級(jí)最大的那段代碼的復(fù)雜度
3.乘法法則:嵌套代碼的復(fù)雜度等于嵌套內(nèi)外代碼復(fù)雜度的乘積

幾種常見的時(shí)間復(fù)雜度分析實(shí)例

空間復(fù)雜度分析
時(shí)間復(fù)雜度的全稱是漸進(jìn)時(shí)間復(fù)雜度拂檩,表示算法的執(zhí)行時(shí)間與數(shù)據(jù)規(guī)模之間的增長(zhǎng)關(guān)系侮腹。類比一下,空間復(fù)雜度全稱就是漸進(jìn)空間復(fù)雜度(asymptotic space complexity)稻励,表示算法的存儲(chǔ)空間與數(shù)據(jù)規(guī)模之間的增長(zhǎng)關(guān)系父阻。

還有4個(gè)復(fù)雜度分析的知識(shí)點(diǎn):
最好情況時(shí)間復(fù)雜度(best case time complexity)、最壞情況時(shí)間復(fù)雜度(worst case time complexity)、平均情況時(shí)間復(fù)雜度(average case time complexity)加矛、均攤時(shí)間復(fù)雜度(amortized time complexity)履婉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斟览,隨后出現(xiàn)的幾起案子毁腿,更是在濱河造成了極大的恐慌,老刑警劉巖趣惠,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狸棍,死亡現(xiàn)場(chǎng)離奇詭異身害,居然都是意外死亡味悄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門塌鸯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侍瑟,“玉大人,你說我怎么就攤上這事丙猬≌茄眨” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵茧球,是天一觀的道長(zhǎng)庭瑰。 經(jīng)常有香客問我,道長(zhǎng)抢埋,這世上最難降的妖魔是什么弹灭? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮揪垄,結(jié)果婚禮上穷吮,老公的妹妹穿的比我還像新娘。我一直安慰自己饥努,他們只是感情好捡鱼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酷愧,像睡著了一般驾诈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上溶浴,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天乍迄,我揣著相機(jī)與錄音,去河邊找鬼戳葵。 笑死就乓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播生蚁,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼噩翠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了邦投?” 一聲冷哼從身側(cè)響起伤锚,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎志衣,沒想到半個(gè)月后屯援,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡念脯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年狞洋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绿店。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吉懊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出假勿,到底是詐尸還是另有隱情借嗽,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布转培,位于F島的核電站恶导,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏浸须。R本人自食惡果不足惜惨寿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望羽戒。 院中可真熱鬧缤沦,春花似錦、人聲如沸易稠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驶社。三九已至企量,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亡电,已是汗流浹背届巩。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留份乒,地道東北人恕汇。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓腕唧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親瘾英。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枣接,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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