01 / 經典教材推薦
經典教材推薦
適合誰
適合剛開始修資料結構、覺得正式教科書不易入門的學生,想補足大學課程所教基礎的自學程式設計師與程式訓練營結業生,以及準備進一步閱讀標準教科書的讀者。本書假設讀者已能撰寫小型程式,並想弄懂為何有些程式快、有些程式慢。
需要的基礎
能以任一常見語言撰寫基本程式,包括迴圈、函式與陣列;數學上只需四則運算。
涵蓋內容
以步驟數衡量效率;時間與空間的 Big O 表示法;陣列、集合以及搭配二分搜尋的有序陣列;簡單排序演算法及其分析;雜湊表;堆疊與佇列;遞迴與遞迴思考;動態規劃與記憶化;快速排序與快速選擇;鏈結串列;二元搜尋樹;堆積與優先佇列;字典樹;圖及其廣度優先、深度優先搜尋與 Dijkstra 演算法;以及最佳化程式碼的實用技巧。
如何使用
巴爾加瓦的 Grokking Algorithms 主要以圖解介紹一組關鍵演算法;本書篇幅較長、以程式碼為中心,搭配習題逐一講解核心資料結構。想紮實練習分析實際程式碼時可選擇本書。建議讀完一章後,用自己慣用的語言執行並修改書中範例。
版本與來源
第2版,由 The Pragmatic Bookshelf 於2020年8月出版(ISBN 9781680507225),新增遞迴、動態規劃與日常運用 Big O 的章節,並於全書加入習題。本紀錄的書目資料取自 The Pragmatic Bookshelf。