Design and Analysis of Algorithms
Lecture Notes
Practice Problems