Introduction to the Design and Analysis of Algorithms - Levitin, Anany (Pearson)