現代演算法|原來理解演算法並不難 (Real-World Algorithms: A Beginner's Guide)

Panos Louridas 賴屹民

立即出貨 (庫存 > 10)

  • 9789864768813 b1
  • 9789864768813 b2
  • 9789864768813 b3
  • 9789864768813 b4
  • 9789864768813 b5
  • 9789864768813 b7 %281%29
  • 9789864768813 b7
  • 9789864768813 b8
  • 9789864768813 b9
9789864768813 b1

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

商品描述

重複的事交給演算法處理,你可以空出時間去做更有價值的事

 

“本書廣泛地探討演算法概念,避免標準的「趕潮流」做法。它介紹了多數演算法入門書籍都不會談到的投票系統與文字壓縮,讓初學者在還不會走之前就會跑了!”

—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》的共同作者

 

 

演算法是為了不做事而做的事,它是由執行工作的指令組成,那些工作通常是枯燥且重複的。電腦演算法藉由簡單的建構元素來讓機器可以辨識與產生語音、轉換文字、分類與歸納文件、描述影像與預測天氣。你只要用幾行現代腳本語言程式,就可以瞬間完成原本要耗時好幾個小時的工作。這本書用真實世界的問題來介紹處理它們的演算法。本書使用虛擬碼來展示演算法,讓你可以輕鬆地用電腦語言來實作它們。

 

本書介紹的演算法既簡單且易懂,不會讓讀者倍感挫折,也不會折辱你的智慧。讀者必須具備基本的數學知識並大致瞭解電腦如何運作;書中會解釋所有其他必要的概念。本書會在介紹虛擬碼、基本術語與資料結構的背景之後,用其餘的章節來介紹壓縮、加密、圖、搜尋與排序、雜湊化、分類、字串與機會。每一章都會提出真正的問題,再展示處理它們的演算法。本書會用範例來說明廣大的應用,包括用最短路徑來解決文章分段問題、在選舉系統中使用最強路徑、用雜湊來辨識歌曲、投票強度Monte Carlo法,與機器學習領域的熵(entropy)。從主修經濟學到應用科學的學生都可以使用 《Real-World Algorithms》。主修電腦科學的讀者可以先閱讀這本書,再研讀更具技術性的文獻。

目錄大綱

前言

第一章 股價跨幅

第二章 探索迷宮

第三章 壓縮

第四章 秘密

第五章 拆分秘密

第六章 依序工作

第七章 行、段落、路徑

第八章 路由與套利

第九章 什麼是最重要的

第十章 投票優勢

第十一章 蠻力法、祕書問題與二分法

第十二章 各式各樣的排序法

第十三章 衣帽間、鴿子與貯體

第十四章 Bits 與樹

第十五章 長長的字串

第十六章 聽任命運安排

參考文獻

索引