About this course
This is a second course in data structures, and builds on the material covered in CS2700 (Programming and data structures). We will look at the design of various data structures for dictionaries, priority queues, dynamic graphs, and range queries . There will be an emphasis on understanding the design principles for various data structures, and a rigorous analysis of their complexity. At the end of the course, the student is expected to know the design and analysis of a variety of advanced data structures, and be able to design new data structures for specific applications.
Prerequisites - Programming and data structures (CS2700) or an equivalent course is a prerequisite for this course. A course in algorithm design and analysis would be useful, but not necessary. Programming experience is not necessary, but is recommended.