This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. […] Each chapter presents an algorithm, a design technique, an application area, or a related topic.
The text is intended primarily for use in undergraduate or graduate courses in algorithms and data structures. (Introduction to Algorithms 3rd Edition; Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein; The MIT Press ; Preface: Page xiii)