Data Abstraction and Problem Solving with JAVA - Frank M Carrano,Janet J Prichard (Pearson Education, 2003)