★★★★★Amazon.com 年度暢銷書、五星推薦 ★★★★★
★★★★★授權多國版權,最受好評的演算法書籍★★★★★
★★★★★580 餘張插圖解說,複雜原理一看就懂★★★★★
★★★★★客製化刷題機器人,工作面試自信滿滿★★★★★
【專家好評推薦】
◆Daniel Zingaro | 多倫多大學數學與資訊科學系 副教授
◆高孟駿 | 陽明交通大學資工系 副教授
◆韓永楷 | 清華大學資工系 教授
(以上依照姓名筆劃順序排列)
▼特別收錄▼
————————————————————————
▍實用的 AI 輔助:
⦿ 用 AI 輔助寫程式
⦿ 用 ChatGPT 改寫成不同程式語言的程式碼
▍Coding Interview 要點:
⦿ 使用遞迴的面試考題
⦿ 利用雜湊表解 Two Sum 問題
⦿ 用 BFS 演算法解 Word Ladder 題目
⦿ 最長重複子陣列
⦿ 尋找座標上最接近原點的某幾個點
▍客製化刷題機器人 – 驗證你的演算法學習成效
————————————————————————
傳統的演算法書籍太過枯燥無聊,裡面全是些看再多遍也看不懂的複雜理論、數學公式還有程式,光是翻幾頁就讓人哈欠連連,這對初學者而言就像在看外星文,而且有些程式概念很抽象,更是無法透過文字敘述就能理解。
本書透過生活化的舉例做引導,並避免無聊又複雜的敘述,目的就是希望讓讀者能像閱讀小說般地學會演算法概念。我相信最好的學習方式就是能回想起我們熟悉的事物,以範例來說明會讓你更容易回想。例如,當你忘記【陣列】與【鏈結串列】的差異時 (本書第 2 章的主題),只要回想到在電影院找座位就可以了。
本書內容精心挑選過,而且用生動有趣的手繪圖來輔助理解,所介紹的演算法都非常實用,希望能幫讀者奠定良好的基礎,以便將來學習更進階的演算法。
【本書含括】
二元搜尋法/Big O notation/遞迴/戴克斯特拉演算法/選擇排序法/貪婪演算法/樹狀圖/平衡樹/動態規劃演算法/快速排序法/雜湊表/K 最近鄰演算法/廣度優先搜尋法/反向索引/傅立葉轉換/平行演算法/分散式演算法/迪菲赫爾曼金鑰交換/線性規劃/NP-complete、……等。
本書特色:
✔ 培養程式設計的邏輯思考能力
✔ 內容淺顯易懂,沒有長篇難懂的理論
✔ 透過生活化的範例,學會拆解複雜問題的方法
✔ 比較演算法的效能,幫助您挑選最適用的演算法來解決問題
✔ 一本書就能學到最經典的演算法,沒有理工背景的人也能看懂
✔ 提供網路下載 Python、C、C++、Java、……等多種語言的程式碼
✔ 採用 580 餘張插圖,讓生硬的演算法變有趣,複雜的原理一看就懂
本書適合:
⦿ 想自學演算法的人
⦿ 想重溫演算法的程式設計師、工程師
⦿ 對閱讀理論及數學公式有莫名恐懼,習慣圖像式思考的人
目錄
Ch01 二元搜尋法 (Binary Search) 與演算法執行時間
Ch02 選擇排序法 (Selection Sort)
Ch03 遞迴 (Recursion)
Ch04 Divide-and-Conquer 與快速排序法 (Quicksort)
Ch05 雜湊表 (Hash table)
Ch06 廣度優先搜尋 (Breadth-First Search)
Ch07 樹狀圖 (tree)
Ch08 平衡樹 (Balanced Tree)
Ch09 戴克斯特拉 (Dijkstra) 演算法
Ch10 貪婪演算法 (Greedy Algorithm)
Ch11 動態規劃演算法 (Dynamic Programming Algorithm)
Ch12 K-最近鄰演算法 (K-Nearest Neighbors Algorithm)
Ch13 進階之路:推薦十種演算法
附錄 A AVL 樹的效能
附錄 B NP-hard 問題
附錄 C 習題與解答
Bonus 客製化刷題機器人–驗證你的演算法學習成效
Ch01 二元搜尋法 (Binary Search) 與演算法執行時間
Ch02 選擇排序法 (Selection Sort)
Ch03 遞迴 (Recursion)
Ch04 Divide-and-Conquer 與快速排序法 (Quicksort)
Ch05 雜湊表 (Hash table)
Ch06 廣度優先搜尋 (Breadth-First Search)
Ch07 樹狀圖 (tree)
Ch08 平衡樹 (Balanced Tree)
Ch09 戴克斯特拉 (Dijkstra) 演算法
Ch10 貪婪演算法 (Greedy Algorithm)
Ch11 動態規劃演算法 (Dynamic Programming Algorithm)
Ch12 K-最近鄰演算法 (K-Nearest Neighbors Algorithm)
Ch13 進階之路:推薦十種演算法
附錄...