Introduction to the Analysis of Algorithms, An, 2/E by Robert Sedgewick