This is an introductory text on data structures and algorithms which emphasizes algorithm analysis and the development of efficient code. Important background materials, such as algorithm analysis methods, performance measurement techniques and C++-specific constructs are reviewed. Divided into three parts, the book first reviews algorithm analysis and performance measurement methods, and in chapters two to 11 goes on to focus on data structures. The third part of the book looks at algorithm design methods illustrated with several applications and completed, developed C++ code. The text includes over 80 numbered examples, 25 data structures application sections and 30 sections that deal with algorithm design methods.