- 定价:¥85.00
- 评分:
(已有607条评价)
基本信息
- 原书名:Introduction to Algorithms, Second Edition
- 原出版社: The MIT Press

编辑推荐
本书被china-pub会员评为“2007年我最喜爱的十大技术图书”之一
本书被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一
本书以相当的深度介绍了许多常用的数据结构和有效的算法,使得这些算法的设计和分析易于被各个层次的读者所理解。
本书编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。
内容简介
计算机书籍
《算法导论(原书第2版)》深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。《算法导论(原书第2版)》的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。《算法导论(原书第2版)》还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。《算法导论(原书第2版)》提供了900多个练习题和思考题以及叙述较为详细的实例研究。.
《算法导论(原书第2版)》内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。《算法导论(原书第2版)》在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。
在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的题材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。..
《算法导论(原书第2版)》深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。
《算法导论(原书第2版)》自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的题材。...
作译者
本书的四位作者均是算法领域的大师级人物,Thomas H. Cormen,Charles E. Leiserson和Ronald
L. Rivest是MIT的教授,Clifford
Stein是MIT的博士,现在哥伦比亚大学做教授,四人姓氏的首字母联在一起即是此书的非常酷的英文简称(CLRS
2e)。其中第三作者Ronald L. Rivest更是
目录
专家指导委员会
译者序.
前言
第一部分 基础知识
引言
第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 代换法
译者序
目前,市面上有关计算机算法的书很多,有些叙述严谨但不全面,另外一些则是容量很大但不够严谨。《算法导论(原书第2版)》将叙述的严谨性以及内容的深度和广度有机地结合了起来。第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例解答,并通过清晰的图示来说明算法的执行过程。
《算法导论(原书第2版)》是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了“循环不变式”,并贯穿始终地用来证明算法的正确性。在不改动数学和分析重点的前提下,作者将第1版中的许多数学基础知识从第一部分移到了附录中。
二、《算法导论(原书第2版)》的特点
本书在进行算法分析的过程中,保持了很好的数学严谨性。书中的分析和设计可以被具有各种水平的读者所理解。相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。
《算法导论(原书第2版)》的特点可以概括为以下几个方面:
1.概念清晰,广度、深度兼顾。
《算法导论(原书第2版)》收集了现代计算机常用的数据结构和算法,并作了系统而深入的介绍。对涉及的概念和背景知识都作了清晰的阐述,有关的定理给出了完整的证明。
2.“五个一”的描述方法。
《算法导论(原书第2版)》以相当的深度介绍了许多常用的数据结构和有效的算法。编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。..
3.图文并茂,可读性强。
书中的算法均以通俗易懂的语言进行说明,并采用了大量插图来说明算法是如何工作的,易于理解。
4.算法的“伪代码”形式简明实用。
书中的算法均以非常简明的“伪代码”形式来设计,可以很容易地把它转化为计算机程序,直接应用。
注重算法设计的效率,对所有的算法进行了仔细、精确的运行时间分析,有利于进一步改进算法。
三、《算法导论(原书第2版)》的用法
本书对内容进行了精心的设计和安排,尽可能考虑到所有水平的读者。即使是初学计算机算法的人,也可以在本书中找到所需的材料。
每一章都是独立的,读者只需将注意力集中到最感兴趣的章节阅读。
1.适合作为教材或教学参考书。
《算法导论(原书第2版)》兼顾通用性与系统性,覆盖了许多方面的内容。本书不但阐述通俗、严谨,而且提供了大量练习和思考题。针对每一节的内容,都给出了数量和难度不等的练习题。练习题用于考察对基本内容的掌握程度,思考题有一定的难度,需进行精心的研究,有时还通过思考题介绍一些新的知识。
前言
书中每一章都给出了一个算法、一种算法设计技术、一个应用领域或一个相关的主题。算法是用英语和一种“伪代码”来描述的,任何有一点程序设计经验的人都能看得懂。书中给出了230多幅图,说明各个算法的工作过程。我们强调将算法的效率作为一种设计标准,对书中的所有算法,都给出了关于其运行时间的详细分析。
《算法导论(原书第2版)》主要供本科生和研究生的算法或数据结构课程使用。因为书中讨论了算法设计中的工程问题及其数学性质,因此,《算法导论(原书第2版)》也可以供专业技术人员自学之用。
本书是第2版。在这个版本里,我们对全书进行了更新。所做的改动从新增了若干章,到个别语句的改写。
致使用本书的教师
《算法导论(原书第2版)》的设计目标是全面、适用于多种用途。它可用于若干课程,从本科生的数据结构课程到研究生的算法课程。由于书中给出的内容比较多,只讲一学期一般讲不完,因此,教师们应该将本书看成是一种“缓存区”或“瑞典式自助餐”,从中挑选出能最好地支持自己希望教授的课程的内容。
教师们会发现,要围绕自己所需的各个章节来组织课程是比较容易的。书中的各章都是相对独立的,因此,你不必担心意想不到的或不必要的各章之间的依赖关系。每一章都是以节为单位,内容由易到难。如果将《算法导论(原书第2版)》用于本科生的课程,可以选用每一章的前面几节内容;在研究生课程中,则可以完整地讲授每一章。
全书包含920多个练习题和140多个思考题。每一节结束时给出练习题,每一章结束时给出一些思考题。练习一般比较短,用于检查学生对书中内容的基本掌握情况。有一些是简单的自查性思考题,另一些则要更充实,可以作为家庭作业布置给学生。每一章后的思考题都是些叙述较为详细的实例研究,它们常常会介绍一些新的知识。一般来说,这些思考题都会包含几个小问题,引导学生逐步得到问题的解。
在那些不太适合于本科生、更适合于研究生的章节和练习前面,都加上了星号(*)。带星号的章节也不一定就比不带星号的更难,但可能要求了解更多的数学知识。类似地,带星号的练习可能要求有更好的数学背景或创造力。
致使用《算法导论(原书第2版)》的学生
希望本教材能为同学们提供关于算法这一领域的有趣介绍。我们力求使书中给出的每一个算法都易于理解和有趣。为了在同学们遇到不熟悉或比较困难的算法时提供帮助,我们逐个步骤地描述每一个算法。此外,为了便于大家理解书中对算法的分析,对于其中所需的数学知识,我们给出了详细的解释。如果对某一主题已经有所了解,会发现根据书中各章的编排顺序,可以跳过一些介绍性的小节,直接阅读更高级的内容。
《算法导论(原书第2版)》是一本大部头著作,读者所修的课程可能只讲授其中的一部分。我们试图使它能成为一本现在对读者有用的教材,将来在读者的职业生涯中,也能成为一本案头的数学参考书或工程实践手册。
阅读《算法导论(原书第2版)》需要哪些预备知识呢?
·读者需要有一些程序设计方面的经验,尤其需要理解递归过程和简单的数据结构,如数组和链表。
·读者应该能较为熟练地利用数学归纳法进行证明。书中有一些内容要求读者具备初等微积分方面的知识。除此之外,《算法导论(原书第2版)》的第一部分和第八部分将介绍读者需要用到的所有数学技巧。
致使用本书的专业技术人员
《算法导论(原书第2版)》涉及的主题非常广泛,因而是一本很好的算法参考手册。因为每一章都是相对独立的,因而,读者可以重点查阅自己感兴趣的主题。
在我们所讨论的算法中,多数都有着极大的实用价值。因此,我们在书中涉及了算法实现方面的考虑和其他工程方面的问题。对于那些为数不多的、主要具有理论研究价值的算法,通常还给出其实用的替代算法。
如果希望实现这些算法中的任何一个,就会发现,将书中的伪代码翻译成读者熟悉的某种程序设计语言,是一件相当直接的事。伪代码被设计成能够清晰简明地描述每一个算法。因此,我们不考虑出错处理和其他需要对读者所用编程环境有特定假设的软件工程问题。我们力求简单而直接地给出每一个算法,而不会让某种特定程序设计语言的特殊性掩盖算法的本质内容。
致我们的同事