Data structures and algorithms in Java - Goodrich, Michael T; Author (2005)