Clifford A. Shaffer provides a thorough and comprehensive treatment of fundamental data structures and the principles of algorithm analysis. The author focuses on teaching students and practitioners how to create efficient data structures and algorithms and to understand the principles required to select or design the data structure that will best solve the problem.