Data structures and abstractions with Java - Carrano, Frank M.; Henry, Timothy M. (Always learning, 2016)