Data abstraction, representation invariants and abstraction functions
Functional data structures: stacks, queues, dictionaries
Function ordered trees: binary search trees, red-black trees
Imperative data structures: disjoint set forest
Induction
Work through problems, don't just read over your notes! There are
lots of good problems with solutions in the notes; write down some
questions that are answered in the notes, put the notes away, try to
answer the questions, check your answers.