Table of contents: I. Foundations 1. The Role of Algorithms in Computing 2. Getting Started 3. Growth of Functions 4. Divide-and-Conquer 5. Probabilistic Analysis and Randomized Algorithms II. Sorting and Order Statistics 6. Heapsort 7. Quicksort 8. Sorting in Linear Time 9. Medians and Order Statistics III. Data Structures 10. Elementary Data Structures 11. Hash Tables 12. B…