The Algorithm Design Manual - Skiena, Steven S. (Springer London, 2008)