Data Structures & Algorithms in Java - Robert Lafore