Units
The lectures are broken into 12 units, as shown below, which are available online and in PDF form. These pages are also reachable from the calendar.
- Unit 1: Big-O (Classes 1–4)
Introduction, Analysis, Examples with loops - Unit 2: Recursion (Classes 5–7)
Writing and using recursion, Recursive Big-O analysis - Unit 3: ADTs and 1-D data structures (Classes 8–10)
Data Types, Lists, Stacks, Queues - Unit 4: Trees (Classes 11–14)
Structure, Traversal, Binary search trees - Unit 5: Ordered Maps (Classes 15–20)
Map ADT, AVL trees, 2-3-4 trees - Unit 6: Priority queues (Classes 21–23)
Priority queue ADT, Heaps, HeapSort - Unit 7: Hash tables (Classes 24–26)
Hash functions, Separate chaining, Open addressing - Unit 8: Sets (Classes 27–28)
Set ADT, Data structure options, Union and intersection - Unit 9: Graphs (Classes 29–32)
Graph ADT, Adjacency list, Adjacency matrix, BFS, DFS - Unit 10: Shortest paths (Classes 33–36)
Dijkstra, Floyd-Warshall - Unit 11: Project presentations (Classes 37–39)
- Unit 12: Compression (Classes 40–42)
RLE, Huffman, LZW, Burrows-Wheeler