English | 2022 | ISBN: 9811238642 | 756 pages | True PDF | 20.85 MB
design techniques, how and when to use them to formulate solutions, and the context appropriate for each of them.This book presents a design thinking approach to problem solving in computing - by first using algorithmic analysis to study the specifications of the problem, before mapping the problem on to data structures, then on to the situatable algorithms. Each technique or strategy is covered in its own chapter supported by numerous examples of problems and their algorithms. The new edition includes a comprehensive chapter on parallel algorithms, and many enhancements.
Contents
Preface
About the Author
Acknowledgments
Basic Concepts and Introduction to Algorithms
Basic Concepts in Algorithmic Analysis
Data Structures
Heaps and the Disjoint Sets Data Structures
Techniques Based on Recursion
Induction
Divide and Conquer
Dynamic Programming
First-Cut Techniques
The Greedy Approach
Graph Traversal
Complexity of Problems
NP-Complete Problems
Introduction to Computational Complexity
Lower Bounds
Coping with Hardness
Backtracking
Randomized Algorithms
Approximation Algorithms
Iterative Improvement for Domain-Specific Problems
Network Flow
Matching
Techniques in Computational Geometry
Geometric Sweeping
Voronoi Diagrams
Techniques in Parallel Algorithms
Parallel Algorithms
Appendices
Mathematical Preliminaries
Introduction to Discrete Probability
Bibliography
Index
Readership: Senior undergraduates, graduate students and professionals in software development. Readers in advanced courses or research in science and engineering.
Buy Premium From My Links To Get Resumable Support,Max Speed & Support Me