內容簡介
全書以算法設計策略為知識單元,系統介紹計算機算法的設計方法與分析技巧。主要內容包括:算法概述、遞歸與分治策略、動態規劃、貪心算法、回溯法、分支限界法、隨機化算法、線性規劃與網路流等。
目錄信息
第1章 算法概述
1.1 算法與程式
1.2 算法複雜性分析
1.3 NP完全性理論
算法分析題1
算法實現題1
第2章 遞歸與分治策略
2.1 遞歸的概念
2.2 分治法的基本思想
2.3 二分搜尋技術
2.4 大整數的乘法
2.5 Strassen矩陣乘法
2.6 棋盤覆蓋
2.7 合併排序
2.8 快速排序
2.9 線性時間選擇
2.10 最接近點對問題
2.11 循環賽日程表
算法分析題2
算法實現題2
第3章 動態規劃
3.1 矩陣連乘問題
3.2 動態規划算法的基本要素
3.3 最長公共子序列
3.4 最大子段和
3.5 凸多邊形最優三角剖分
3.6 多邊形遊戲
3.7 圖像壓縮
3.8 電路布線
3.9 流水作業調度
3.10 0-1背包問題
3.11 最優二叉搜尋樹
算法分析題3
算法實現題3
第4章 貪心算法
4.1 活動安排問題
4.2 貪心算法的基本要素
4.3 最優裝載
4.4 哈夫曼編碼
4.5 單源最短路徑
4.6 最小生成樹
4.7 多機調度問題
算法分析題4
算法實現題4
第5章 回溯法
5.1 回溯法的算法框架
5.2 裝載問題
5.3 批處理作業調度
5.4 符號三角形問題
5.5 n後問題
5.6 0-1背包問題
5.7 最大團問題
5.8 圖的m著色問題
5.9 旅行售貨員問題
5.10 圓排列問題
5.11 電路板排列問題
5.12 連續郵資問題
5.13 回溯法的效率分析
算法分析題5
算法實現題5
第6章 分支限界法
6.1 分支限界法的基本思想
6.2 單源最短路徑問題
6.3 裝載問題
6.4 布線問題
6.5 0-1背包問題
6.6 最大團問題
6.7 旅行售貨員問題
6.8 電路板排列問題
6.9 批處理作業調度
算法分析題6
算法實現題6
第7章 隨機化算法
7.1 隨機數
7.2 數值隨機化算法
7.2.1 用隨機投點法計算π值
7.2.2 計算定積分
7.2.3 解非線性方程組
7.3 舍伍德(Sherwood)算法
7.3.1 線性時間選擇算法
7.3.2 搜尋有序表
7.3.3 跳躍表
7.4 拉斯維加斯(Las Vegas )算法
7.4.1 n後問題
7.4.2 整數因子分解
7.5 蒙特卡羅(Monte Carlo)算法
7.5.1 蒙特卡羅算法的基本思想
7.5.2 主元素問題
7.5.3 素數測試
算法分析題7
算法實現題7
第8章 線性規劃與網路流
8.1 線性規劃問題和單純形算法
8.1.1 線性規劃問題及其表示
8.1.2 線性規劃基本定理
8.1.3 約束標準型線性規劃問題的單純形算法
8.1.4 將一般問題轉化為約束標準型
8.1.5 一般線性規劃問題的兩階段單純形算法
8.1.6 單純形算法的描述和實現
8.1.7 退化情形的處理
8.1.8 套用舉例
8.2 最大網路流問題
8.2.1 網路與流
8.2.2 增廣路算法
8.2.3 預流推進算法
8.2.4 最大流問題的變換與套用
8.3 最小費用流問題
8.3.1 最小費用流
8.3.2 消圈算法
8.3.3 最小費用路算法
8.3.4 網路單純形算法
8.3.5 最小費用流問題的變換與套用算法分析題8
算法實現題8
附錄A C++概要
1.變數、指針和引用
2.函式與參數傳遞
3. C++的類
4.類的對象
5.構造函式與析構函式
6.運算符重載
7.友元函式
8.內聯函式
9.結構
10.聯合
11.異常
12.模板
13.動態存儲分配
參考文獻