索引 / 001 ZH-CN

计算机科学

计算机科学

Algorithms

Jeff Erickson

英文原名: Algorithms

完整算法教材,在数据结构之后训练递归建模、正确性证明、动态规划、图算法与归约,适合从会写程序走向能解释算法为何成立的读者。

需要的基础: 先修离散数学、归纳、递归和基本数据结构,复习图、渐近记号与递推式;本书不从头讲队列、散列表或平衡树,应先补齐相关基础。

难度等级
中级
学术层次
本科
algorithm designgraph algorithmsNP hardness

01 / 导读

导读

适合谁

适合编程和数据结构之后的本科算法课,作者明确并非首次算法启蒙。重点是持续练习设计、解释正确性,并把正确性论证与运行时间分析分开。

需要的基础

先修离散数学、归纳、递归和基本数据结构,复习图、渐近记号与递推式;本书不从头讲队列、散列表或平衡树,应先补齐相关基础。

覆盖内容

从递归、回溯进入动态规划、贪心、图遍历、生成树、最短路径、流、割和NP困难性。作者站另附扩展讲义,但不能把它们全部视为主书内容。

如何使用

写代码前明确输入输出,找一个能暴露错误直觉的小例子;精确定义递归子问题或贪心选择,分别完成正确性证明与复杂度分析。用习题比较两种路线,为失败的改法构造反例,最后才实现并用小规模穷举核对。

版本与来源

作者完整第一版为2019年6月、472页,主书CC BY 4.0;同页其他讲义采用较严格的CC BY-NC-SA 4.0,再利用须区分具体文件,不能混用许可。

访问官方资源