干貨:一個(gè)能讓你學(xué)會(huì)算法的開源項(xiàng)目
今天看到了一個(gè)極好的算法開源庫(kù),手把手撕LeetCode題目,扒各種算法套路的褲子。開源短短1個(gè)多月,收獲了近2萬(wàn)的star,可見該項(xiàng)目的質(zhì)量之高。
之所以推薦,是因?yàn)樽髡叩奈淖纸^對(duì)干貨良心,文字流暢,引人入勝。不是干巴巴的寫算法題的解,分析下時(shí)間復(fù)雜度。而是由淺入深的分析算法思維,享受算法的樂趣。授人以漁。
作者有話說(shuō):
本倉(cāng)庫(kù)總共 60 多篇原創(chuàng)文章,基本上都是基于 LeetCode 的題目,涵蓋了所有題型和技巧,而且一定要做到舉一反三,通俗易懂,絕不是簡(jiǎn)單的代碼堆砌,后面有目錄。
我先吐槽幾句。刷題刷題,刷的是題,培養(yǎng)的是思維,本倉(cāng)庫(kù)的目的就是傳遞這種算法思維。我要是只寫一個(gè)包含 LeetCode 題目代碼的倉(cāng)庫(kù),有個(gè)錘子用?沒有思路解釋,沒有思維框架,頂多寫個(gè)時(shí)間復(fù)雜度,那玩意一眼就能看出來(lái)。
只想要答案的話很容易,題目評(píng)論區(qū)五花八門的答案,動(dòng)不動(dòng)就秀 python 一行代碼解決,有那么多人點(diǎn)贊。問題是,你去做算法題,是去學(xué)習(xí)編程語(yǔ)言的奇技淫巧的,還是學(xué)習(xí)算法思維的呢?你的快樂,到底源自復(fù)制別人的一行代碼通過(guò)測(cè)試,已完成題目 +1,還是源自自己通過(guò)邏輯推理和算法框架不看答案寫出解法?
網(wǎng)上總有大佬噴我,說(shuō)我寫這玩意太基礎(chǔ)了,根本沒必要啰嗦。我只能說(shuō)大家刷算法就是找工作吃飯的,不是打競(jìng)賽的,我也是一路摸爬滾打過(guò)來(lái)的,我們要的是清楚明白有所得,不是故弄玄虛無(wú)所指。不想辦法做到通俗易懂,難道要上來(lái)先把《算法導(dǎo)論》吹上天,然后把人家都心懷敬仰地勸退?別的不說(shuō),公眾號(hào)幾萬(wàn)讀者,PDF 版本上萬(wàn)次下載,聯(lián)系我的出版社都好幾家,說(shuō)明質(zhì)量還過(guò)得去吧?
做啥事情做多了,都能發(fā)現(xiàn)套路的,我把各種算法套路框架總結(jié)出來(lái),相信可以幫助其他人少走彎路。我這個(gè)純靠自學(xué)的小童鞋,花了一年時(shí)間刷題和總結(jié),自己寫了一份算法小抄,后面有目錄,這里就不廢話了。


開源項(xiàng)目地址:
https://github.com/labuladong/fucking-algorithm