Design and Analysis of Algorithms
Cambridge University Press, 5/23/2019
EAN 9781108496827, ISBN10: 1108496822
Hardcover, 350 pages, 24.7 x 18.9 x 2 cm
Language: English
The text covers important algorithm design techniques, such as greedy algorithms, dynamic programming, and divide-and-conquer, and gives applications to contemporary problems. Techniques including Fast Fourier transform, KMP algorithm for string matching, CYK algorithm for context free parsing and gradient descent for convex function minimization are discussed in detail. The book's emphasis is on computational models and their effect on algorithm design. It gives insights into algorithm design techniques in parallel, streaming and memory hierarchy computational models. The book also emphasizes the role of randomization in algorithm design, and gives numerous applications ranging from data-structures such as skip-lists to dimensionality reduction methods.
Preface
Acknowledgement
1. Model and analysis
2. Basics of probability and tail inequalities
3. Warm up problems
4. Optimization I
brute force and greedy strategy
5. Optimization II
dynamic programming
6. Searching
7. Multidimensional searching and geometric algorithms
8. String matching and finger printing
9. Fast Fourier transform and applications
10. Graph algorithms
11. NP completeness and approximation algorithms
12. Dimensionality reduction
13. Parallel algorithms
14. Memory hierarchy and caching
15. Streaming data model
Appendix A. Recurrences and generating functions
Index.