Data structures and algorithms in Java - Goodrich, Michel T. (Wiley, 2004)