Fundamentals of computer algorithms - Horowitz, Ellis (1978)