Fundamentals of computer algorithms - Horowitz, Ellis (University Press, 2007)