Data structures and abstractions with Java - Carrano, Frank; Sawitch, Walter (Pearson Education Limited, 2003)