The art of computer programming - Knuth, Donald Ervin (The Classic work newly updated and revised)