Data structures are schemes that organize data to permit eﬃcient access in certain modes. The desired modes of access (diﬀerent kinds of look-ups and modiﬁcations), and their relative importance in an application, typically guide the choice of existing data structures and the design of new ones. A judicious choice of data structures often results in very signiﬁcant improvements in the running time of a program. In order to make such decisions, as well as to design new data structures, we need to understand existing data structures, their access modes, and performance characteristics. In this course, we study data structures from several perspectives, including design, analysis, and application. We use C++ as the primary programming language.
News and Reminders: