Summary Introduction Lecture Week 2 References, Recursion, & Lists SLLists, Nested Classes, Sentinel Nodes DLLists, Arrays Week 3 ALists, Resizing, vs SLists Testing Inheritance, Implements Week 4 Extends, Casting, Higher Order Functions Subtype Polymorphism vs HoFs Libraries, Abstract Classes, Packages Week 5 Generics, Autoboxing Exceptions, Iterators, Iterables Week 6 Exceptions, Access Control, Objects Encapsulation, Lists, Delegation vs Extension Week 7 Asymptotics I Asymptotics II Asymptotics III Week 8 Disjoint Sets Trees, BSTs Balanced BSTs Week 9 Hashing Heaps Advanced Trees, incl. Geometric Week 10 Graphs Graph Traversals Regular Expressions Week 11 Shortest Paths MSTs Midterm 2 Review Week 12 Basic Sorting Algorithms Basic Sorts, Quick Sort More Quick Sort, Stability, Shuffling Week 13 Sorting & Algorithmic Bounds Radix Sorts Overview, Tries Week 14 Compression Reductions, Algorithmic Bounds, NP Completeness Summary, Fun Exams Midterm 1 Midterm 2 Final Projects NBody Reading Hug61B 2. Lists 2.1 Mystery of the Walrus 2.2 The SLList 2.4 Arrays 2.5 The AList JRS Notes Encapsulation Disjoint Sets Algorithms, 4th Edition 1. Fundamentals 1.4 Analysis of Algorithms 1.5 Case Study: Union-Find 3. Searching 3.2 Binary Search Trees 3.3 Balanced Search Trees 4. Graphs 4.4 Shortest Paths Extra Sorting