Problem solving with data structures using java : a multimedia approach - Guzdial, Mark (Pearson, 2011)