| 1 | 29 June |
Introduction, ADTs, Stacks, Asymptotic Notation |
| 2 | 30 June |
Asymptotic Notation, Induction, Recurrence Relations |
| 3 | 1 July |
Arrays, Linked Lists (single, double), Queues |
| 4 | 2 July |
Sentinels, Object-oriented data definitions, Exceptions |
| 5 | 6 July |
Polymorphism, Introduction to Trees, Binary Search Trees |
| 6 | 7 July |
Red-black trees |
| 7 | 8 July |
Red-black deletion,
augmenting data structures, using splay trees |
| 8 | 9 July |
2-3 trees |
| 9 | 10 July |
B-Trees, Programming: Variations on Homework 2 |
| 10 | 13 July |
Heaps |
| 11 | 14 July |
Finish Heaps, Start Hashtables |
| 12 | 15 July |
Hashing |
| 13 | 16 July |
Open Address Hashtables |
| | 17 July |
PRELIM |
| 14 | 20 July |
Prelim Solution, Amortization
|
| 15 | 21 July |
Union-Find |
| 16 | 22 July |
Finish Union-Find, Start Sorting |
| 17 | 23 July |
Sorting: Selection, Insertion, Heap, Merge |
| 18 | 24 July |
Finish mergesort, Quicksort |
| 19 | 27 July |
Quicksort wrapup, lower bound on comparison sort,
order statistics |
| 20 | 28 July |
Median, Linear Time Sorts, Radix Sort |
| 21 | 29 July |
Tries |
| 22 | 30 July |
Introduction to Graphs, Breadth-First-Search |
| 23 | 31 July |
BFS Correctness, Depth-First-Search |
| 24 | 3 August |
Topological Sort, Strongly-Connected Components |
| 25 | 4 August |
Minimum Spanning Trees |
| 26 | 5 August |
Single-source shortest path |
| 27 | 6 August |
Running time for MST and SSSP, Algorithms for
All-pairs shortest paths
|
| 28 | 7 August |
Course review, perspective, and evaluation |