close

showThumbnail (32).jpgshowLargeImage (5).jpgshowThumbnail (33).jpg

白話演算法!培養程式設計的邏輯思考(Grokking Algorithms:An illustrated guide for programmers and other curious people,Aditya Y. Bhargava)+演算法圖鑑(アルゴリズム図鑑:絵で見てわかる 26のアルゴリズム, 石田保輝 / 宮崎修一)+大話資料結構(程杰)

     變味一下,速讀三本演算法的入門書.說是速讀,其實呢,應該說是這兩本書原就不是寫的很艱澀,雖然也不太是重要讀物,不過對某些人來說,這種書的角色卻很重要.

    像這種教人學習的書籍,往往會有出版上尷尬的地方,以演算法為例,明明讀者可能知道它有如Thomas H·Cormen等所寫的"演算法導論"(Introduction to Algorithms)或是 Robert Sedgewick的"演算法"(Algorithms)
等經典且內容全面的書籍,但基本上這些作為教科書式編排的書籍很難讓人在沒有課業壓力逼迫下自動閱讀,畢竟內容本來就不易,加上枯燥的科學式敘述對於體會較遲鈍的人簡直就是天書,且根本上並不容易被一個初學者讀懂,因此一些出版社就會想在入門這個破口找尋出版的機會,但是呢國內出版入門書籍往往陷入一個迷思,簡單是夠簡單的,但然後呢?讀者可能看完入門書還是得要接著讀經典內容全面的磚頭著作,仍舊一樣會卡關,首先固然是可能遇到難題或阻礙卻無人可問,畢竟讀者可能都已經不是學生,或是專業在其他領域的興趣者讀者或學習者.而出版者往往是陷入只要出版易懂,最好連傻瓜看來也能明白的東西為主軸,卻往往忽略這種書的目標除人讓人讀懂,還應該具備讓讀者往較深入領域閱讀與理解的能力,而通常要讓一本人們書籍具備如此能力,需要的元素卻是不少.首先最好能以圖形,圖表來表現,文字淺顯,令讀者知道每一種演算法可能運用的場景情況,這些東西對文科編輯並非難事.但接下來就是問題了,困難的地方在於既是演算法就必然有需要計算的地方,講述運算邏輯的地方,但這些計算與方法講述如何呈現計算流程卻是一個不小的問題,有時過度簡化,往往以為讀者能夠自行知道的地方忽略一個步驟不印出,也許讀者就卡關了,但是若要詳細的每一個步驟都列出,簡直是耗費紙張,又怕多餘被嫌棄.第三呢除了這些以外,要過度的中間或深入的部分,往往需要提點讀者能夠額外思考或引法他興趣的部分,而這些最好是能夠從已與前述類似的手法逐步切進難題,或許經過這樣的過程,再切入Cormen與Sedgewick的書籍會如魚得水...

    我是偶然看到了這本Grokking Algorithms的新中文版,雖然它不算新書,但是此書的附帶程式碼是以Python寫成的,能同時讓演算法的觀點與個人近期在用的Python做結合,個人覺得還算實用,加上這本的優點是所涉及的演算法範圍內容不多,並不貪婪的想把每一種演算法內的子題都弄在一本書裡,但在它的幾個子題上都是用較淺顯的step by step方式來呈現計算與思考過程,即使只是一個雜湊,廣度優先搜尋,Dijkstra,背包問題,排課問題,動態規劃都是用簡單的例子假設一步步的以圖表將演算過程循序表現出來,很輕鬆就能讀懂,加上程式碼也都逐步行的來解說,我想這樣讀者應該不會只學到簡單的答案,還包括它核心的演算步驟,與解題思維.

     至於後面這兩本圖文書.日本人寫的"演算法圖鑑"以圖表為主題,文字為輔助,內容主要是將演算法的內容以全域視的觀點做一個整理,表現核心集中在對各種演算法子題的運用內容與所在,可以補足Grokking Algorithms所暫時省下與忽略的部分包括安全性演算法與分群上都有增補,但詳細的解法所述則沒有,不過可以提供讀者知道還有哪些演算法的內容是將來須補足的.至於第三本對岸出版的"大話資料結構",則一如書名,它是一本主要"口說"的形式來表現的書籍,這本內容非常多,但是它的寫法是假設有一個人如老師在課堂上講解那樣的型態來解說,包括演算法及其後續延伸中的排隊問題,樹,圖,排序,搜尋,線性規劃,都以白話的方式鉅細靡遺地呈現出來,是這三本中乾貨最多的一本,而比起Cormen與Sedgewick的的書來說又不那麼的硬,除了"大話"外它的圖表使用也相當的多,很容易就能理解作者之意,所以在銜接上非常合適在看完入門書籍之後,進入艱澀的經典之前作為主要的讀物,甚至個人以為這本在提供思維上比起那些艱澀的書籍能產出更多的驚喜.但這本書可能是較早期的,書中所附的程式都是C語言寫就的,雖然說就看"懂"而言不是太大的妨害,但是個人實作上畢竟近年都改用Python了,也就沒有去詳細的考證它,只是純粹的看懂程式邏輯與運算的目的而已,這是需要留意的.

    簡單來說這三本是能提供入門者閱讀且能過渡到專著的一種結合,當然要直接看Cormen與Sedgewick的的書籍也行,畢竟專業的人就是有那個能力,而其他非灣業想跨練的或是自覺沒辦法一蹴可幾的也許能試試從這邊進入.以上.

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 speculatortw 的頭像
    speculatortw

    打醬油的汗牛馬

    speculatortw 發表在 痞客邦 留言(0) 人氣()