problems and example code from Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne