Data structures and problem solving using Java - Weiss, Mark Allen (Addison Wesley, 2002)