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 amortised 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 organisation of topics and full access to source code complement the text's coverage.
Buy Data Structures and Algorithm Analysis in Java by Mark Weiss from Australia's Online Independent Bookstore, BooksDirect.