# 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