第1章 算法概述
1.1 算法的概念
1.1.1 算法的定義和特性
1.1.2 求解問題的基本過程
1.1.3 算法設計示例——計算最大公約數(shù)
1.2 算法設計與分析任務
1.3 算法分析準則
1.4 算法分析基礎
1.4.1 常用數(shù)學術語
1.4.2 對數(shù)與指數(shù)
1.4.3 數(shù)學證明法
1.5 算法復雜性分析方法
1.5.1 復雜度函數(shù)
1.5.2 最好、最壞和平均情況
1.5.3 漸進分析
1.5.4 階的證明方法
小結
習題
第2章 遞歸與分治策略
2.1 遞歸的概念
2.2 具有遞歸特性的問題
2.3 遞歸過程的設計與實現(xiàn)
2.4 遞歸算法分析
2.4.1 替換法
2.4.2 遞歸樹法
2.4.3 主方法
2.5 分治法的基本思想
2.6 分治法的適用條件
2.7 分治法的基本步驟
2.8 分治法典型示例
2.8.1 個數(shù)中求出最大/最小值
2.8.2 快速排序
2.8.3 大整數(shù)乘法
2.8.4 折半查找
2.8.5 矩陣乘法
小結
習題
第3章 動態(tài)規(guī)劃
3.1 動態(tài)規(guī)劃基礎
3.1.1 動態(tài)規(guī)劃的基本思想
3.1.2 動態(tài)規(guī)劃的基本要素
3.1.3 動態(tài)規(guī)劃的基本步驟
3.1.4 動態(tài)規(guī)劃示例——組合數(shù)問題
3.2 線性動態(tài)規(guī)劃——合唱隊形問題
3.3 區(qū)域動態(tài)規(guī)劃——矩陣連乘問題(最佳次序)
3.4 背包動態(tài)規(guī)劃——0-1背包問題
3.5 樹形動態(tài)規(guī)劃——最優(yōu)二叉搜索樹
小結
習題
第4章 貪婪算法
4.1 貪婪算法基礎
4.1.1 貪婪算法的基本思想
4.1.2 貪婪算法的基本要素
4.1.3 貪婪算法適合的問題
4.1.4 貪婪算法的基本步驟
4.1.5 貪婪算法示例——背包問題
4.2 汽車加油問題
4.3 最優(yōu)服務次序問題
4.4 區(qū)間相交問題
4.5 單源最短路徑
小結
習題
……
第5章 回溯法
第6章 分支限界法
第7章 隨機算法
第8章 NP完全性理論
第9章 神經網絡智能算法
附錄 試題
參考文獻