第1篇 計算機科學工具(計算機是偉大的工具)
計算機科學可以幫助我們理解身邊的世界!
第1章 做決策 —— 如何把大的決策“變簡單”?
計算機能夠使用決策樹將許多簡單的決策轉變?yōu)橐粋€大決策。
第2章 尋找解決方案 —— 幾乎什么問題都能解決的“笨方法”
有的時候,解決計算問題的正確方法就是使用“蠻力”。
第3章 用圖思考 —— 讓問題變得“看得懂”
圖是理解問題并以巧妙方式解決問題的有力工具。
第2篇 通過計算解決問題(如何用計算工具解決問題)
探索面包房、圖書館和交通樞紐大廳中的計算思維。
第4章 并行計算 —— 任務數(shù)量龐大的協(xié)作
當面包師亮亮想要做很多事情時,并行可以幫助他一次性完成。
第5章 排序和搜索 —— 關系決定了效率
信息需要組織起來供人類或計算機使用,正如圖書館管理員蔡蔡所熟知的那樣。
第6章 資源的權衡 —— 代價決定了權衡的策略
計算機科學家一直都在權衡取舍,小霄做家務時也是如此。
第7章 抽象 —— 剝離細節(jié)讓思考更加高效
羅曼站長使用抽象(計算機科學中的重要工具)來幫助自己管理交通樞紐大廳。
第8章 接口 —— 將解決方案封裝,只關注結果
抽象擁有接口,用來說明它們可以做什么和不能做什么。
第3篇 算法思維(高效工具的底層思維)
深入研究算法以破解謎題,解決復雜問題。
第9章 分而治之 ——“小而多”勝“大而少”
將問題一分為二,通常會使問題變得更容易處理,例如“你問我答”猜謎游戲。
第10章 二元搜索 —— “是非分明”的思維
二進制搜索是“你問我答”游戲的一種更加友好的算法方案。
第11章 描繪游戲和謎題 —— 用計算機能理解的方式來描繪
圖形可以幫助我們制訂復雜問題的解決方案,例如經典的“跨河”難題。
第12章 圖搜索 —— 重點是過程,而非終點
圖的一些最基本的算法是通過從 A 點到達 B 點來完成的。