Data Structures And Problem Solving Using C++ by Jane Prince Laudon, Mark Weiss & Mark Allen Weiss