This highly structured text, in its second edition, provides comprehensive coverage of design techniques of algorithms. It traces the complete development of various algorithms in a stepwise approach followed by their pseudo-codes to build an understanding of their applications in practice. With clear explanations, the textbook intends to be much more comprehensive book on design and analysis of algorithm.
Commencing with the introduction, the book gives a detailed account of graphs and data structure. It then elaborately discusses the matrix algorithms, basic algorithms, network algorithms, sorting algorithm, backtracking algorithms and search algorithms. The text also focuses on the heuristics, dynamic programming and meta heuristics. The concepts of cryptography and probabilistic algorithms have been described in detail. Finally, the book brings out the underlying concepts of benchmarking of algorithms, algorithms to schedule processor(s) and complexity of algorithms.
New to the second Edition
New chapters on
• Matrix algorithms • Basic algorithms
• Backtracking algorithms • Complexity of algorithms
Several new sections including asymptotic notation, amortized analysis, recurrences, balanced trees, skip list, disjoint sets, maximal flow algorithm, parsort, radix sort, selection sort, topological sorting/ordering, median and ordered statistics, Huffman coding algorithm, transportation problem, heuristics for scheduling, etc., have been incorporated into the text.
• Offers in-depth treatment of basic and advanced topics.
• Includes numerous worked-out examples covering various real-world situations to help students grasp the concepts easily.
• Provides chapter-end exercises to enable students to enhance their mastery of the subject.
• Discusses recurrences and complexity of algorithms, which will help readers to develop complexity functions for different algorithms.
This text is designed for the students of B.Tech. and M.Tech. (Computer Science and Engineering, and Information technology), M.C.A. and M.Sc. (Computer Science and Information Technology). It would also be useful to the undergraduate students of electronics and electrical engineering, where a course in algorithm is prescribed, and the students of Ph.D. programmes involving algorithmic researches of different engineering disciplines.