Lectures are held every Tuesday and Thursday throughout the term. Students are asked to attend their assigned lecture section, as seating in the classroom is limited.
Lecture slides will appear on this page. Sometimes these include animations/overlays, in case of which there will be both a Display version (with them) and a Print version (omitting them, but otherwise the same content).
The individual chapters of the course notes are available from the protected files area. If you want further reading, a list of textbooks that cover the topics of the course well are listed below, and specific relevant areas are listed with each module.
Spring 2024 Slides
The slides for each module will be posted as the term progresses.
Module # | Topic | Slides | Readings |
---|---|---|---|
Module 0 | Administrivia | M0.pdf | None |
Module 1 | Introduction and Asymptotic Analysis | M1.pdf |
Course notes Chapter 1 Optional: Course notes Appendix A-B if you need a refresher. Optional: Goodrich & Tamassia 1.1, 1.2, 1.3 Optional: Sedgewick 8.2, 8.3 |
Module 2 | Priority Queues | M2.pdf |
Course notes Chapter 2 Optional: Sedgewick 9.1 - 9.4 |
Module 3 | Sorting, Average-Case and Randomized Algorithms | M3_version4.pdf |
Course notes Chapter 1.5, 3 Optional: Goodrich & Tamassia 8.3 Optional: Sedgewick 6.10, 7.1, 7.2, 7.8, 10.3, 10.5 |
Module 4 | Dictionaries | M4.pdf |
Course notes Chapter 4 Optional: Goodrich & Tamassia 3.1, 4.1, 4.2 |
Module 5 | Other Dictionary Implementations | M5.pdf |
Course notes Chapter 5 Optional: Sedgewick 9.1-9.4 |
Module 6 | Dictionaries for Special Keys | M6.pdf |
Course notes Chapter 6 Optional: Goodrich & Tamassia 23.5.1-23.5.2 Optional: Sedgewick 12.4, 15.2-15.4 |
Module 7 | Dictionaries via Hashing | M7_version2.pdf |
Course notes Chapter 7 Optional: Goodrich & Tamassia 6.4 Optional: Sedgewick 12.2, 14.1 - 14.4 |
Module 8 | Range-Searching in Dictionaries of Points | M8.pdf |
Course notes Chapter 8 Optional: Goodrich & Tamassia 21.1, 21.3 |
Module 9 | String Matching | M9.pdf |
Course notes Chapter 9 Optional: Goodrich & Tamassia 23 |
Module 10 | Compression | M10.pdf |
Course notes Chapter 10 Optional: Goodrich & Tamassia 10.3 |
Module 11 | External Memory | M11_version2.pdf |
Course notes Chapter 11 Optional: Goodrich & Tamassia 20.1-20.3 Optional: Sedgewick 16.4 |
Textbooks
Course notes:- CS240: Data Structures and Data Management by Therese Biedl
with the help of many fellow CS 240 instructors is available
from the protected files area.
Module X corresponds roughly to Chapter X of the course notes, but occasionally a different order made more sense for the notes---follow the instructions given in the notes. Usually you can skip any part of the course notes that is marked `(cs240e)' or that is in `Historical remarks' or `Appendix' (but see what your instructor actually covers in class).
- For some of its figures, the latex source is available. This may be freely used when writing assignments.
The following books are on reserve in the DC library for reference and additional resources:
- [Goodrich & Tamassia] Algorithm Design and Applications (2015)
by Michael T. Goodrich, Roberto Tamassia (mountain scene)
- [Sedgewick] Algorithms in C++, Third Edition (1998)
by Robert Sedgewick, Addison-Wesley
- [BKOS] Computational Geometry: Algorithms and Applications
by Mark de Berg, Otfried Cheong, Marc van Kreveld and Mark Overmars.
Reference for multi-dimensional data structures. - [CLRS] Introduction to Algorithms, 2nd edition (2001)
by T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, McGraw-Hill
Introduction to Algorithms, 2nd edition is also avaliable online (in campus).