怎樣學(xué)算法昔期?

學(xué)習(xí)算法累澡,不要一上來就開始啃《算法導(dǎo)論》愧哟,畢竟這本書并不適合新手學(xué)習(xí)蕊梧,如果你之前的算法基礎(chǔ)比較薄弱肥矢,只會(huì)一直陷在“拿起來又放下”的循環(huán)里∈可以怎么入門呢疟羹?建議還是看書+實(shí)戰(zhàn)参淫,實(shí)戰(zhàn)當(dāng)然也不是說要去干ACM或者是topcoder什么的涎才。

如何學(xué)習(xí)算法?

算法棕兼,其實(shí)可以分為三種伴挚。算法、面試算法田弥、競賽算法偷厦。

算法

也就是算法本身沈自,推薦一些書籍枯途。

1.入門系列:

《算法圖解》:“像小說一樣有趣的算法入門書”榴啸,主打“圖解”鸥印,通俗易懂

《大話數(shù)據(jù)結(jié)構(gòu)》:把理論講得有趣不枯燥狂鞋;每個(gè)數(shù)據(jù)結(jié)構(gòu)和算法骚揍,作者都結(jié)合了生活中的例子信不,能讓你有非常直觀的感受。

2.教科書系列:

《數(shù)據(jù)結(jié)構(gòu)與算法分析》:很多大學(xué)都拿它當(dāng)作教材,非常系統(tǒng)歇由、全面糊昙、嚴(yán)謹(jǐn),適合掌握了至少一門編程語言的同學(xué)没咙。作者也很貼心,這本書有三種語言的版本:《數(shù)據(jù)結(jié)構(gòu)與算法分析 : C 語言描述》《數(shù)據(jù)結(jié)構(gòu)與算法分析 : C++ 描述》《數(shù)據(jù)結(jié)構(gòu)與算法分析 : Java 語言描述》涡驮。

3.進(jìn)階之旅:

《算法導(dǎo)論》:有了一定基礎(chǔ)之后,就可以開始啃這本大部頭了棒口。

4.擴(kuò)展閱讀:

《算法之美》:算法科普剥懒,從生活中的各種問題說起:租房初橘、談戀愛、老虎機(jī)夜只、拍電影、面試旅挤、買彩票、各種排序柒瓣、找停車位、尋找新藥傍药、臨床試驗(yàn)、奧巴馬拉贊助薛训、預(yù)估電影票房等等闸英,非常生活化,可以作為補(bǔ)充閱讀辙喂。《算法帝國》:同樣是科普類書籍,并無涉及算法的原理與實(shí)現(xiàn)細(xì)節(jié)亲族,也可以作為補(bǔ)充閱讀帘靡。

5.殿堂級(jí)

《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》:包含很多卷炼鞠,深度赃阀、廣度观游、系統(tǒng)性、全面性是其他所有數(shù)據(jù)結(jié)構(gòu)和算法書籍都所無法相比聋丝。可以當(dāng)做一種挑戰(zhàn)~

競賽算法

算法學(xué)習(xí)最好由淺入深,先了解算法思維火惊,再去理解實(shí)際應(yīng)用宴倍;當(dāng)逐步全面的掌握相關(guān)知識(shí)體系俗他,有一定實(shí)踐經(jīng)驗(yàn)后,可以去參加一些競賽提升自己的算法能力羡亩。競賽算法是比較鍛煉人的吉殃,對(duì)于競賽來說瓦灶,每道題對(duì)輸入?yún)?shù)和樣本量的要求都非常明確,包括對(duì)空間的限制和運(yùn)行時(shí)間的限制也規(guī)定的非常明確家卖。

每一個(gè)競賽選手都非常熟練怎么根據(jù)這些提前給好的限制,反推出自己需要實(shí)現(xiàn)一個(gè)什么樣復(fù)雜度的解法才能通過叁征。所以對(duì)思維和邏輯上的鍛煉是非常有效的永罚。


一些比較常見的經(jīng)典算法題目:

——數(shù)學(xué)

尾部的零

斐波納契數(shù)列

x的平方根

x的平方根 2

大整數(shù)乘法

骰子求和

最多有多少個(gè)點(diǎn)在一條直線上

超級(jí)丑數(shù)

——特位操作

將整數(shù)A轉(zhuǎn)換為B更新二進(jìn)制位

二進(jìn)制表示

O(1)時(shí)間檢測2的冪次

二進(jìn)制中有多少個(gè)1

——?jiǎng)討B(tài)規(guī)劃

編輯距離正則表達(dá)式匹配

交叉字符串

乘積最大子序列

二叉樹中的最大路徑和

不同的路徑

通配符匹配

——堆

滑動(dòng)窗口的中位數(shù)數(shù)據(jù)流中位數(shù)

最高頻的K個(gè)單詞

接雨水

堆化

排序矩陣中的從小到大第k個(gè)數(shù)

——二叉樹

二叉樹中序遍歷二叉樹的序列化和反序列化

子樹

最近公共祖先

二叉樹的層次遍歷

