An Introduction to the Analysis of Algorithms

Robert Sedgewick, Phillipe Flajolet