Introduction to the design & analysis of algorithms - Levitin, Anany (Pearson, 2012)