||Introduction, Java Basics Primer
||Object-Oriented Programming in Java, Abstract Classes, Interfaces, Generics
||Arrays & Linked Lists
||Arrays and Linked Lists, Doubly-Linked Lists, Circular Lists
||Analysis of Algorithms
||Analysis of Algorithms: Time Complexity, Correctness, Loop Invariants
Broken Binary Search in Java (2006)
||Recursion (minor updates June 12)
||Assignment 1 is posted
||Stacks and Queues
Stacks and Queues 2 Slides by R. Sedgewick
|Stacks and Queues.
Bags, Queues, and Stacks (Book chapter by R. Sedgewick)
||Lists, Iterators, Java Collections
Assignment 1 due
|Intro to Trees
Priority Queues: Heaps, Sorting with Piority Queues
Binary Heap demo by R. S.
PQ slides by R. Sedgewick
Heapsort demo by R. S.
| Assignment 1 model solution sketch (ListTester2 is to aid grading)
|July 3 (no class)
Binary Search Trees
Maps (minor updates July 31)
|Search Trees (BSTs, AVL trees...)
Maps and Dictionaries: Hash Tables, Skip Lists, Sets and Multisets
Symbol Tables by R. S.
Binary Search Trees by R. S.
BST demo by R. S.
Balanced BSTs by R. S.
2-3 Trees by R. S.
RB Trees demo by R. S.
Hash Tables by R. S.
|July 17, 24
Sorting and Selection
|Sorting and Selection: MergeSort and Divide-&-Conquer, QuickSort, Sorting Lower-Bound, Special Linear-Time Sorting, Selection
Elementary Sorts by R. S.
MergeSort by R. S.
Merge demo by R. S.
QuickSort by R. S.
QuickSort demo by R. S.
|Assignment 2 due Thursday, July 20
|July 24, 31
R. Sedgewick's notes and demos (Ch 4)
|Assignment 3 posted, due July 31.
|Extra (not on the final)
||Text Processing: Pattern Matching, Tries