關於《演算法圖解》(原書《grokking algorithms》)的一些個人感想

RF Backspace發表於2017-04-27

最近因為專業問題讀了讀《演算法圖解》的原版《algorithms》,因為自身水平有限而且並未讀完所以不對該書內容做任何學術性質的評價,僅僅就自己所讀的部分向其他人分享點感想。

首先該書適合初學計算機程式語言的小夥伴,因為它真的非常非常容易懂,貫穿全書的大o法也確實挺實用的,它可以讓你擁有一種全新的思路去解決一個問題或者得到一個最優解。如果會一點Python的話讀這本書應該會覺得更容易些。插個題外話,個人覺得國內部分大學計算機系如果從Python教起會更好點。不是說否定國內很多大學計算機專業直接教授c語言不對,畢竟c比較難所以需要花費更多時間去學習並且熟練掌握是正確的,但是如果學習下國外大學的教法優先從Python教起會不會更好呢。因為我是一個留學黨,學的就是計算機專業,我們學校和我認識的同專業的留學黨都是優先從Python學起,而我們剛接觸這個專業的時候並非直接學習語言而是從Alice開始培養思維,然後過渡到Python,再到java,最後才涉及到c。而到java和c的時候我們可以用很短的時間瞭解和簡單運用java和c,畢竟語言思路是相同的只是部分細節不同,所以個人感覺如果你作為一個想學習語言的萌新的話你可以嘗試從Python這種簡單易學的語言學起,培養了思維後再逐漸深入。扯的有點遠了,轉會正題。 這本書因為定位就是入門級所以涉及的東西並不是特別難,而且通過圖畫以及對應的程式讓讀者更加容易讀懂,當然,最好的方式就是親自實踐多敲鍵盤。學習這種專業我最深的感覺就是一定要親自實踐杜絕眼高手低,題目往往真不難,只要你肯花時間,拿筆多畫畫框圖,多敲敲程式碼你一定會有收穫的。

當然咯,這本書確實挺好的,但看你想怎麼看了,如果只是單純的想學習瞭解一些演算法的話可以忽略以下內容,如果想學的更深入點的話可以稍微參考下這一段。這本書寫的確實很淺顯易懂,很多重點知識都只是如同蜻蜓點水一般但涉及到重點部分或者用到的部分就一帶而過了,然而有一些知識卻要你自己去學習的(好像是外國人的習慣,給你些基礎然後根據你想到達的程度讓你考慮是否要自學其他的),舉個最簡單的例子,像陣列(array data structure,簡稱array)的具體理論知識就並未涉及,如果你不知道並且想了解更多你就需要自己去找相關資料去學習。書本提供的題目是第二個問題,個人覺得略微少了點,所以有的時候就需要自己找題或者自己編題來實踐。

總結下,如果你是新手,這本書絕對適合你,而且個人建議搭配Python一起學習效果會更加顯著。切記多練習,多碼東西沒有壞處!!!如果能力足夠可以嘗試看原版,因為我在讀原版和翻譯版時候就明顯感覺到有些東西在原版時候的理解與讀者有點差異,即使最後的結果一致,所以如果有能力或者讀完了翻譯版可以嘗試下原版,嗯對了,想學到更多的東西一定要多查多問多交流,這樣會幫助你更快更好的進步。


相關文章