Data structures, algorithms, and applications in Java - Sahni, Sartaj (McGraw-Hill maths and statistics series, 2000)