數(shù)據(jù)結(jié)構(gòu)與算法之美(零):學前準備

筆者作為一名非科班出身的程序員担映,想系統(tǒng)地補充“數(shù)據(jù)結(jié)構(gòu)與算法”這一塊知識,入了極客時間的專欄《數(shù)據(jù)結(jié)構(gòu)與算法之美》淋肾,希望能以筆記的形式總結(jié)硫麻、分享所學,更以督促學習樊卓。

本章內(nèi)容源于對專欄以下章節(jié)的學習筆記:

經(jīng)驗篇

作者開篇介紹了兩個和數(shù)據(jù)結(jié)構(gòu)與算法有關(guān)的例子:

  • 1.在作者的學生時代券敌,為了幫他提高編程能力,師兄給了他一本《算法導論》柳洋,使他對算法開始著迷待诅。通過對數(shù)據(jù)結(jié)構(gòu)與算法的研究,編程能力有了質(zhì)的飛躍熊镣。他認為那是他人生為數(shù)不多的轉(zhuǎn)折點之一卑雁。
  • 2.一位在騰訊工作10年的T4大牛,跳槽去區(qū)塊鏈領(lǐng)域绪囱,用了不到半年時間测蹲,就把區(qū)塊鏈的整個技術(shù)脈絡(luò)摸清楚了。他曾經(jīng)說毕箍,像區(qū)塊鏈弛房、人工智能這些看似很新的技術(shù),其實一點兒都不“新”而柑。最初學編程的時候文捶,他就把那些基礎(chǔ)的知識都學透了。當面臨行業(yè)變動媒咳、新技術(shù)更迭的時候粹排,他不斷發(fā)現(xiàn),那些所謂的新技術(shù)涩澡,核心和本質(zhì)的東西其實就是當初學的那些知識顽耳。

基礎(chǔ)知識就像是一座大樓的地基,它決定了我們的技術(shù)高度妙同。而要想快速做出點事情射富,前提條件一定是基礎(chǔ)能力過硬,“內(nèi)功”要到位粥帚。

我們都知道基礎(chǔ)無外乎就是操作系統(tǒng)胰耗、計算機網(wǎng)絡(luò)、編譯原理等芒涡,當然還有數(shù)據(jù)結(jié)構(gòu)和算法柴灯。

人生路上,我們會遇到很多的坎费尽≡海跨過去,你就可以成長旱幼,跨不過去就是困難和停滯查描。而在后面很長的一段時間里,你都需要為這個困難買單。對于我們技術(shù)人來說冬三,更是這樣鸯两。既然數(shù)據(jù)結(jié)構(gòu)和算法這個坎,我們總歸是要跨過去长豁,為什么不是現(xiàn)在呢?

目的篇

我們?yōu)槭裁匆獙W習數(shù)據(jù)結(jié)構(gòu)和算法忙灼?

1.通關(guān)大廠面試

  • 就校招而言匠襟,沒有實際項目經(jīng)驗,公司只能考察基礎(chǔ)知識是否牢固该园。
  • 就社招而言酸舍,越是厲害的公司越重視考察數(shù)據(jù)結(jié)構(gòu)與算法等基礎(chǔ)知識,相對短期能力里初,公司更看中你的長期潛力啃勉。

擺正心態(tài):我們學任何知識都是為了“用”的,是為了解決實際工作問題双妨。

2.避免只會業(yè)務操作

在基礎(chǔ)框架中淮阐,一般都柔和了很多基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和算法的設(shè)計思想。掌握數(shù)據(jù)結(jié)構(gòu)和算法刁品,不管對于閱讀框架源碼泣特,還是理解其背后的設(shè)計思想,都是非常有用的挑随。

3.開源框架的目標

相同原理的框架状您,為什么有的人寫的就可以在GitHub上被很多人使用,甚至被官方收錄兜挨?歸根結(jié)底在于細節(jié)膏孟,比如算法的優(yōu)化、數(shù)據(jù)存儲效率拌汇、內(nèi)存的優(yōu)化等等柒桑。

4.對編程的追求

不想只會寫湊合的代碼,對編程有所追求担猛。性能好壞起碼是評判代碼非常重要的一個標準幕垦。

