This is just some preliminary review advice, we'll review more carefully on Monday. In particular I intend to offer homework solutions on Monday. I put an example of an old exam (mid-2009.pdf) in the current directory. But I expect this year's exam will be quite different. For one thing, we have not covered the same material, and for another, this is a larger class, so I'll have to make it easier to grade (more multiple-choice or fill-in-the-blank, less "short answer" and "free response"). Expect some "do the algorithm by hand" kind of questions, like: union in various kinds of UF sink, or swim (or insert, delete) in a binary heap insert or delete in a BST insert in a left-leaning red-black BST insert in a linear-probing table, or a cuckoo hash delete in a linear-probing table convert between 2-3 tree and red-black tree I won't ask you how to do 2-3 (or red-black) deletion, although maybe you should know just the summary idea (never step into a 2-node). You should at least know that it can be done in O(lg N) time. Review in the textbook: 1.5 (UF), sorting lower bound (in 2.2), 2.4, 2.5 (event simulation), most of Chapter 3, 4.1, 4.2. Outside the book: Cuckoo hashing. Know that if an adversary knows your hash function (with whatever hashing), then you are in trouble, and should pick a new one. Sarnak and Tarjan: they designed partially persistent red-black trees with only O(1) space per update. (Better than ours, but ours was fully persistent.) Reviewing lectures: look at our "share directory" listing in a web browser; each lecture is labeled according to its main topics. See Notes.txt (and sometimes Addendum.txt) for notes on each day.