MIT四大名师联手铸就,被誉为“计算机算法的圣经”!1000余所大学作为教材或教学参考书使用
在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。
全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头 备的参考书或工程实践手册。
第3版的主要变化:
·新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。
·修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。
·移除两章很少讲授的内容:二项堆和排序网络。
·修订了动态规划和贪心算法相关内容。
·流网络相关材料现在基于边上的全部流。
·由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。
·修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。
·新增100道练习和28道思考题,还更新并补充了参考文献。
Thomas H. Cormen(托马斯?科尔曼)达特茅斯学院计算机科学系教授、系主任。目前的研究兴趣包括:算法工程、并行计算、具有高延迟的加速计算。他分别于1993年、1986年获得麻省理工学院电子工程和计算机科学博士、硕士学位,师从CharlesE. Leiserson教授。由于他在计算机教育领域的突出贡献,Cormen教授荣获2009年ACM杰出教员奖。
Charles E.Leiserson(查尔斯?雷瑟尔森)麻省理工学院计算机科学与电气工程系教授,Margaret MacVicar FacultyFellow。他目前主持MIT计算技术研究组,并是MIT计算机科学和人工智能实验室计算理论研究组的成员。他的研究兴趣集中在并行和分布式计算的理论原理,尤其是与工程现实相关的技术研究。Leiserson教授拥有卡内基?梅隆大学计算机科学博士学位,还是ACM、IEEE和SIAM的会士。
Ronald L. Rivest(罗纳德?李维斯特)现任麻省理工学院电子工程和计算机科学系安德鲁与厄纳?维特尔比(Andrew and ErnaViterbi)教授。他是MIT计算机科学和人工智能实验室的成员,并领导着其中的信息安全和隐私中心。他1977年从斯坦福大学获得计算机博士学位,主要从事密码安全、计算机安全算法的研究。他和AdiShamir和LenAdleman一起发明了RSA公钥算法,这个算法在信息安全中获得*的突破,这一成果也使他和Shamir、Adleman一起得到2002年ACM图灵奖。他现在担任guo家密码学会的负责人。
CliffordStein(克利福德?斯坦)哥伦比亚大学计算机科学系和工业工程与运筹学系教授,他还是工业工程与运筹学系的系主任。在加入哥伦比亚大学大学之前,他在达特茅斯学院计算机科学系任教9年。Stein教授拥有MIT硕士和博士学位。他的研究兴趣包括:算法的设计与分析,组合优化、运筹学、网络算法、调度、算法工程和生物计算。
Introduction to Algorithms, Third Edition
出版者的话
译者序
前言
dy部分 基础知识
dy 章 算法在计算中的作用
1.1 算法
1.2 作为一种技术的算法
思考题
本章注记
第2章 算法基础
2.1 插入排序
2.2 分析算法
2.3 设计算法
2.3.1 分治法
2.3.2 分析分治算法
思考题
本章注记
第3章 函数的增长
3.1 渐近记号
3.2 标准记号与常用函数
思考题
本章注记
第4章 分治策略
4.1 zui大子数组问题
4.2 矩阵乘法的Strassen算法
4.3 用代入法求解递归式
4.4 用递归树方法求解递归式
4.5 用主方法求解递归式
4.6 证明主定理
4.6.1 对b的幂证明主定理
4.6.2 向下取整和向上取整
思考题
本章注记
第5章 概率分析和随机算法
5.1 雇用问题
5.2 指示器随机变量
5.3 随机算法
?5.4 概率分析和指示器随机变量的进一步使用
5.4.1 生日悖论
5.4.2 球与箱子
5.4.3 特征序列
5.4.4 在线雇用问题
思考题
本章注记
第二部分 排序和顺序统计量
第6章 堆排序
6.1 堆
6.2 维护堆的性质
6.3 建堆
6.4 堆排序算法
6.5 优先队列
思考题
本章注记
第7章 快速排序
7.1 快速排序的描述
7.2 快速排序的性能
7.3 快速排序的随机化版本
7.4 快速排序分析
7.4.1 zui坏情况分析
7.4.2 期望运行时间
思考题