Data structures and algorithms in JAVA - Goodrich, Michael T. (John Wiley, 2011)