Introduction to the Design and analysis of Algorithms - Levitin, Anany (Addison Wesley, 2003)