更新时间:2023-06-26 23:10
本书是近年来关于算法设计和分析的不可多得的优秀教材。本书覆盖的面较宽,凡属串行算法的经典论题都有涉及,并且论述深入有新意。全书共200多道丰富而精彩的习题是本书的重要组成部分,也是本书的突出特色之一。
以各种算法设计技术(如贪心法、分治策略、动态规划、网络流、近似算法、随机算法等)为主线来组织素材,突出了算法设计的思想和分析的基本原则,为从事实际问题的算法设计与分析工作提供了清晰的、整体的思路和方法。
本教材内容非常丰富,不但深入系统地阐述了算法设计与分析的理论,而且给出了大量的典型范例和参考文献。
本教材以算法为主线来处理算法与数据结构的关系。这种安排突出了算法设计的中心思想,避免了与数据结构课程在内容上的重复,更加适合于国内的教学计划。
本教材的叙述和选材非常适合教学。内容由浅入深,由具体到抽象,从算法设计技术与分析方法自然过渡到计算复杂性理论,选配了大量难度适当的练习,并给出求解范例。
第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.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.2 更多的递推关系
5.3 计数逆序
5.4 找最接邻近的点对
5.5 整数乘法
带解答的练习
练习
注释和进一步的阅读
第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章 随机算法
后记:永不停止运行的算法
索引