Chapter-by-chapter knowledge from Introduction to Algorithms 3rd ed.
Chapter 1: The Role of Algorithms in Computing
Chapter 3: Growth of Functions
Chapter 5: Probabilistic Analysis and Randomized Algorithms
Chapter 8: Sorting in Linear Time
Chapter 9: Medians and Order Statistics
Chapter 10: Elementary Data Structures
Chapter 12: Binary Search Trees
Chapter 14: Augmenting Data Structures
Chapter 15: Dynamic Programming