This expanded and updated second edition of a classic bestseller continues to take the "mystery" out of designing and analyzing algorithms and their efficacy and efficiency. Expanding on the highly successful formula of the first edition, the book now serves as the primary textbook of choice for any algorithm design course while maintaining its status as the premier practical reference guide to algorithms. NEW: (1) Incorporates twice the tutorial material and exercises. (2) Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video. (3) Contains a highly unique catalog of the 75 most important algorithmic problems. (4) Includes new "war stories" and "interview problems", relating experiences from real-world applications. Written by a well-known, IEEE Computer Science teaching-award winner, this new edition is an essential learning tool for students needing a solid grounding in algorithms, as well as a uniquely comprehensive text/reference for professionals.