作品簡介
計算思維是培養系統化邏輯思維的基礎,有了這一基礎,在面對問題時才能具有系統分析與問題分解的能力。算法是計算機科學領域非常重要的基礎課程,程式能否快速而高效地完成預定的任務,算法是其中的關鍵因素。本書精選計算思維與算法課程中核心的內容,採用豐富的圖例闡述常用數據結構與算法的基礎知識和基本概念,並結合範例詮釋計算機科學中較為知名的分治法、貪心法、動態規劃法、安全性算法、樹結構的算法、改變程式功力的經典算法、遊戲設計中的算法。
作品目錄
前言
第1章 程式設計與計算思維
1.1 認識計算思維
1.2 算法的條件
1.3 課後習題
第2章 常用數據結構與算法
2.1 認識數據結構
2.2 常見的數據結構
2.3 矩陣與深度學習
2.4 鍊表
2.5 堆疊
2.6 佇列
2.7 樹結構
2.8 圖簡介
2.9 哈希表
2.10 課後習題
第3章 分治法
3.1 分治法簡介
3.2 遞歸法
3.3 漢諾塔算法
3.4 快速排序法
3.5 合併排序法
3.6 二分查找法
3.7 課後習題
第4章 貪心法
4.1 貪心法簡介
4.2 最小生成樹
4.3 圖的最短路徑法
4.4 課後習題
第5章 動態規劃法
5.1 動態規劃法簡介
5.2 字元串對比功能
5.3 AOV網路與拓撲排序
5.4 AOE網路
5.5 青蛙跳台階算法
5.6 課後習題
第6章 安全性算法
6.1 數據加密
6.2 哈希算法
6.3 碰撞與溢出處理
6.4 課後習題
第7章 樹結構的算法
7.1 二叉樹的遍歷
7.2 二叉查找樹
7.3 最佳化二叉查找樹
7.4 平衡樹(AVL樹)
7.5 博弈樹——八枚金幣問題
7.6 堆積排序法
7.7 斐波那契查找法
7.8 課後習題
第8章 改變程式功力的經典算法
8.1 疊代法
8.2 枚舉法
8.3 回溯法
8.4 課後習題
第9章 遊戲設計中的算法
9.1 遊戲中的數學與物理算法
9.2 圖的遍歷算法
9.3 碰撞處理算法
9.4 遺傳算法
9.5 課後習題
附錄 課後習題與參考答案