For departments of computer science offering Sophomore through Junior-level courses in Algorithms or Design and Analysis of Algorithms.
This is an introductory-level algorithm text. It includes worked-out examples and detailed proofs. Presents Algorithms by type rather than application.
Structures material by techniques employed, not by the application area, so students can progress from the underlying abstract concepts to the concrete application essentials. Begins with a compact, but complete introduction to some necessary math, and also includes a long introduction to proofs by contradiction and mathematical induction. This serves to fill the gaps that many undergraduates have in their mathematical knowledge.
Gives a paced, thorough introduction to the analysis of algorithms, and uses coherent notation and unusually detailed treatment of solving recurrences. Includes a chapter on probabilistic algorithms, and an introduction to parallel algorithms, both of which are becoming increasingly important. Approaches the analysis and design of algorithms by type rather than by application.
2. Elementary Algorithmicss.
3. Asymptotic Notation.
4. Analysis of Algorithms.
5. Some Data Structures.
6. Greedy Algorithms.
8. Dynamic Programming.
9. Exploring Graphs.
10. Probabilistic Algorithms.
11. Parallel Algorithms.
12. Computational Complexity.
13. Heuristic and Approximate Algorithms.