-
1 # 魔數思
-
2 # 碼農愛物
如果是純新手沒有科班學習經驗,推薦《大話資料結構》這本書。比較適合零基礎的學習。
如果是科班的上過相應的課程建議《演算法導論》這本書。有深度,有高度。可作為課程的補充和進階書籍。
如果是想找工作應付面試可以。試試這本演算法競賽入門梳理。
另外,還有劍指offer。比較適合找準備找工作。
以上是推薦的書籍。不過最好配合線上練習,使得學習更加深入。
推薦幾個線上練習網站。
https://www.lintcode.com
http://leetcode.com
理論和實踐集合。學習會更有效率。希望可以幫到您。
-
3 # 蟲蟲安全
各語言基本都有此類書,去搜索下針對學習。
同時蟲蟲再推薦一本書精讀下,這本書是結合實際問題來講演算法和資料結構的,很多面試題都直接取自本書。他就是大名鼎鼎的《程式設計珠璣》:
-
4 # WuqueYu
由於這個問題描述也不多,我就簡單分為有基礎和沒有基礎的吧。
第一,如果是沒有基礎的同學建議可以先從啊哈磊的《啊哈!演算法》開始入手。這本書的特點就是你可以看懂他在說什麼,內容描述比較簡單而且也有不少的有趣配圖,透過小故事或者是遊戲來帶你走入資料結構的大門。基本上常用的資料結構和演算法都是有涉及到的,比較適合入門使用。
第二,我當時大學裡面數據結構課程的書是清華大學出版的嚴蔚敏老師的《資料結構(c語言版)》,個人覺得講解還不錯。說是c語言其實大部分都是虛擬碼,如果你有一定的語言基礎的話看起來都是比較輕鬆的,而且虛擬碼一個好處就是可以讓你清楚瞭解整個資料結構是如何實現的,但是具體程式碼怎麼寫還是要你自己去思考了。這就可以有一個比較獨立思考的過程來真正實現出某一具體資料結構。書後好像還有配套的練習吧,然後也是有相應的習題答案的。
基本上這2本書就能夠幫助你瞭解到基本的資料結構和演算法的使用了,進階的話可以看看《演算法導論》,這本書講解內容就比較深了,不推薦一上來就啃,如果有實力能看英文原版就更好了!
學習資料結構和演算法,一開始你可能只是知道這麼個東西完全不瞭解他是用來幹嘛的,等有一定的使用經驗跟coding經驗之後就會慢慢理解了。它們本質上來說都是透過清晰的邏輯來解決我們生活當中的問題而已!學習程式設計的話,還是強烈建議要多動手去實現,哪怕是對著書上的程式碼一行行去敲都是ok的,儘量保證每一天都能敲幾行熟悉熟悉!
回覆列表
你可以看看計算機專業的教科書 一般計算機專業的學生在大二會修演算法和資料結構的課 你可以去借他們的書 我當年讀書教材用的是資料結構與演算法分析(機械工業出版社)我自己買了本演算法導論 當時可寶貝了
我個人覺得如果你是純粹自學 看這類書堅持起來非常困難 尤其是看不懂時會很受挫就放棄了 我推薦你在coursera或其他的影片教學網站跟著影片學 然後自己看書 會好很多 然後自己再去刷一些簡單演算法題 比如leetcode就是挺好的題庫
學習資料結構和演算法是個比較艱辛的過程 需要你有一些耐心和毅力 很多精巧的演算法短時間想弄明白的確很困難 所以你要調整好心態 看不懂是正常的 但要堅持去思考 不放棄 慢慢在腦子裡想 總有一天會想明白的