重複的事交給演算法處理,你可以空出時間去做更有價值的事
演算法是為了不做事而做的事,它是由執行工作的指令組成,那些工作通常是枯燥且重複的。電腦演算法藉由簡單的建構元素來讓機器可以辨識與產生語音、轉換文字、分類與歸納文件、描述影像與預測天氣。你只要用幾行現代腳本語言程式,就可以瞬間完成原本要耗時好幾個小時的工作。這本書用真實世界的問題來介紹處理它們的演算法。本書使用虛擬碼來展示演算法,讓你可以輕鬆地用電腦語言來實作它們。
本書介紹的演算法既簡單且易懂,不會讓讀者倍感挫折,也不會折辱你的智慧。讀者必須具備基本的數學知識並大致瞭解電腦如何運作;書中會解釋所有其他必要的概念。本書會在介紹虛擬碼、基本術語與資料結構的背景之後,用其餘的章節來介紹壓縮、加密、圖、搜尋與排序、雜湊化、分類、字串與機會。每一章都會提出真正的問題,再展示處理它們的演算法。本書會用範例來說明廣大的應用,包括用最短路徑來解決文章分段問題、在選舉系統中使用最強路徑、用雜湊來辨識歌曲、投票強度Monte
Carlo法,與機器學習領域的熵(entropy)。從主修經濟學到應用科學的學生都可以使用 《Real-World Algorithms》。主修電腦科學的讀者可以先閱讀這本書,再研讀更具技術性的文獻。
好評推薦
“本書廣泛地探討演算法概念,避免標準的「趕潮流」做法。它介紹了多數演算法入門書籍都不會談到的投票系統與文字壓縮,讓初學者在還不會走之前就會跑了!” ——Steven Skiena,著名的石溪大學電腦科學系教授;《The Algorithm Design Manual》作者
“演算法是電腦的核心思想。Panos Louridas寫了一本很棒的書,帶領你認識所有主要的演算法。他的寫法相當簡明與易懂,不會把你當成專家。會以具體範例而不是以抽象方式介紹演算法,具備電腦知識的人都可以閱讀這本書。本書也可以當成介紹性教科書。” ——Noson S. Yanofsky,布魯克林學院電腦與資訊科學系教授,《The Outer Limits of Reason:
What Science, Mathematics, and Logic Cannot Tell Us》作者
“演算法已經主宰現今的世界了。Louridas使用真實世界的應用來介紹演算法的宏觀概念與細節。如果你想要知道各種領域如何運用演算法,這本書是必備的指南。 ——Mung Chiang, 普林斯頓大學Arthur LeGrand Doty教授;《The Power of Networks》的共同作者