《Introduction to Algorithms》(第三版,简称CLRS)由MIT四位顶尖学者Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein合著,2009年由MIT Press出版,被誉为“计算机科学领域的圣经”。全书以严谨性与全面性著称,系统覆盖算法设计、分析与应用的方方面面,被全球1000余所高校选为教材,并成为算法工程师的案头必备。
核心内容
算法基础与数学工具
渐进分析:详解大O、Ω、Θ符号,结合主定理分析递归算法复杂度(如Strassen矩阵乘法)。
分治策略:以归并排序、快速排序为例,阐述分治法的设计与分析框架。
经典算法与数据结构
排序与搜索:深入解析堆排序、红黑树、B树等结构,对比时间复杂度(如O(n log n) vs O(n²))。
图算法:涵盖最短路径(Dijkstra、Bellman-Ford)、最小生成树(Kruskal、Prim)及网络流算法。
高级主题
动态规划:从斐波那契数列到钢条切割问题,强调最优子结构与状态转移方程的设计。
NP完全性:通过归约法证明SAT、顶点覆盖等问题的NP完全性,探讨近似算法(如顶点覆盖的2-近似)。
第三版新增内容
van Emde Boas树:高效处理前驱/后继查询的哈希结构。
多线程算法:引入并行计算模型与锁机制设计。