Algorithms in Java 3/E - Sedgewick, Robert (Vidhyanagar Pearson, 2007)