Week 1算法导论与 Big-O
引入算法的基本类型,建立时间复杂度与 Big-O 表示法的直觉。
Week 2复杂度进阶与数据结构导入
继续比较 Big-O / Big-Omega / Big-Theta,并开始建立数据结构选型思维。
Week 3Makefiles 与链表
学习多文件程序组织、Makefile 工作流,以及 linked list 的基本实现。
Week 4二叉树与 AVL 平衡
覆盖 binary tree 的插入、删除、遍历、复杂度分析,以及 AVL tree 与旋转。
Week 5树变体与哈希表
继续 binary search tree 变体,包括 2-3-4 树、B+ 树、Red-Black、Splay、KD/Quad tree,并引入 distribution counting 与 hash tables。
Week 6排序算法
集中学习 selection sort、insertion sort、quick sort 与 merge sort。
Week 7Merge Sort 与 Master Theorem
用 Master theorem 分析递归算法复杂度,并深化 merge sort 的时间复杂度推导。
Week 8优先队列与堆
学习 priority queue、heap 的结构与操作,并进入 heapsort。
Week 9图表示与遍历
建立 graph 的矩阵/邻接表表示,比较 DFS 与 BFS 在图上的遍历方式。
Week 10最短路径与最小生成树
覆盖 graph shortest path、all-pairs shortest paths 与 MST 的核心思想和算法。