Data structures & problem solving using Java - Weiss, Mark Allen (Pearson Addison Wesley, 2010)