Data Structures and Other Objects Using Java 4th Edition by Michael Main