数据结构与算法 (CS61B)
课程全称: 数据结构与算法
官方网站: sp26.datastructur.es
笔记版本: 2026春
📢 课程更新公告
本站现已全面跟进 CS61B Spring 2026 课程结构!所有内容将按照官方划分,系统性整理为以下四大模块:
📚 课程笔记 (Notes)
核心课程笔记与重点解析
💬 习题课 (Sections)
Discussion 习题课记录
✍️ 作业与答案 (Homework)
作业思路与解答
🚀 项目实战 (Projects)
大型项目实战攻略
📖 课程简介
如果说 CS61A 是教你如何驾驶一辆车(使用列表、函数),那么 CS61B 就是教你如何制造引擎(从零构建数据结构)。我们将深入底层,弄清楚代码到底是怎么跑起来的。
CS61B 使用 Java 语言深入讲解数据结构与算法。为什么是 Java?
- ⚡ 速度与性能: Java 更接近底层硬件,运行效率高
- 🛡️ 静态类型: 在编译期捕获类型错误,避免运行时崩溃
- 🌍 工业界通用语: 世界上最流行的编程语言之一
课程三阶段 (The Three Phases)
| Phase | 时间 | 内容 |
|---|---|---|
| Phase 1 | Week 1-5 | Java 新手村:学习 Java 语法,手写 List(节奏很快!) |
| Phase 2 | Week 6-10 | 数据结构进阶:树、图、哈希表 + 大型设计项目 |
| Phase 3 | Week 11-15 | 算法与软件工程:排序、最短路径 + 结对项目 |
核心主题
- 数据结构: 链表、树、图、哈希表、堆、优先队列
- 算法分析: 时间复杂度、空间复杂度、渐进分析
- 排序算法: 归并排序、快速排序、堆排序
- 图算法: DFS、BFS、最短路径、最小生成树
- 软件工程: 测试、调试、设计模式
📚 学习资源
官方资料
推荐阅读
- Algorithms, 4th Edition by Sedgewick & Wayne
- Princeton Algorithms Course
🎯 学习目标
通过本课程的实战,将掌握:
- 数据结构设计: 理解各种数据结构的实现原理与应用场景
- 算法分析: 能够分析算法效率,选择最优解决方案
- Java 编程: 熟练使用 Java 泛型、接口、继承等特性
- 工程实践: 学会编写测试、使用 Git、调试复杂程序