This text provides students with an introduction to data structures and algorithms. It emphasizes algorithm analysis and the development of efficient code, and includes important background material. Divided into three parts, the text features Data Structure Application sections at the end of each chapter in part two, Algorithm Application sections in each design method chapter in part three, and a gradual development of C++ features not found in C to help students with either a background in C or C++ to comprehend topics in the book.