Data Structures and Algorithm Analysis in Java - Mark Allen Weiss (Addison-Wesley, 2007)