算法导论(原书第3版)

算法导论(原书第3版)
9.2
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] [美] [美] [美]
出版社: 机械工业出版社
2012-12
版次: 1
ISBN: 9787111407010
定价: 128.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 796页
正文语种: 简体中文
原版书名: Introduction to Algorithms, Third Edition
  •   在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第3版)/计算机科学丛书》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。  《算法导论(原书第3版)/计算机科学丛书》全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)/计算机科学丛书》也是一本案头必备的参考书或工程实践手册。  第3版的主要变化:  ·新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。  ·修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。  ·移除两章很少讲授的内容:二项堆和排序网络。  ·修订了动态规划和贪心算法相关内容。  ·流网络相关材料现在基于边上的全部流。  ·由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。  ·修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。  ·新增100道练习和28道思考题,还更新并补充了参考文献。   Thomas H. Cormen (托马斯·科尔曼),达特茅斯学院计算机科学系教授、系主任。目前的研究兴趣包括:算法工程、并行计算、具有高延迟的加速计算。他分别于1993年、1986年获得麻省理工学院电子工程和计算机科学博士、硕士学位,师从Charles E. Leiserson教授。由于他在计算机教育领域的突出贡献,Cormen教授荣获2009年ACM杰出教员奖。  Charles E. Leiserson(查尔斯·雷瑟尔森),麻省理工学院计算机科学与电气工程系教授,Margaret MacVicar Faculty Fellow。他目前主持MIT超级计算技术研究组,并是MIT计算机科学和人工智能实验室计算理论研究组的成员。他的研究兴趣集中在并行和分布式计算的理论原理,尤其是与工程现实相关的技术研究。Leiserson教授拥有卡内基·梅隆大学计算机科学博士学位,还是ACM、IEEE和SIAM的会士。  Ronald L. Rivest (罗纳德·李维斯特),现任麻省理工学院电子工程和计算机科学系安德鲁与厄纳·维特尔比(Andrew and Erna Viterbi)教授。他是MIT计算机科学和人工智能实验室的成员,并领导着其中的信息安全和隐私中心。他1977年从斯坦福大学获得计算机博士学位,主要从事密码安全、计算机安全算法的研究。他和Adi Shamir和Len Adleman一起发明了RSA公钥算法,这个算法在信息安全中获得大的突破,这一成果也使他和Shamir、Adleman一起得到2002年ACM图灵奖。他现在担任国家密码学会的负责人。  Clifford Stein(克利福德·斯坦),哥伦比亚大学计算机科学系和工业工程与运筹学系教授,他还是工业工程与运筹学系的系主任。在加入哥伦比亚大学大学之前,他在达特茅斯学院计算机科学系任教9年。Stein教授拥有MIT硕士和博士学位。他的研究兴趣包括:算法的设计与分析,组合优化、运筹学、网络算法、调度、算法工程和生物计算。 出版者的话译者序前言第一部分 基础知识第1章 算法在计算中的作用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 最大子数组问题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 最坏情况分析7.4.2 期望运行时间思考题本章注记第8章 线性时间排序8.1 排序算法的下界8.2 计数排序8.3 基数排序8.4 桶排序思考题本章注记第9章 中位数和顺序统计量9.1 最小值和最大值9.2 期望为线性时间的选择算法9.3 最坏情况为线性时间的选择算法思考题本章注记 第三部分 数据结构第10章 基本数据结构10.1 栈和队列10.2 链表10.3 指针和对象的实现10.4 有根树的表示思考题本章注记第11章 散列表11.1 直接寻址表11.2 散列表11.3 散列函数11.3.1 除法散列法11.3.2 乘法散列法11.3.3 全域散列法11.4 开放寻址法11.5 完全散列思考题本章注记第12章 二叉搜索树12.1 什么是二叉搜索树12.2 查询二叉搜索树12.3 插入和删除12.4 随机构建二叉搜索树思考题本章注记第13章 红黑树13.1 红黑树的性质13.2 旋转13.3 插入13.4 删除思考题本章注记第14章 数据结构的扩张14.1 动态顺序统计14.2 如何扩张数据结构14.3 区间树思考题本章注记 第四部分 高级设计和分析技术第15章 动态规划15.1 钢条切割15.2 矩阵链乘法15.3 动态规划原理15.4 最长公共子序列15.5 最优二叉搜索树思考题本章注记第16章 贪心算法16.1 活动选择问题16.2 贪心算法原理16.3 赫夫曼编码16.4 拟阵和贪心算法16.5 用拟阵求解任务调度问题思考题本章注记第17章 摊还分析17.1 聚合分析17.2 核算法17.3 势能法17.4 动态表17.4.1 表扩张17.4.2 表扩张和收缩思考题本章注记 第五部分 高级数据结构第18章 B树18.1 B树的定义18.2 B树上的基本操作18.3 从B树中删除关键字思考题本章注记第19章 斐波那契堆19.1 斐波那契堆结构19.2 可合并堆操作19.3 关键字减值和删除一个结点19.4 最大度数的界思考题本章注记第20章 van Emde Boas树20.1 基本方法20.2 递归结构20.2.1 原型van Emde Boas结构20.2.2 原型van Emde Boas结构上的操作20.3 van Emde Boas树及其操作20.3.1 van Emde Boas树20.3.2 van Emde Boas树的操作思考题本章注记第21章 用于不相交集合的数据结构21.1 不相交集合的操作21.2 不相交集合的链表表示21.3 不相交集合森林*21.4 带路径压缩的按秩合并的分析思考题本章注记 第六部分 图算法第22章 基本的图算法22.1 图的表示22.2 广度优先搜索22.3 深度优先搜索22.4 拓扑排序22.5 强连通分量思考题本章注记第23章 最小生成树23.1 最小生成树的形成23.2 Kruskal算法和Prim算法思考题本章注记第24章 单源最短路径24.1 Bellman-Ford算法24.2 有向无环图中的单源最短路径问题24.3 Dijkstra算法24.4 差分约束和最短路径24.5 最短路径性质的证明思考题本章注记第25章 所有结点对的最短路径问题25.1 最短路径和矩阵乘法25.2 FloydWarshall算法25.3 用于稀疏图的Johnson算法思考题本章注记第26章 最大流26.1 流网络26.2 Ford\Fulkerson方法26.3 最大二分匹配26.4 推送重贴标签算法26.5 前置重贴标签算法思考题本章注记 第七部分 算法问题选编第27章 多线程算法27.1 动态多线程基础27.2 多线程矩阵乘法27.3 多线程归并排序思考题本章注记第28章 矩阵运算28.1 求解线性方程组28.2 矩阵求逆28.3 对称正定矩阵和最小二乘逼近思考题本章注记第29章 线性规划29.1 标准型和松弛型29.2 将问题表达为线性规划29.3 单纯形算法29.4 对偶性29.5 初始基本可行解思考题本章注记第30章 多项式与快速傅里叶变换30.1 多项式的表示30.2 DFT与FFT30.3 高效FFT实现思考题本章注记第31章 数论算法31.1 基础数论概念31.2 最大公约数31.3 模运算31.4 求解模线性方程31.5 中国余数定理31.6 元素的幂31.7 RSA公钥加密系统31.8 素数的测试31.9 整数的因子分解思考题本章注记第32章 字符串匹配32.1 朴素字符串匹配算法32.2 Rabin\Karp算法32.3 利用有限自动机进行字符串匹配32.4 Knuth-Morris-Pratt算法思考题本章注记第33章 计算几何学33.1 线段的性质33.2 确定任意一对线段是否相交33.3 寻找凸包33.4 寻找最近点对思考题本章注记第34章 NP完全性34.1 多项式时间34.2 多项式时间的验证34.3 NP完全性与可归约性34.4 NP完全性的证明34.5 NP完全问题34.5.1 团问题34.5.2 顶点覆盖问题34.5.3 哈密顿回路问题34.5.4 旅行商问题34.5.5 子集和问题思考题本章注记第35章 近似算法35.1 顶点覆盖问题35.2 旅行商问题35.2.1 满足三角不等式的旅行商问题35.2.2 一般旅行商问题35.3 集合覆盖问题35.4 随机化和线性规划35.5 子集和问题思考题本章注记第八部分 附录:数学基础知识附录A 求和A.1 求和公式及其性质A.2 确定求和时间的界思考题附录注记附录B 集合等离散数学内容B.1 集合B.2 关系B.3 函数B.4 图B.5 树B.5.1 自由树B.5.2 有根树和有序树B.5.3 二叉树和位置树思考题附录注记附录C 计数与概率C.1 计数C.2 概率C.3 离散随机变量C.4 几何分布与二项分布*C.5 二项分布的尾部思考题附录注记附录D 矩阵D.1 矩阵与矩阵运算D.2 矩阵基本性质思考题附录注记参考文献索引
  • 内容简介:
      在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第3版)/计算机科学丛书》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。  《算法导论(原书第3版)/计算机科学丛书》全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)/计算机科学丛书》也是一本案头必备的参考书或工程实践手册。  第3版的主要变化:  ·新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。  ·修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。  ·移除两章很少讲授的内容:二项堆和排序网络。  ·修订了动态规划和贪心算法相关内容。  ·流网络相关材料现在基于边上的全部流。  ·由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。  ·修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。  ·新增100道练习和28道思考题,还更新并补充了参考文献。
  • 作者简介:
      Thomas H. Cormen (托马斯·科尔曼),达特茅斯学院计算机科学系教授、系主任。目前的研究兴趣包括:算法工程、并行计算、具有高延迟的加速计算。他分别于1993年、1986年获得麻省理工学院电子工程和计算机科学博士、硕士学位,师从Charles E. Leiserson教授。由于他在计算机教育领域的突出贡献,Cormen教授荣获2009年ACM杰出教员奖。  Charles E. Leiserson(查尔斯·雷瑟尔森),麻省理工学院计算机科学与电气工程系教授,Margaret MacVicar Faculty Fellow。他目前主持MIT超级计算技术研究组,并是MIT计算机科学和人工智能实验室计算理论研究组的成员。他的研究兴趣集中在并行和分布式计算的理论原理,尤其是与工程现实相关的技术研究。Leiserson教授拥有卡内基·梅隆大学计算机科学博士学位,还是ACM、IEEE和SIAM的会士。  Ronald L. Rivest (罗纳德·李维斯特),现任麻省理工学院电子工程和计算机科学系安德鲁与厄纳·维特尔比(Andrew and Erna Viterbi)教授。他是MIT计算机科学和人工智能实验室的成员,并领导着其中的信息安全和隐私中心。他1977年从斯坦福大学获得计算机博士学位,主要从事密码安全、计算机安全算法的研究。他和Adi Shamir和Len Adleman一起发明了RSA公钥算法,这个算法在信息安全中获得大的突破,这一成果也使他和Shamir、Adleman一起得到2002年ACM图灵奖。他现在担任国家密码学会的负责人。  Clifford Stein(克利福德·斯坦),哥伦比亚大学计算机科学系和工业工程与运筹学系教授,他还是工业工程与运筹学系的系主任。在加入哥伦比亚大学大学之前,他在达特茅斯学院计算机科学系任教9年。Stein教授拥有MIT硕士和博士学位。他的研究兴趣包括:算法的设计与分析,组合优化、运筹学、网络算法、调度、算法工程和生物计算。
  • 目录:
    出版者的话译者序前言第一部分 基础知识第1章 算法在计算中的作用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 最大子数组问题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 最坏情况分析7.4.2 期望运行时间思考题本章注记第8章 线性时间排序8.1 排序算法的下界8.2 计数排序8.3 基数排序8.4 桶排序思考题本章注记第9章 中位数和顺序统计量9.1 最小值和最大值9.2 期望为线性时间的选择算法9.3 最坏情况为线性时间的选择算法思考题本章注记 第三部分 数据结构第10章 基本数据结构10.1 栈和队列10.2 链表10.3 指针和对象的实现10.4 有根树的表示思考题本章注记第11章 散列表11.1 直接寻址表11.2 散列表11.3 散列函数11.3.1 除法散列法11.3.2 乘法散列法11.3.3 全域散列法11.4 开放寻址法11.5 完全散列思考题本章注记第12章 二叉搜索树12.1 什么是二叉搜索树12.2 查询二叉搜索树12.3 插入和删除12.4 随机构建二叉搜索树思考题本章注记第13章 红黑树13.1 红黑树的性质13.2 旋转13.3 插入13.4 删除思考题本章注记第14章 数据结构的扩张14.1 动态顺序统计14.2 如何扩张数据结构14.3 区间树思考题本章注记 第四部分 高级设计和分析技术第15章 动态规划15.1 钢条切割15.2 矩阵链乘法15.3 动态规划原理15.4 最长公共子序列15.5 最优二叉搜索树思考题本章注记第16章 贪心算法16.1 活动选择问题16.2 贪心算法原理16.3 赫夫曼编码16.4 拟阵和贪心算法16.5 用拟阵求解任务调度问题思考题本章注记第17章 摊还分析17.1 聚合分析17.2 核算法17.3 势能法17.4 动态表17.4.1 表扩张17.4.2 表扩张和收缩思考题本章注记 第五部分 高级数据结构第18章 B树18.1 B树的定义18.2 B树上的基本操作18.3 从B树中删除关键字思考题本章注记第19章 斐波那契堆19.1 斐波那契堆结构19.2 可合并堆操作19.3 关键字减值和删除一个结点19.4 最大度数的界思考题本章注记第20章 van Emde Boas树20.1 基本方法20.2 递归结构20.2.1 原型van Emde Boas结构20.2.2 原型van Emde Boas结构上的操作20.3 van Emde Boas树及其操作20.3.1 van Emde Boas树20.3.2 van Emde Boas树的操作思考题本章注记第21章 用于不相交集合的数据结构21.1 不相交集合的操作21.2 不相交集合的链表表示21.3 不相交集合森林*21.4 带路径压缩的按秩合并的分析思考题本章注记 第六部分 图算法第22章 基本的图算法22.1 图的表示22.2 广度优先搜索22.3 深度优先搜索22.4 拓扑排序22.5 强连通分量思考题本章注记第23章 最小生成树23.1 最小生成树的形成23.2 Kruskal算法和Prim算法思考题本章注记第24章 单源最短路径24.1 Bellman-Ford算法24.2 有向无环图中的单源最短路径问题24.3 Dijkstra算法24.4 差分约束和最短路径24.5 最短路径性质的证明思考题本章注记第25章 所有结点对的最短路径问题25.1 最短路径和矩阵乘法25.2 FloydWarshall算法25.3 用于稀疏图的Johnson算法思考题本章注记第26章 最大流26.1 流网络26.2 Ford\Fulkerson方法26.3 最大二分匹配26.4 推送重贴标签算法26.5 前置重贴标签算法思考题本章注记 第七部分 算法问题选编第27章 多线程算法27.1 动态多线程基础27.2 多线程矩阵乘法27.3 多线程归并排序思考题本章注记第28章 矩阵运算28.1 求解线性方程组28.2 矩阵求逆28.3 对称正定矩阵和最小二乘逼近思考题本章注记第29章 线性规划29.1 标准型和松弛型29.2 将问题表达为线性规划29.3 单纯形算法29.4 对偶性29.5 初始基本可行解思考题本章注记第30章 多项式与快速傅里叶变换30.1 多项式的表示30.2 DFT与FFT30.3 高效FFT实现思考题本章注记第31章 数论算法31.1 基础数论概念31.2 最大公约数31.3 模运算31.4 求解模线性方程31.5 中国余数定理31.6 元素的幂31.7 RSA公钥加密系统31.8 素数的测试31.9 整数的因子分解思考题本章注记第32章 字符串匹配32.1 朴素字符串匹配算法32.2 Rabin\Karp算法32.3 利用有限自动机进行字符串匹配32.4 Knuth-Morris-Pratt算法思考题本章注记第33章 计算几何学33.1 线段的性质33.2 确定任意一对线段是否相交33.3 寻找凸包33.4 寻找最近点对思考题本章注记第34章 NP完全性34.1 多项式时间34.2 多项式时间的验证34.3 NP完全性与可归约性34.4 NP完全性的证明34.5 NP完全问题34.5.1 团问题34.5.2 顶点覆盖问题34.5.3 哈密顿回路问题34.5.4 旅行商问题34.5.5 子集和问题思考题本章注记第35章 近似算法35.1 顶点覆盖问题35.2 旅行商问题35.2.1 满足三角不等式的旅行商问题35.2.2 一般旅行商问题35.3 集合覆盖问题35.4 随机化和线性规划35.5 子集和问题思考题本章注记第八部分 附录:数学基础知识附录A 求和A.1 求和公式及其性质A.2 确定求和时间的界思考题附录注记附录B 集合等离散数学内容B.1 集合B.2 关系B.3 函数B.4 图B.5 树B.5.1 自由树B.5.2 有根树和有序树B.5.3 二叉树和位置树思考题附录注记附录C 计数与概率C.1 计数C.2 概率C.3 离散随机变量C.4 几何分布与二项分布*C.5 二项分布的尾部思考题附录注记附录D 矩阵D.1 矩阵与矩阵运算D.2 矩阵基本性质思考题附录注记参考文献索引
