Course Outline and Seminars:
The following is a tentative outline for the classes, seminars, and required reading for the course.
| Seminar | Date | Topic | Reading |
|---|---|---|---|
| Module I · The Linear | |||
| 1 | TBD | Interfaces and Implementations | |
| 2 | TBD | Asymptotic Analysis | |
| 3 | TBD | Linked Lists and Arrays | |
| 4 | TBD | Dynamic Arrays and Amortized Analysis | |
| 5 | TBD | Stacks and Queues | |
| Module II · The Hierarchical | |||
| 6 | TBD | Abstract Data Types | |
| 7 | TBD | Binary Search Trees | |
| 8 | TBD | Balanced Search Trees | |
| 9 | TBD | Heaps: Eager and Lazy | |
| 10 | TBD | Priority Queues and Applications | |
| Module III · The Probabilistic | |||
| 11 | TBD | Hashing: Theory and Practice | |
| 12 | TBD | Hash Tables and Collision Resolution | |
| 13 | TBD | Skip Lists | |
| 14 | TBD | Randomized Analysis | |
| Module IV · The String-Oriented | |||
| 15 | TBD | Tries | |
| 16 | TBD | Range Queries | |
| 17 | TBD | Segment Trees and Fenwick Trees | |
| Module V · The Relational | |||
| 18 | TBD | Graphs: Representations | |
| 19 | TBD | Breadth-First Search | |
| 20 | TBD | Depth-First Search | |
| 21 | TBD | Shortest Paths | |
| 22 | TBD | Minimum Spanning Trees | |
| Synthesis and Final | |||
| 23 | TBD | Choosing a Data Structure: Case Studies | |
| 24 | TBD | Final Exam | |