Mathematics for the Analysis of Algorithms by Graham Greene, Donald Ervin Knuth & Donald E. Knuth