第1章 緒論
1.1 算法的時間復雜性
1.2 算法的空間復雜性
1.3 兩個算法的分析實例
1.4 算法設計技術
1.4.1 分治方法
1.4.2 迴溯法
1.4.3 貪心法
1.4.4 動態規劃法
1.4.5 分支限界法
1.4.6 遞歸方程解的展開式
習題
第2章 排序算法
2.1 插入算法
2.1.1 直接插入排序
2.1.2 摺半插入排序
2.1.3 希爾排序
2.2 選擇排序
2.2.1 直接選擇排序
2.2.2 堆排序
2.3 交換排序
2.3.1 冒泡排序
2.3.2 快速排序
2.4 歸並排序
2.5 基數排序
2.6 外部排序
2.6.1 歸並排序
2.6.2 多步歸並算法
2.7 各種內部排序方法的比較討論
習題
第3章 查找樹
3.1 二分查找樹
3.2 2—3—4樹
3.3 紅黑樹
3.4 8樹
習題
第4章 圖的算法
4.1 基本概念
4.2 圖的錶示方法
4.3 圖的遍曆
4.4 所有點對之間的最短路徑
4.5 最小生成樹
習題
第5章 串匹配
5.1 簡單的字符串匹配算法
5.2 Knuth—Morris—Pratt(KMP)字符串匹配
5.3 BM算法
5.4 RK算法
習題
第6章 分治算法
6.1 二分搜索
6.2 求最大元和最小元
6.3 大整數乘法
6.4 矩陣乘法算法
6.5 矩陣乘積的Winograd算法
習題
第7章 貪心算法
7.1 背包問題
7.2 帶時限的作業排序
7.3 單源最短路徑問題
7.4 最小生成樹問題
7.5 Dijkstra各點之間最短路徑的優化算法
習題
第8章 迴溯法
8.1 n皇後問題
8.2 圖的著色問題
8.3 0—1背包問題
8.4 哈密頓迴路
8.5 子集和數
習題
第9章 動態規劃法
9.1 最長公共子序列問題
9.2 矩陣連乘問題
9.3 多階段決策過程最優化問題
9.4 0—1背包問題
9.5 流水綫調度問題
習題
第10章 分支限界法
10.1 分支限界的策略
10.2 0-1背包問題
習題
第11章 概率算法
11.l 隨機數
11.2 數值概率算法
11.3 濛特卡羅算法
11.4 拉斯維加斯算法
11.5 捨伍德算法
習題
第12章 幾何問題算法
12.1 直綫相交問題的算法
12.2 點是否包含在多邊形內部
12.3 求凸包問題
習題
第13章 NP完全問題
13.1 不確定算法和不確定圖靈機
13.2 NP難度和NP完全問題
13.3 COOK定理
13.4 幾個NP完全問題
習題
第14章 密碼學算法
14.1 什麼是密碼
14.2 基本數論
14.3 背包公鑰密碼
14.4 RSA算法
14.5 數字簽名
習題
第15章 近似算法
15.1 任務調度近似算法.
15.2 頂點覆蓋問題近似算法
15.3 旅行商問題的近似解
15.4 子集和數問題的近似算法
習題
第16章 並行算法
16.1 並行計算機
16.2 並行算法的基本概念
16.3 並行算法的描述
16.4 SIMD-SM上的非綫性方程求根同步並行算法
16.5 SIMD-SM上的同步並行求和算法
16.6 SIMD-CC超立方機器上的同步並行求和算法
16.7 MIMD-SM上的異步並行求和算法
習題
參考文獻
· · · · · · (
收起)