Data Structures and Algorithm Analysis in Java is an advanced algorithms book that fits between traditional CS2 and Algorithms Analysis courses.
In the old ACM Curriculum Guidelines, this course was known as CS7.
It is also suitable for a first-year graduate course in algorithm analysis As the speed and power of computers increases, so does the need for effective programming and algorithm analysis.
By approaching these skills in tandem, Mark Allen Weiss teaches readers to develop well-constructed, maximally efficient programs in Java. Weiss clearly explains topics from binary heaps to sorting to NP-completeness, and dedicates a full chapter to amortized analysis and advanced data structures and their implementation.
Figures and examples illustrating successive stages of algorithms contribute to Weiss' careful, rigorous and in-depth analysis of each type of algorithm.
A logical organization of topics and full access to source code complement the text's coverage.