白話演算法!培養程式設計的邏輯思考 (Grokking Algorithms: An illustrated guide for programmers and other curious people)

Aditya Y. Bhargava 著 郭柏堅 譯;施威銘研究室 監修

買這商品的人也買了...

商品描述

~自學演算法必備的第一本書~
~想重溫演算法的程式設計師、工程師必讀!~

坊間的演算法書籍一本比一本厚重,裡面全是些看再多遍也看不懂的理論及數學證明,還有一堆沒註解的程式碼,光是翻幾頁就讓人哈欠連連,而且有些概念很抽象,更是無法透過文字敘述就能理解。

本書作者一開始也無法跨越演算法這堵高牆,直到遇見優秀的演算法教授後,才發現原來演算法一點都不無聊,而且還相當有趣!於是他想到可以透過生活化的範例做引導,避免無聊又複雜的敘述,讓初學者能像閱讀小說般地學會演算法概念。同時透過習題及多種解釋方法,讓你檢視自己的理解是否有誤,並確認是否已經瞭解所學的內容。

書中的內容全是精心挑選過,且用生動有趣的手繪圖來輔助理解,這些全是程式設計師在工作上會用到的演算法,希望本書能幫你奠定良好的基礎,以便將來學習更進階的演算法。

【本書含括】

二元搜尋法/Big O notation/遞迴/戴克斯特拉演算法/選擇排序法/貪婪演算法/動態規劃演算法/快速排序法/雜湊表/K 最近鄰演算法/廣度優先搜尋法/樹狀結構/反向索引/傅立葉轉換/平行演算法/分散式演算法/SHA 演算法/迪菲赫爾曼金鑰交換/線性規劃、……等。

【好評推薦】

◆ 趙坤茂 臺灣大學資訊工程學系教授
◆ 韓永楷 清華大學資工系教授 / 電資院學士班班主任 
◆ 謝孫源 成功大學資訊工程系講座教授/成大研究發展基金會執行長
◆ 凱心琳 「Untyped 對啊我是工程師」YouTuber
◆ 台南女中資訊研究社
◆ 台南二中資訊研究社
本書特色: 
  ★連續三年 Amazon五星推薦!
★授權多國版權,最受好評的演算法書籍!

□ 即使沒有理工背景的人也能看懂!
□ 透過生活化的範例,學會拆解複雜問題的方法。
□ 培養寫程式的邏輯思考力。
□ 書中所附的 Python 程式碼皆加上註解說明。
□ 提供網路下載 Python、C、C++、Java、……等多種語言的程式碼。
□ 採用 400 餘張插圖,讓生硬的演算法變有趣,複雜的原理一看就懂。
□ 比較不同演算法的效能,幫助您挑選最適用的演算法來解決問題。
□ 獨家解析「為什麼雜湊表是 O(1) 時間」、「陣列的讀取速度為什麼很快?」

目錄大綱

目錄: 

Ch01 二元搜尋法 (Binary Search) 與演算法執行時間
Ch02 選擇排序法 (Selection Sort)
Ch03 遞迴 (Recursion)
Ch04 Divide-and-Conquer 與快速排序法 (Quicksort)
Ch05 雜湊表 (Hash table)
Ch06 廣度優先搜尋 (Breadth-First Search)
Ch07 戴克斯特拉 (Dijkstra) 演算法
Ch08 貪婪演算法 (Greedy Algorithm)
Ch09 動態規劃演算法 (Dynamic Programming Algorithm)
Ch10 K-最近鄰演算法 (K-Nearest Neighbors Algorithm)
Ch11 進階之路:推薦十種演算法
附錄 習題與解答