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