Algorithms play a central role both in the theory and in the practice of computing. The goal of the authors was to write a textbook that would not trivialize the subject but would still be readable by most students on their own. The book contains over 120 exercises. Some of them are drills; others make important points about the material covered in the text or introduce new algorithms not covered there. The book also provides programming projects.
From the Table of Contents:
Chapter 1: Basic knowledge of Mathematics, Relations, Recurrence relation and Solution techniques, Function and Growth of functions.
Chapter 2: Different Sorting Techniques and their analysis.
Chapter 3: Greedy approach, Dynamic Programming, Brach and Bound techniques, Backtracking and Problems, Amortized analysis, and Order Statics.
Chapter 4: Graph algorithms, BFS, DFS, Spanning Tree, Flow Maximization Algorithms. Shortest Path Algorithms.
Chapter 5: Binary search tree, Red black Tree, Binomial heap, B-Tree and Fibonacci Heap.
Chapter 6: Approximation Algorithms, Sorting Networks, Matrix operations, Fast Fourier Transformation, Number theoretic Algorithm, Computational geometry Randomized Algorithms, String matching, NP-Hard, NP-Completeness, Cooks theorem.