抽象数据类型
理解列表、集合、映射、栈和队列背后的接口设计。
Learning Path
建议把每个数据结构都和复杂度、接口设计和项目实践一起理解。
理解列表、集合、映射、栈和队列背后的接口设计。
用树、堆、哈希表和图算法建立数据组织能力。
通过 Java 项目训练调试、测试、性能分析和代码组织。
CS61B 将数据结构、算法分析和软件工程实践结合起来。课程不仅要求实现列表、树、哈希表和图,也强调接口设计、测试、版本管理与项目结构。
建议先完成 CS61A 或同等课程,并熟悉递归、对象与基本调试流程。
同一种抽象可以有不同实现。学习时应持续比较运行时间、空间开销、代码复杂度和适用场景。
链表、数组、集合、映射、泛型和接口。
二叉搜索树、平衡树、堆、哈希表及经典排序算法。
图遍历、最短路径、最小生成树,以及综合工程项目。
学习者应能分析常见操作的复杂度,独立实现核心结构,并在中型 Java 项目中进行测试、调试和性能改进。