(現(xiàn)在累計161道。)https://leetcode-cn.com/u/yanshinian/
算法的好處
太多了。我就想說兩點。
- 降低后續(xù)技術(shù)的學(xué)習(xí)成本。比如:nginx就用到了紅黑樹。
- 擴(kuò)展你的視野。比如:你做題多了。你的代碼整潔度跟熟練度。以及你對技術(shù)的理解可能就不一樣了。算法還是蠻有趣的。
算法的學(xué)習(xí)
簡單粗暴。一波課程推薦。不是你學(xué)不會,是你看的資料可能還不夠好。
如果你什么都不曉得?那你至少可以看下《大話數(shù)據(jù)結(jié)構(gòu)》。這本書至少很簡單的入門了。
如果你什么語言都不會?那至少先看一門面向?qū)ο蟮恼Z言。C++跟java或者python代碼也是能知道啥意思了。
慕課上有個老師叫做liuyubobobo 主頁如下。http://www.imooc.com/t/108955 (注意,我不是打廣告,因為連接上毛都沒帶)
如果你想用代碼實現(xiàn)一遍數(shù)據(jù)結(jié)構(gòu)
《玩轉(zhuǎn)算法系列--數(shù)據(jù)結(jié)構(gòu)精講 更適合0算法基礎(chǔ)入門到進(jìn)階(java版)》可以學(xué)到什么:老師用java都親自把數(shù)組、二叉樹、并查集、AVL、紅黑樹、字典樹都實現(xiàn)了一遍。曾經(jīng)我以為紅黑樹很難。你看了就會覺得原來好簡單。
如果你想開始刷題了
《玩轉(zhuǎn)算法面試 從真題到思維全面提升算法思維》可以滿足你的刷題欲望。
一個題有多個解。每個題解的復(fù)雜度。邊界條件。要考慮哪些點。
另外,刷題快有個tips。就是看完一個主題就刷一個主題的題。這樣是比較快的。
極客時間 《算法面試通關(guān)40講》 也適合刷題,老師把一些代碼的套路,做題技巧,都會告知你。
如果你覺得覃超老師對你幫助很大,也可以支持算法訓(xùn)練營。會有更多的內(nèi)容。除此之外我推薦的其實就夠用了。
如果你想對排序一遍了解通過
《算法與數(shù)據(jù)結(jié)構(gòu)-綜合提升C++版(快速應(yīng)對面試)》這個課程中有對排序的講解。依然很棒。
如果你想擴(kuò)展視野
比如,算法都應(yīng)用到哪些地方了?
極客時間《數(shù)據(jù)結(jié)構(gòu)與算法之美》高級篇可以看看。
刷LeetCode
我覺得你想刷就咋刷。下面我看到兩個鏈接。有的心得不錯。自己體會。