Written by top researchers, this text blends theory and practice. It covers the modern topics of parallel algorithms, concurrency and recurrency. A McGraw-Hill/MIT Press collaboration, the text is designed for both the instructor and the student. It offers a flexible organization with self-contained chapters, and it provides an introduction to the necessary mathematical analysis. Introduction to Algorithms contains sections that gently introduce mathematical techniques for students who may need help. This material takes students at an elementary level of mathematical sophistication and raises them to a level allowing them to solve algorithmic problems. Simple, easy-to-do exercises, as well as more thoughtful, step-by-step case-generated problems are included. The book features standard analytic notation and includes trimmed-down, easy-to-read pseudocode.
If you had to buy just one text on algorithms,
Introduction to Algorithms is a magnificent choice. The book begins by considering the mathematical foundations of the analysis of algorithms and maintains this mathematical rigor throughout the work. The tools developed in these opening sections are then applied to sorting, data structures, graphs, and a variety of selected algorithms including computational geometry, string algorithms, parallel models of computation, fast Fourier transforms (FFTs), and more.
This book's strength lies in its encyclopedic range, clear exposition, and powerful analysis. Pseudo-code explanation of the algorithms coupled with proof of their accuracy makes this book is a great resource on the basic tools used to analyze the performance of algorithms.