　　<strong>榮獲美國出版人協會（Association of American Publishers）電腦資訊科學最佳書籍獎</strong><br />
<br />
　　電腦網路技術無所不在：每天，我們從海量的資訊中搜尋到所要的資訊、我們上傳照片到臉書上、我們運用公鑰加密來傳送私人資訊例如信用卡號碼等等、我們使用數位簽章來確認所造訪的網站的真偽&hellip;&hellip;<br />
<br />
　　這本書介紹了讓電腦網路世界得以運作，塑造今日人類生活的九種最重要的演算法（algorithm）。作者挑選這九大演算法的標準是：<br />
<br />
　　1.每天會被一般電腦使用者用到的演算法。<br />
　　2.必須能解決現實世界的具體問題。<br />
　　3.主要是與資訊科學理論有關的演算法。<br />
　　4. 美、簡潔、優雅。<br />
<br />
　 　本書所介紹的九大演算法是：搜尋引擎的索引（search engine indexing）、網頁排序（page rank）、公鑰加密（public-key cryptography）、錯誤更正碼（error-correcting codes）、模式辨識（pattern recognition，如手寫辨識、聲音辨識、人臉辨識等等）、資料壓縮（data compression）、資料庫（databases）、數位簽章（digital signature），以及一種如果存在的話將會很了不起的偉大演算法，並探討電腦能力的極限。<br />
<br />
　　作者將我們日常生活會用到的電腦功能 背後的道理，以淺顯易懂的方式介紹，不具備資訊科學的背景也可以了解。而且令人驚喜的是，每一種演算法，都是一個解決問題的創意與線索，也讓我們得以一窺 近代數學家、資訊科學家的努力探索成果。面對越來越科技化的現代生活與職場挑戰，這些基本原理和概念值得我們去了解、吸收，為未來世界做好準備。<br />
<br />
<strong>本書特色<br />
<br />
　　</strong>１．演算法，做為電腦科技的核心，正在改變世界與你我的生活！<br />
<br />
　　２．這本書介紹每個人日常生活會用到的演算法，身為現代人，面對越來越科技化的未來，這本書必讀！<br />
<br />
<strong>名人推薦</strong><br />
<br />
　　PanSci泛科學總編輯 鄭國威　大力推薦！<br />
<br />
<strong>媒體好評</strong><br />
<br />
　　「這是一本很容易讀的書，介紹了一些很重要的演算法。最重要的是，這本書傳達了一種神奇&mdash;&mdash;不光是指科技的成就，而是使得電腦發揮神奇功能的美麗科學。」－－Andreas Trabesinger，《自然物理學》(Nature Physics)<br />
<br />
　　「這本書寫得非常好&hellip;&hellip;風格相當平易近人，適合廣大讀者閱讀。」－－John Gilbey，《泰晤士報高等教育專刊》(Times Higher Education)<br />
<br />
　　「作者讓讀者有一種發動機的感覺，這台發動機為網路世界提供動力&hellip;&hellip;本書讓讀者體會真實世界，開始看到這些演算法在你我周遭活跳跳。」－－Kevin Slavin，《新科學家》(New Scientist)<br />
<br />
　　「成功地把電腦科學呈現給廣大群眾。」－－Ernest Davis，《工業與應用數學學會通訊》(SIAM News)<br />
<br />
　　「作者讓大家稍稍體會到，我們電腦科學家們之所以對演算法如此興奮的原因&mdash;&mdash;因為演算法的功用，還有它們的美與優雅。」－－Paul Curzon，《科學》（Science）<br />目　次<br />
<br />
推薦序 當演算法改變世界，認識演算法就是義務 / 鄭國威<br />
前言<br />
<br />
<strong>第1章 引言：讓今日電腦威力無窮的神奇概念</strong><br />
演算法：天才就在彈指間<br />
偉大演算法的條件是什麼？<br />
這些偉大的演算法為什麼重要？<br />
<br />
<strong>第2章 搜尋引擎的索引：配對與排序</strong><br />
AltaVista：第一個網路規模的配對演算法<br />
古早時代的陽春式索引<br />
文字─位置技法<br />
排序與相鄰<br />
元詞技法<br />
光是標註索引和配對技法還不夠<br />
<br />
<strong>第3章 網頁排序：讓谷歌起飛的技術</strong><br />
超連結技法<br />
權威性技法<br />
隨機漫遊技法<br />
網頁排序的實作<br />
<br />
<strong>第4章 公鑰加密：用明信片寄送祕密</strong><br />
用共同的祕密來加密<br />
設定一個公開的共同祕密<br />
實務上的公鑰加密<br />
<br />
<strong>第5章 錯誤更正碼：錯誤可以自己修正！</strong><br />
偵錯與改正的必要性<br />
重複的技法<br />
冗餘技法<br />
校驗技法<br />
定點目標技法<br />
真實世界中的糾錯與偵錯<br />
<br />
<strong>第6章 模式辨識：從經驗中學習</strong><br />
問題是什麼？<br />
最近鄰居技法<br />
二十個問題技法：決策樹<br />
神經網路<br />
模式辨識：過去、現在、未來<br />
<br />
<strong>第7章 資料壓縮：白吃的午餐</strong><br />
無損失的壓縮：終極的白吃午餐<br />
有損失的壓縮：不是白吃的午餐，但很划算<br />
壓縮演算法的由來<br />
<br />
<strong>第8章 資料庫：追求一致性</strong><br />
交易與待辦事項清單技法<br />
複製資料庫所用的「準備然後承諾技法」<br />
關聯式資料庫與虛擬表格技法<br />
資料庫的人性面<br />
<br />
<strong>第9章 數位簽章：這軟體到底是誰寫的？</strong><br />
數位簽章究竟用來做什麼？<br />
書面簽字<br />
上鎖的簽字<br />
利用乘法鎖來簽字<br />
利用指數型鎖來簽字<br />
數位簽章的實務<br />
解決矛盾<br />
<br />
<strong>第10章 什麼是可計算的？</strong><br />
程式錯誤、毀壞和軟體的可靠度<br />
反證法<br />
用於分析其他程式的程式<br />
有些程式不可能存在<br />
尋找當機的程式不可能存在<br />
電腦的極限給我們的啟示<br />
<br />
<strong>第11章 結論：未來會如何呢？</strong><br />
頗具潛力的演算法<br />
偉大的演算法可能失去光彩嗎？<br />
我們學到了什麼？<br />
旅程的結束<br />
<br />
資料來源與延伸閱讀<br />