小結(jié):學習數(shù)據(jù)結(jié)構(gòu)和算法,并不是為了死記硬背幾個知識點傅联。目的是建立時間復雜度先改、空間復雜度意識,寫出高質(zhì)量的代碼蒸走,能夠設(shè)計基礎(chǔ)架構(gòu)仇奶,提升編程技能,訓練邏輯思維,積攢人生經(jīng)驗该溯,以此獲得工作回報岛抄,實現(xiàn)你的價值,完善你的人生狈茉。掌握了數(shù)據(jù)結(jié)構(gòu)與算法夫椭,你看待問題的深度,解決問題的角度就會完全不一樣氯庆。

方法篇

如何系統(tǒng)高效地學習數(shù)據(jù)結(jié)構(gòu)與算法蹭秋?

1.數(shù)據(jù)結(jié)構(gòu)與算法的定義

從廣義上講,數(shù)據(jù)結(jié)構(gòu)就是指一組數(shù)據(jù)的存儲結(jié)構(gòu)堤撵。算法就是操作數(shù)據(jù)的一組方法仁讨。

2.數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系

數(shù)據(jù)結(jié)構(gòu)和算法是相輔相成的。數(shù)據(jù)結(jié)構(gòu)是為算法服務的实昨,算法要作用在特定的數(shù)據(jù)結(jié)構(gòu)之上洞豁。

3.學習認知要求

搞清楚:是什么、為什么荒给、怎么做丈挟?

4.學習重點

  • 首先要掌握一個數(shù)據(jù)結(jié)構(gòu)與算法中最重要的概念——復雜度分析;
  • 10個數(shù)據(jù)結(jié)構(gòu):數(shù)組志电、鏈表礁哄、棧、隊列溪北、散列表桐绒、二叉樹、堆之拨、跳表茉继、圖、Trie 樹蚀乔;
  • 10個算法:遞歸烁竭、排序、二分查找吉挣、搜索派撕、哈希算法、貪心算法睬魂、分治算法终吼、回溯算法、動態(tài)規(guī)劃氯哮、字符串匹配算法际跪;
  • 學習它們的來歷自身的特點適合解決的問題以及實際的應用場景姆打。

5.學習技巧

  • 邊學邊練良姆,適度刷題
  • 多問、多思考幔戏、多互動
  • 打怪升級學習法:留言玛追、筆記、心得闲延、找錯
  • 知識需要沉淀豹缀,不要想試圖一下子掌握所有:學習知識的過程是反復迭代、不斷沉淀的過程慨代,書讀百遍其義自見
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啸如,隨后出現(xiàn)的幾起案子侍匙,更是在濱河造成了極大的恐慌,老刑警劉巖叮雳,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件想暗,死亡現(xiàn)場離奇詭異,居然都是意外死亡帘不,警方通過查閱死者的電腦和手機说莫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寞焙,“玉大人储狭,你說我怎么就攤上這事〉方迹” “怎么了辽狈?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呛牲。 經(jīng)常有香客問我刮萌,道長,這世上最難降的妖魔是什么娘扩? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任着茸,我火速辦了婚禮,結(jié)果婚禮上琐旁,老公的妹妹穿的比我還像新娘涮阔。我一直安慰自己,他們只是感情好灰殴,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布澎语。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擅羞。 梳的紋絲不亂的頭發(fā)上尸变,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音减俏,去河邊找鬼召烂。 笑死,一個胖子當著我的面吹牛娃承,可吹牛的內(nèi)容都是我干的奏夫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼历筝,長吁一口氣:“原來是場噩夢啊……” “哼酗昼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起梳猪,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤麻削,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后春弥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呛哟,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年匿沛,在試婚紗的時候發(fā)現(xiàn)自己被綠了扫责。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡逃呼,死狀恐怖鳖孤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抡笼,我是刑警寧澤淌铐,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蔫缸,受9級特大地震影響腿准,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拾碌,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一吐葱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧校翔,春花似錦弟跑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哎甲。三九已至,卻和暖如春饲嗽,著一層夾襖步出監(jiān)牢的瞬間炭玫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工貌虾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吞加,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓尽狠,卻偏偏與公主長得像衔憨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子袄膏,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

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