Beginning algorithms - Harris, Simon (Programmer to programmer, 2006)