Design and Analysis of Algorithms Covers algorithm design paradigms, complexity analysis, and optimization.