算法设计与分析
2003-8
清华大学出版社
王晓东
398
502000
无
为了适应培养21世纪计算机人才的需要,结合我国高等院校教育工作的现状,立足培养学生能跟上国际计算机科学技术的发展水平,更新教学内容和教学方法,本书以算法设计策略为知识单元,系统地介绍计算机算法的设计方法与分析技巧,以期为计算机科学与技术学科的学生提供广泛而坚实的计算机算法基础知识。
本书内容丰富,观点新颖,理论联系实际。采用Java语言描述算法,简明清晰、结构紧凑,可读性强。本书可以作为高等院校计算机专业本科生和研究生学习计算机算法设计的教材,也可供广大工程技术人员和自学读者学习参考。
第1章 算法引论1.1 算法与程序1.2 表达算法的抽象机制1.3 描述算法1.4 算法复杂性分析小结习题第2章 递归与分治策略2.1 速归的概念2.2 分治法的基本思想2.3 二分搜索技术2.4 大整数的乘法2.5 Strassen矩阵乘法2.6 棋盘覆盖2.7 合并排序2.8 快速排序2.9 线性时间选择2.10 最接近点对问题2.11 循环赛日程表小结习题第3章 动态规划3.1 矩阵连乘问题3.2 动态规划算法的基本要素3.3 最长公共子序列3.4 凸多边形最优三角剖分3.5 多边形游戏3.6 图像压缩3.7 电路布线3.8 流水作业调度3.9 0-1背包问题3.10 最优二叉搜索树小结习题第4章 贪心算法4.1 活动安排问题4.2 贪心算法的基本要素4.2.1 贪心选择性质4.2.2 最优子结构性质4.2.3 贪心算法与动态规划算法的差异4.3 最优装载4.4 哈夫曼编码4.4.1 前缀码4.4.2 构造哈夫曼编码4.4.3 哈夫曼算法的正确性4.5 单源最短路径4.5.1 算法基本思想4.5.2 算法的正确性和计算复杂性4.6 最小生成树4.6.1 最小生成树性质4 6.2 Prim算法4.6.3 Kruskal算法4.7 多机调度问题4.8 贪心算法的理论基础4.8.1 拟阵4.8.2 带权拟阵的贪心算法4.8.3 任务时间表问题小结习题第5章 回溯法5.1 回溯法的算法框架5.1.1 问题的解空间5.1.2 回溯法的基本思想5.1.3 递归回溯5.1.4 迭代回溯5.1.5 子集树与排列树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 回溯法的效率分析小结习题第6章 分支限界法6.1 分支限界法的基本思想6.2 单源最短路径问题6.3 装载问题6.4 布线问题6.5 0-1背包问题6.6 最大团问题6.7 旅行售货员问题6.8 电路板排列问题6.9 批处理作业调度小结习题第7章 概率算法7.1 随机数7.2 数值概率算法7.2.1 用随机投点法计算л值7.2.2 计算定积分7.2.3 解非线性方程组7.3 舍伍德算法7.3.1 线性时间选择算法7.3.2 跳跃表7.4 拉斯维加斯算法7.4.1 n后问题7.4.2 整数因子分解7.5 蒙特卡罗算法7.5.1 蒙特卡罗算法的基本思想7.5.2 主元素问题7.5.3 素数测试小结习题第8章 NP完全性理论8.1 计算模型8.1.1 随机存取机RAM8.1.2 随机存取存储程序机RASP8.1.3 RAM模型的变形与简化8.1.4 图灵机8.1.5 图灵机模型与RAM模型的关系8.1.6 问题变换与计算复杂性归约8.2 P类与NP类问题8.2.1 非确定性图灵机8.2.2 P类与NP类语言8.2.3 多项式时间验证8.3 NP完全问题8.3.1 多项式时间变换8.3.2 Cook定理8.4 一些典型的NP完全问题8.4.1 合取范式的可满足性问题8.4.2 3元合取范式的可满足性问题8.4.3 团问题8.4.4 顶点覆盖问题8.4.5 子集和问题8.4.6 哈密顿回路问题8.4.7 旅行售货员问题小结习题第9章 近似算法9.1 近似算法的性能9.2 顶点覆盖问题的近似算法9.3 旅行售货员问题近似算法9.3.1 具有三角不等式性质的旅行售货员问题9.3.2 一般的旅行售货员问题9.4 集合覆盖问题的近似算法9.5 子集和问题的近似算法9.5.1 子集和问题的指数时间算法9.5.2 子集和问题的完全多项式时间近似格式小结习题第10章 算法优化策略10.1 算法设计策略的比较与选择10.1.1 最大子段和问题的简单算法10.1.2 最大子段和问题的分治算法10.1.3 最大子段和问题的动态规划算法10.1.4 最大子段和问题与动态规划算法的推广10.2 动态规划加速原理10.2.1 货物储运问题10.2.2 算法及其优化10.3 问题的算法特征10.3.1 贪心策略10.3.2 对贪心策略的改进10.3.3 算法三部曲10.3.4 算法实现10 3.5 算法复杂性10.4 优化数据结构10.4.1 带权区间最短路问题10.4.2 算法设计思想10.4.3 算法实现方案10.4.4 并查集10.4.5 可并优先队列10.5 优化搜索策略小结习题参考文献
无
java语言写的,如果你还没有找到一本适合自己的算法书,试试这本吧!
非常不错啊,各种算法都有了一个简单的框架,还有个个算法的相关实例也很不错,虽然难了点,习题集也很不错,建议都买了,分析习题里的题,对书本有更深刻的理解哦,赞这个书~~~
针对知识的例子比较典型,更好地帮助理解。
很好的一本书,很有帮助,很不错,赞一个!
一本不错的书,很基础,也很实用
本书内容分为3部分:算法和算法分析,算法设计策略及求解困难问题。第1部分介绍问题求解方法、算法复杂度和分析、递归算法和递推关系;第2部分讨论常用的算法设计策略:基本搜索和遍历方法、分治法、贪心法、动态规划法、回溯法和分枝限界法;第3部分介绍NP完全问题、随机算法、近似算法和密码算法。书中还介绍了两种新的数据结构:跳表和伸展树,以及它们特定的算法分析方法,并对现代密码学做了简要论述。本书结构清晰、内容翔实、逻辑严谨、深入浅出。书中算法有完整的java程序,程序构思精巧,且有详细注释,所有程序都已在java环境下编译通过并能正确运行,它们既是学习算法设计的示例,也能使复杂抽象的算法设计更易为学习者理解和掌握。书中包含大量实例和图示,并附丰富的习题,便于自学。本书可作为高等院校计算机科学与技术和其他相关专业的本科和研究生的“算法设计与分析”课程的教材或参考书,是“算法与数据结构”或“数据结构”课程有益的教学参考书,也可供计算机工作者和其他希望了解和学习算法知识的人员参考。
经典,算法真是一门挺难的课程
一般般了。。。
很好的书,但是还是觉得自己看有点吃力
考试用的,现在还没有实践过。