Introduction to the design & analysis of algorithms - Levitin, Anany (Addison-Wesley, 2003)