Algorithms And Data Structures by Richard Johnsonbaugh & Marcus Schaefer