This course covers the design, analysis, and implementation of basic data structures in C++. Algorithms operating on the data structures are also covered. It is fundamentally a course about data structures, not about C++. However, as we will implement some of the data structures in C++, basic aspects of C++ and object oriented programming in C++ are also covered. We will start with a brief discussion of the C++ programming language. Then, we survey fundamental data structures (array, vector, lists, queue, stack, hash map, trees, and possibly graphs) and how we can make use of them in C++. Then, we delve deeper into the design, analysis and implementation of such data structures. Asymptotic analysis of algorithms and data structures is discussed. Other C++ features needed for generic implmentations of the data structures are introduced along the way.
Passed both CSE 116 and CSE 191 with a grade of C- or better.
The following books are helpful, though not required.