Data structures and algorithms made easy in Java : data structure and algorithmic puzzles [2 ed.] 9788192107554, 8192107558