- L1 Introduction
- L2 Data Structures
- L3 Sorting
- L4 Hashing
- L5 Linear Sorting
- PS0
- PS1
- PS2
- L6 Binary Trees I
- L7 Binary Trees II: AVL
- L8 Binary Heaps
- PS3
- PS4
- C++ BST from scratch
- C++ AVL from scratch
- C++ Heap from scratch
- L9 BFS
- L10 DFS
- C++ Graph adjacency list
- C++ BFS / DFS
- C++ Union-Find
- Topological Sort
- L11 Weighted Shortest Paths
- L12 Bellman-Ford
- L13 Dijkstra
- L14 Johnson
- PS5
- PS6
- Bellman-Ford from scratch
- Dijkstra from scratch
- Kruskal from scratch
- Prim from scratch
- L15 DP I
- L16 DP II
- L17 DP III
- L18 DP IV
- PS7
- L19 Complexity
- L20 Review
- L21 Next Steps
- PS8
- Quiz 1
- Quiz 2
- Quiz 3
- Final
- Huffman Tree
- KMP
- Floyd-Warshall
- MST: Prim / Kruskal
- Union-Find
- Sorting stability / complexity table
- adjacency matrix / adjacency list
满足以下条件即可开始并行 CS336:
- Hashing understood + implemented
- BST implemented
- Heap implemented
- BFS / DFS implemented
- Dijkstra implemented
- Bellman-Ford understood
- 能独立分析常见算法复杂度