索引 / 001 ZH-TW
A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(資料結構與演算法常識指南) cover

電腦科學

電腦科學

A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(資料結構與演算法常識指南)

Jay Wengrow

英文原名: A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

一本以淺白文字介紹程式設計師日常倚賴的資料結構與演算法的入門書。書中透過計算各項操作所需的步驟數來說明每種結構,並由這些計數建立 Big O 表示法,範例程式碼採用 JavaScript、Python 與 Ruby。每章末的習題可讓讀者檢驗理解程度。

需要的基礎: 能以任一常見語言撰寫基本程式,包括迴圈、函式與陣列;數學上只需四則運算。

難度等級
入門
學術層次
大學部
data structures演算法big o notationrecursion程式設計教科書

01 / 經典教材推薦

經典教材推薦

適合誰

適合剛開始修資料結構、覺得正式教科書不易入門的學生,想補足大學課程所教基礎的自學程式設計師與程式訓練營結業生,以及準備進一步閱讀標準教科書的讀者。本書假設讀者已能撰寫小型程式,並想弄懂為何有些程式快、有些程式慢。

需要的基礎

能以任一常見語言撰寫基本程式,包括迴圈、函式與陣列;數學上只需四則運算。

涵蓋內容

以步驟數衡量效率;時間與空間的 Big O 表示法;陣列、集合以及搭配二分搜尋的有序陣列;簡單排序演算法及其分析;雜湊表;堆疊與佇列;遞迴與遞迴思考;動態規劃與記憶化;快速排序與快速選擇;鏈結串列;二元搜尋樹;堆積與優先佇列;字典樹;圖及其廣度優先、深度優先搜尋與 Dijkstra 演算法;以及最佳化程式碼的實用技巧。

如何使用

巴爾加瓦的 Grokking Algorithms 主要以圖解介紹一組關鍵演算法;本書篇幅較長、以程式碼為中心,搭配習題逐一講解核心資料結構。想紮實練習分析實際程式碼時可選擇本書。建議讀完一章後,用自己慣用的語言執行並修改書中範例。

版本與來源

第2版,由 The Pragmatic Bookshelf 於2020年8月出版(ISBN 9781680507225),新增遞迴、動態規劃與日常運用 Big O 的章節,並於全書加入習題。本紀錄的書目資料取自 The Pragmatic Bookshelf。