本書擷取生活中的趣聞逸事,將它們抽象成一個一個演算法,寓教於樂,闡述了主流演算法背後的來龍去脈,包括貪心演算法、排序演算法、RSA 演算法、遞迴、分治、動態規劃等經典內容。本書適合任何對演算法有好奇心的人群閱讀。
顧森(Matrix67),數學、演算法愛好者,上古數學科普博客Matrix67.com博主,《思考的樂趣》、《浴缸裡的驚歎》作者。重症拖延癌患者。
蔡雪琴(@_404號),人類幼崽飼養員,業餘設計師。與作者是夫妻兼摯友。
1 圖論演算法
穩定婚姻問題
歐拉路徑與德布魯因序列
網路流與棒球賽淘汰問題
2 貪心與動態規劃
一類序列問題的貪心演算法
動態規劃與文本排版
首碼碼問題
3 遞迴與分治
組合遊戲中的必勝策略
格雷碼及其應用
漫話圖像抖動技術
一堂特別的排序演算法課
4 跨越千年的 RSA 演算法
可公度線段與輾轉相除法
中國剩餘定理與貝祖定理
從歐幾裡得定理到歐拉定理
公開金鑰加密與 RSA 演算法
5 密碼學與協定
散列函數與承諾方案
有限域上的多項式插值與秘密共用協議
基於 RSA 演算法的數位現金協定
6 計算幾何
線性代數的魅力
美術館問題
KD 樹與鄰近搜索
7 智力遊戲的啟示
“囚犯與燈泡”遊戲與蹺蹺板協議
猜帽子遊戲與漢明碼
8 中文資訊處理與資料採擷
漢語的句法結構識別和語義識別
社交網路裡的文本資料採擷
9 圖靈機與 NP 問題
可數集、圖靈機及我們的世界
P 問題、NP 問題及 NP 完全問題