| Introduction | Jan 10 lecture | Introduction to complexity analysis How to analyze with O() Formal definitions of asymptotic notation Log/log graphs: estimating asymptotic complexity by experiment | |||
| Jan 17 tutorial | Analysis of recursive programs Height of a complete binary tree | ||||
| Priority Queues | Jan 17 lecture | Abstract data types Array heaps BuildHeap, with analysis | |||
| Jan 24 tutorial | K-way merge of lists Probability Review | ||||
| Jan 24 lecture | Leftist Trees | ||||
| Dictionaries | Optimal lists | ||||
| Jan 31 tutorial | Brief review of binary search trees (BSTs) Optimal BSTs | ||||
| Jan 31 lecture | Move-to-front lists Insert and Delete in BSTs | ||||
| Feb 7 tutorial | Assignment 1 returned Solutions and Marking Guide discussed | ||||
| Feb 7 lecture | Red-Black trees Red-Black insertion | ||||
| Feb 14 tutorial | Midterm 1 | ||||
| Augmenting Data Structures | Feb 14 lecture | Augmenting BSTs: - prefix sum - rank - interval trees | |||
| Feb 21 | Reading week: no tutorial, no lecture | ||||
| Feb 28 tutorial | Midterm 1 returned and discussed | ||||
| Feb 28 lecture | More on interval trees (same notes as above) Hulltrees (assignment 2) Quick introduction to Binary Space Partitions | ||||
| Randomized Alorithms | Mar 7 tutorial | Hashing with open addressing Generating random permutations | |||
| Mar 7 lecture | Binary Space Partitions | ||||
| Mar 14 tutorial | no tutorial | ||||
| Mar 14 lecture | Universal hashing Skip lists | ||||
| Mar 21 tutorial | Midterm 2 | ||||
| Mar 21 lecture | Another example of Universal Hashing Perfect hashing | ||||
| Mar 28 tutorial | Midterm 2 returned and discussed Random BSTs and Treaps | ||||
| Amortized Analysis | Mar 28 lecture | Introduction to Amortized Analysis Potential method | |||
| Apr 4 tutorial | Queue with maximum element (in Postscript) time permitting: Convex Hull algorithm (in Postscript) | ||||
| Apr 4 lecture | Amortized analysis of the MTF list Dynamic Stacks | ||||