Introduction to the design & analysis of algorithms - Levitin, Anany (Pearson international edition, 2007)