Foundations of algorithms - Neapolitan, Richard E. (Jones and Bartlett Publishers, 2011)