Data Structures and Problem Solving Using Java: Pearson New International Edition - Weiss, Mark A.