Foundations of algorithms - Neapolitan, Richard E. (Jones and Bartlett Learning, 2016)