Classes
The lectures are broken into 9 units, as shown below. The notes will be updated after every class. These pages are also reachable from the main calendar.
- Unit 1: Big O (Classes 1–4)
Introduction, Analysis, Using Big-O - Unit 2: Recursion (Classes 5–7)
Understanding recursive functions, Recursive Big-O analysis - Unit 3: ADTs and LSQs (Classes 8–11)
Data Types, Lists, Stacks, Queues - Unit 4: Trees (Classes 12–15)
Traversal, Binary Search Trees - Unit 5: Maps (Classes 16–19)
Map ADT, AVL Trees, 2-3-4 Trees - Unit 6: Hash tables (Classes 20–22)
Hash functions, Separate chaining, Open addressing - Unit 7: Priority Queues (Classes 23–26)
Priority Queue ADT, Heaps, HeapSort - Unit 8: Graphs (Classes 27–30)
Adjacency list, Adjacency matrix, BFS, DFS - Unit 9: Graph search (Classes 31–35)
Dijkstra's algorithm, Floyd-Warshall