经典算法设计教程
目录:
第1章 引言:某些典型的问题
1.1 第一个问题:稳定匹配
1.2 五个典型问题
带解答的练习
练习
注释和进一步的阅读
第2章 算法分析基础
2.1 计算可解性
2.2 增长的渐近阶
2.3 用表和数组实现稳定匹配算法
2.4 一般运行时间的概述
2.5 更复杂的数据结构:优先队列
带解答的练习
练习
注释和进一步的阅读
第3章 图
3.1 基本定义与应用
3.2 图的连通性与图的遍历
3.3 用优先队列与栈实现图的遍历
3.4 二分性测试:宽度优先搜索的一个应用
3.5 有向图中的连通性
3.6 有向无圈图与拓扑排序
带解答的练习
练习
注释和进一步的阅读
第4章 贪心算法
4.1 区间调度:贪心算法领先
4.2 最小延迟调度:一个交换论证
4.3 最优高速缓存:一个更复杂的交换论证
4.4 一个图的最短路径
4.5 最小生成树问题
4.6 实现Kruskal算法:Unoin-Find数据结构
4.7 聚类
4.8 Huffman码与数据压缩
4.9 最小费用有向树:一个多阶段贪心
带解答的练习
练习
注释和进一步的阅读
第5章 分治策略
5.1 第一个递推式:归并排序算法
5.2 更多的递推关系
5.3 计数逆序
5.4 找最接邻近的点对
5.5 整数乘法
5.6 卷积与快速傅里叶变换
带解答的练习
练习
注释和进一步的阅读
第6章 动态规划
6.1 带权的区间调度:一个递归过程
6.2 动态规划原理:备忘录或者子问题迭代
6.3 分段的最小二乘:多重选择
6.4 子集和与背包:加一个变量
6.5 RNA二级结构:在区间上的动态规划
6.6 序列比对
6.7 通过分治策略在线性空间的序列比对
6.8 图中的最短路径
6.9 最短路径和距离向量协议
6.10 图中的负圈
带解答的练习
练习
注释和进一步的阅读
第7章 网络流
第8章 Ng与计算的难解性
第9章 一个超出
第10章 扩展易解性的界限
第11章 近似算法
第12章 局部搜索
第13章 随机算法
后记:永不停止运行的算法
索引
1