Foundations of Algorithms (2015)
Chapter 1 Algorithms: Efficiency, Analysis, and Order
Chapter 7 Introduction to Computational Complexity: The Sorting Problem
Chapter 8 More Computational Complexity: The Searching Problem
Chapter 9 Computational Complexity and Intractability: An Introduction to the Theory of NP
Chapter 10 Genetic Algorithms and Genetic Programming
Chapter 11 Number-Theoretic Algorithms
Chapter 12 Introduction to Parallel Algorithms
Appendix A Review of Necessary Mathematics
Appendix B Solving Recurrence Equations: With Applications to Analysis of Recursive Algorithms
Appendix C Data Structures for Disjoint Sets