Introduction to Algorithms (3/e)

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

出版社

The MIT Press

出版时间

2009-07-31

ISBN

9780262033848

评分

★★★★★
书籍介绍
这本书在读者口中有一个心照不宣的绰号:'没有人读完的书'。它体量庞大、结构严密,几乎把计算机科学里重要的算法都收罗进来,也因此被许多人当作'字典'——需要时查阅某一章,而非从头读到尾。真正打动人的,恰恰是它'严谨与全面兼得'的那份野心:每个章节相对独立,可用伪代码配合英文说明讲清算法的设计与分析,让不同基础的读者都能切入。但正因其深,它并不适合零基础的自学,更像本科教材或专业参考,需要配合习题(替换法、归纳、渐进界)一步步啃。它适合愿意把算法当作长期功夫而非速成技巧的人:有人十年编程,有人两年修完算法课,读完后对'如何思考'的理解会截然不同。
AI导读
核心看点
  • 算法领域经典教材,兼顾严谨性与全面性
  • 涵盖广泛算法主题,设计分析深入浅出
  • 伪代码描述清晰,适合各级读者学习
读者共识
  • 公认的经典之作,CS学生人手一册
  • 难度较高,被戏称为‘防身’或‘避孕’书
  • 虽厚且难,但读完能带来质的飞跃
精彩摘录
  • "动态规划算法的设计可以分为如下四个步骤: 1 描述最优解的结构。 2 递归定义最优解的值。 3 按自底向上的方式计算最优解的值。 4 由计算出的结果构造一个最优解。"
  • "在最好的情况下,k=0,因此s'=s+q,并且立刻能得出偏移s+1,s+2,s+3,…s+q-1。"
  • "In the best case, k=0,so that s‘=s+q, and we immediately rule out shifts s+1,s +2;...,s+q-1."
  • "即π[q]是Pq的真后缀P的最长前缀长度。"
  • "π[q] is the length of the longest prefix of P that is a proper suffix of Pq."
  • "考虑对数组A中的n个数进行排序:首先找出A中的最小元素,并将其与A[1]中的元素进行交换。接着找出A中的次小元素,并将其与A[2]中的元素进行交换。对A中头n-1个元素继续这一过程。写出这个算法的伪代码,该算法称为选择排序(selection sort)。对这个算法来说,循环不变式是什么?为什么它仅需要在头n-1个元素上运行,而不是在所有n个元素上运行?以Θ形式写出选择排序的最佳和最坏情况下的运行时间。"
  • "如果一个节点是红的,则它的两个儿子都是黑的。"
  • "如果一个节点是红的,那它的父亲一定是黑的"
用户评论
终于算是粗浅地看完了一遍
在stanford上了cs161这本是必读书目
本科时候的教材 教授的俄罗斯口音基本听不懂 只有考着这本书撑了一学期 并且在期末考试拿了A
太长了。看过之后也动不了手。不适合自学,还是当字典吧
Hopefully I could finish it this time :-)
几乎完美的算法入门书,平易通顺
One of the most classic book. Good to pair with the Algorithm Design Manual.
是不是那些动不动就说“原书好,翻译烂”的脑残从来不看(或者看不懂)原版?原版好在哪儿了谁告诉我一下,例子讲不清楚,示例图能多简单有多简单,章节划分混乱,我并不觉得原版好在哪儿了。
还算英文版读着舒服,不用担心翻译质量。白瞎了买的中文版了哈哈哈哈
程序员的内功心法。值得时常回味
下载
收藏