Beginning algorithms - Harris, Simon; Ross, James (Wrox Press, 2005)