Introduction to the Design & Analysis of Algorithms by Anany V. Levitin