Introduction to The Design & Analysis of Algorithms. - Levitin, Anany (Addison Wesley, 2007)