將二叉樹拆成鏈表

在二叉查找樹中插入節(jié)點(diǎn)

——二分法

經(jīng)典二分查找問題二分查找

兩數(shù)組的交

區(qū)間最小數(shù)

尋找旋轉(zhuǎn)排序數(shù)組中的最小值

搜索排序區(qū)間

尋找峰值

——分治法

快速冪兩個(gè)排序數(shù)組的中位數(shù)

合并K個(gè)排序鏈表

——哈希表

變形詞子串哈希函數(shù)

短網(wǎng)址

復(fù)制帶隨機(jī)指針的鏈表

最小子串覆蓋

——矩陣

搜索二維矩陣旋轉(zhuǎn)圖像

島嶼的個(gè)數(shù)

螺旋矩陣

——寬度優(yōu)先搜索

克隆圖被圍繞的區(qū)域

拓?fù)渑判?/p>

單詞接龍

——鏈表

實(shí)現(xiàn)一個(gè)鏈表的反轉(zhuǎn)鏈表求和 II

刪除鏈表中的元素

LRU緩存策略

合并兩個(gè)排序鏈表

兩個(gè)鏈表的交叉

翻轉(zhuǎn)鏈表 II

復(fù)制帶隨機(jī)指針的鏈表

帶環(huán)鏈表

——枚舉法

統(tǒng)計(jì)數(shù)字名人確認(rèn)

最長連續(xù)上升子序列

最大子數(shù)組差

最長公共前綴

——排序

快排擺動(dòng)排序

最大間距

最接近零的子數(shù)組和

最大數(shù)

四數(shù)之和

數(shù)組劃分

第K大元素

排顏色

——深度優(yōu)先搜索

N皇后問題圖是否是樹

帶重復(fù)元素的排列

分割回文串

——數(shù)組

數(shù)組劃分逆序?qū)?/p>

合并區(qū)間

搜索旋轉(zhuǎn)排序數(shù)組

最大子數(shù)組

刪除排序數(shù)組中的重復(fù)數(shù)字

第二大的數(shù)組

先遞增后遞減數(shù)組中的最大值

兩數(shù)和 - 輸入的數(shù)據(jù)是有序的

兩個(gè)排序數(shù)組的中位數(shù)

在大數(shù)組中查找

顏色分類

合并排序數(shù)組

無序數(shù)組K小元素

中位數(shù)

奇偶分割數(shù)組

——貪心

主元素尋找缺失的數(shù)

買賣股票最佳時(shí)機(jī)

加油站

刪除數(shù)字

落單的數(shù)

最大子數(shù)組差

——線段樹

線段樹查詢線段樹的構(gòu)造

線段樹的修改

區(qū)間求和

統(tǒng)計(jì)比給定整數(shù)小的數(shù)的個(gè)數(shù)

——棧

帶最小值操作的棧用棧實(shí)現(xiàn)隊(duì)列

有效的括號(hào)序列

簡化路徑

——整數(shù)

反轉(zhuǎn)整數(shù)將整數(shù)A轉(zhuǎn)換為B

整數(shù)排序

——字符串處理

羅馬數(shù)字轉(zhuǎn)整數(shù)回文數(shù)

亂序字符串

有效回文串

翻轉(zhuǎn)字符串

最長無重復(fù)字符的子串

字符串壓縮

比較字符串編輯距離II

作者:九章算法

鏈接:https://www.zhihu.com/question/19981544/answer/747832788

來源:知乎

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泪蔫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子婿滓,更是在濱河造成了極大的恐慌额湘,老刑警劉巖嗡官,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婆咸,死亡現(xiàn)場離奇詭異,居然都是意外死亡憨闰,警方通過查閱死者的電腦和手機(jī)警儒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門记劝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砍鸠,你說我怎么就攤上這事∷ⅲ” “怎么了夫嗓?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵排霉,是天一觀的道長。 經(jīng)常有香客問我,道長浪谴,這世上最難降的妖魔是什么扶檐? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任奈梳,我火速辦了婚禮,結(jié)果婚禮上叫挟,老公的妹妹穿的比我還像新娘员凝。我一直安慰自己瓶蚂,他們只是感情好瞳别,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般乖订。 火紅的嫁衣襯著肌膚如雪扛点。 梳的紋絲不亂的頭發(fā)上眠饮,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天已旧,我揣著相機(jī)與錄音,去河邊找鬼。 笑死璃诀,一個(gè)胖子當(dāng)著我的面吹牛殖演,可吹牛的內(nèi)容都是我干的彼棍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蜘拉,長吁一口氣:“原來是場噩夢啊……” “哼葱跋!你這毒婦竟也來了咸产?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤社牲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡温圆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年澈圈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤学。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖布卡,靈堂內(nèi)的尸體忽然破棺而出崔挖,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布尊浓,位于F島的核電站瓦堵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏杂穷。R本人自食惡果不足惜滤港,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一聘芜、第九天 我趴在偏房一處隱蔽的房頂上張望瞎饲。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽好港。三九已至拔莱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工祭椰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親草描。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妻导,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

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