在電腦出現之前,演算法就已經存在了。本書旨在介紹經典演算法及其起源,提供解決問題的新思路,讓讀者知其然並知其所以然。
本書從最基礎的“什麼是演算法”開始討論,首先介紹如何評價演算法的性能,然後展開討論與圖、搜索和排序相關的經典演算法,解釋“演算法是怎麼運作的”,最後介紹PageRank和深度學習兩個大型演算法應用。本書用通俗易懂的語言來描繪演算法世界,穿插有趣的文化歷史故事和簡單易懂的例子,不涉及艱深的數學知識,即使非專業人士也能輕鬆讀懂。
第1章什麼是演算法1
演算法時代1
做事的方法3
第一個演算法8
演算法、電腦和數學12
評價演算法17
常見的時間複雜度20
第2章圖27
從圖到演算法30
路徑和DNA32
錦標賽賽程安排36
短路徑42
第3章搜索51
大海撈針52
馬太效應與搜索54
開普勒、汽車和秘書58
二分搜索60
第4章排序65
簡單的排序方法68
基數排序72
快速排序76
合併排序83
第5章PageRank演算法89
基本原理93
一個示例95
超連結矩陣和冪方法98
懸空節點和隨機流覽104
Google矩陣106
PageRank演算法的應用111
第6章深度學習113
生物神經元和人工神經元113
學習過程120
從神經元到神經網路126
反向傳播演算法128
識別衣物131
深度學習的應用139
後記143
術語表151
參考文獻171
延伸閱讀176