Mark Allen Weiss
Data Structures and Algorithm Analysis in Java, 2nd Ed.
Addison-Wesley 2007 ISBN 0-321-37013-9