ABOUT THE BOOK
Design and Analysis of Algorithms is designed to serve as a textbook for the first level course in algorithms that discusses all the fundamental and necessary information related to the three important aspects of algorithm study using minimal mathematics and lucid language. This book is suitable for undergraduate students of computer science and engineering (CSE) and information technology (TT), as well as for postgraduate students of computer applications. It is also useful for diploma courses, competitive examinations (like GATE), and recruitment interviews for this subject.
The book begins with an introduction to algorithms and problem-solving concepts followed by an introduction to algorithm writing and analysis of iterative and recursive algorithms. In-depth explanations and designing techniques of various types of algorithms used for problem-solving such as the brute force technique, divide-and conquer-technique, decrease-and-conquer strategy, greedy approach, transform-and-conquer strategy, dynamic programming, branch-and-bound approach, and backtracking, are provided in the b0ok. Subsequent chapters of the book delve into the discussion of string algorithms, iterative improvement, linear programming, computability theory, NP-hard problems, NP- completeness, probability analysis, randomized algorithms, approximation algorithms, and parallel algorithms, with the appendices throwing light on basic mathematics and proof techniques.
The various design techniques have been elucidated with the help of numerous problems, solved examples, and illustrations (including schematics, tables, and cartoons). The algorithms are presented in plain English (informal algorithm presentation) and pseudocode approach (formal algorithm presentation) to make the book programming language-independent and easy-to-comprehend. The book includes a variety of chapter-end pedagogical features such as point-wise summary, glossary, review questions, exercises, and additional problems to help readers assimilate and implement the concepts learnt.