目 录
序 言
第一章 基础知识
1.1引 言
1.2算法分析
1.3常用记号
1.4递 归
1.5图
1.6二元树
1.7二分树
1.8基本数据结构
习题一
第二章 优先策略
2.1最小树的库鲁斯卡尔(Kruskal)算法
2.2最短路的戴克斯特拉算法
2.3安排问题
2.4哈弗曼编码
习题二
第三章 分治策略
3.1引 言
3.2斯特拉逊(Strassen)矩阵乘法
3.3快速富里叶变换(FFT)
3.4卷 积
习题三
第四章 动态规划
4.1引 言
4.2矩阵链乘
4.3最长公共子序列
4.4最优多边形三角剖分
4.5加工顺序问题
4.6流动推销员问题
习题四
第五章 搜索法
5.1深度优先搜索法
5.2图的遍历
5.30—1规划的隐枚举法
5.4宽度优先搜索法
5.5分支定界法
5.6流动推销员问题分支定界解法
5.7α—β剪枝术
习题五
第六章 内排序
6.1引 言
6.2插入排序
6.3选择排序
6.4冒泡排序
6.5快速排序
6.6归并排序
6.7堆排序
6.8计数排序
6.9基数排序
6.10希尔(Shell)排序
6.11排序网络
6.12外存排序简介
6.13阶式归并法
习题六
第七章 查找及均衡树
7.1查找第k个元素
7.2最佳二分树
7.3均衡树
7.4哈希(Hash)表
习题七
第八章 字符串匹配
8.1引 言
8.2KMP(Knuth-Morris-Pratt)算法
8.3BM(Boyer—Moore)算法
8.4拉宾—卡普(Rabin—Karp)算法
习题八
第九章 概率算法·数论算法·计算几何
9.1概率算法
9.2随机数与素数测试
9.3数论算法
9.4线段问题
9.5凸 包
习题九
第十章 复杂性理论
10.1基本概念
10.2SAT问题与库克(Cook)定理
10.3一些NP完备问题
10.4近似算法
10.5密码学
习题十
参考书目