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