第一章 引言
第一節 無處不在的算法
第二節 描述算法的語言
第三節 算法正確性分析的挑戰
第四節 算法效率分析的尺子
第五節 算法的類型
第六節 習題
第二章 幾個簡單算法
第一節 求兩個數的最大公約數
第二節 求奇次多項式的一個實根
第三節 途中是否有長度為奇數的圈
第四節 一個會玩拼板游戲的機器人
第五節 作業:拼板游戲程序的完善與競賽
第三章 貪心法
第一節 短視搜索
第二節 最小生成樹算法
第三節 哈夫曼編碼問題
第四節 發現單源多目標的最短路徑
第五節 作業:構成一個最大的數
第四章 分治法
第一節 二分搜索
第二節 歸並排序
第三節 大整數相乘
第四節 作業:尋找距離最近的兩個點
第五章 動態規划
第一節 斐波那契數
第二節 背包問題
第三節 最優投資組合問題
第四節 所有節點對之間的最短路徑問題
第五節 作業:尋找代價最小的進化路徑
第六章 啟發式
第一節 聚類
第二節 分類
第三節 網絡信息重要性評估
第四節 旅行推銷員問題(遺傳算法)
第五節 作業:初識人工神經網
第七章 大數據算法
第一節 字頻統計
第二節 外排序
第三節 曾經見過它嗎?
第四節 作業:通過字頻分析比較兩篇文章
第八章 其他若干算法
第一節 斐波那契數計算的矩陣法
第二節 利用最小生成樹求解旅行推銷員問題
第三節 在狀態空間中搜索背包問題的解
第四節 作業:一筆畫問題
附錄 圖論基本概念
參考文獻
后記