Once Upon an Algorithm: How Stories Explain Computing (Hardcover)

Martin Erwig

  • 出版商: MIT
  • 出版日期: 2017-08-11
  • 售價: $1,150
  • 貴賓價: 9.5$1,093
  • 語言: 英文
  • 頁數: 336
  • 裝訂: Hardcover
  • ISBN: 0262036630
  • ISBN-13: 9780262036634
  • 相關分類: Algorithms-data-structures
  • 立即出貨(限量) (庫存=2)

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

商品描述

Picture a computer scientist, staring at a screen and clicking away frantically on a keyboard, hacking into a system, or perhaps developing an app. Now delete that picture. In Once Upon an Algorithm, Martin Erwig explains computation as something that takes place beyond electronic computers, and computer science as the study of systematic problem solving. Erwig points out that many daily activities involve problem solving. Getting up in the morning, for example: You get up, take a shower, get dressed, eat breakfast. This simple daily routine solves a recurring problem through a series of well-defined steps. In computer science, such a routine is called an algorithm. Erwig illustrates a series of concepts in computing with examples from daily life and familiar stories. Hansel and Gretel, for example, execute an algorithm to get home from the forest. The movie Groundhog Day illustrates the problem of unsolvability; Sherlock Holmes manipulates data structures when solving a crime; the magic in Harry Potter's world is understood through types and abstraction; and Indiana Jones demonstrates the complexity of searching. Along the way, Erwig also discusses representations and different ways to organize data; "intractable" problems; language, syntax, and ambiguity; control structures, loops, and the halting problem; different forms of recursion; and rules for finding errors in algorithms.

This engaging book explains computation accessibly and shows its relevance to daily life. Something to think about next time we execute the algorithm of getting up in the morning.

商品描述(中文翻譯)

想像一位電腦科學家,盯著螢幕,瘋狂地在鍵盤上點擊,入侵系統,或者開發一個應用程式。現在刪除這個畫面。在《一個演算法的童話》中,Martin Erwig解釋了計算作為一種超越電子計算機的活動,並將電腦科學定義為系統性問題解決的研究。Erwig指出,許多日常活動都涉及問題解決。例如,早上起床:你起床、洗澡、穿衣服、吃早餐。這個簡單的日常例行程序通過一系列明確的步驟解決了一個重複出現的問題。在電腦科學中,這樣的例行程序被稱為演算法。Erwig通過日常生活和熟悉的故事舉例說明了計算的一系列概念。例如,漢塞爾和葛雷特利用一個演算法從森林回家。電影《接應日》說明了無法解決的問題;福爾摩斯在解決犯罪時操作數據結構;哈利波特的魔法通過類型和抽象來理解;印第安納瓊斯展示了搜索的複雜性。在此過程中,Erwig還討論了表示和組織數據的不同方式;「棘手」的問題;語言、語法和歧義性;控制結構、循環和停機問題;不同形式的遞迴;以及查找演算法錯誤的規則。

這本引人入勝的書以易懂的方式解釋了計算,並展示了它對日常生活的重要性。下次我們執行早上起床的演算法時,可以思考一下這個問題。