查看详情
好书推荐 / 更多
算法导论(原书第3版)
荷马史诗中的生与死
[英]加斯帕·格里芬、Jasper、Griffin 著
算法导论(原书第3版)
票证里的中国
李三台 著
算法导论(原书第3版)
圣天秤星
彼得·汉密尔顿(Peter F.Hamilton)、段宗忱 译
算法导论(原书第3版)
追寻记忆的痕迹:新心智科学的开创历程(诺贝尔奖得主埃里克·坎德尔作品)
[美]埃里克·坎德尔 著;喻柏雅 译
算法导论(原书第3版)
创世:梵蒂冈博物馆全品珍藏(修订升级版)
[德]安雅·格雷贝 著;郑柯 译
算法导论(原书第3版)
白鹭
德里克·沃尔科特(Derck Walcott) 著;程一身 译
算法导论(原书第3版)
东京城市更新经验:城市再开发重大案例研究
同济大学建筑与城市空间研究所、株式会社日本设计 著
算法导论(原书第3版)
黎曼猜想漫谈
卢昌海 著
算法导论(原书第3版)
鸟的魔力:一部绚烂的鸟类文化史
[英]西莉亚·费希尔 著;王晨 译
算法导论(原书第3版)
隐身大师
[法]萨拉·卡明斯基 著;廖晓玮 译
算法导论(原书第3版)
莫奈手稿
[法]克劳德·莫奈
算法导论(原书第3版)
无止境的逃离
[土耳其]哈坎·甘迪