COMP2013 数据结构与算法教程:从复杂度分析、排序、堆、哈希、搜索树到 DP、贪心与图
这篇文章根据 COMP2013 Data Structures and Algorithms 的课程资料整理。它不是单纯把 lecture 列出来,而是试图回答一个更重要的问题:
当我们说“学数据结构与算法”时,到底是在训练什么能力?
我的理解是三件事。第一,能判断一个程序会不会随着输入规模变大而崩掉,也就是复杂度分析。第二,能选择合适的数据组织方式,让查询、插入、删除、排序这些操作不至于低效。第三,能把一个问题拆成可以证明正确的算法框架,比如分治、动态规划、贪心和图搜索。