A practical introduction to data structures and algorithm analysis - Shaffer, Clifford A. (Prentice Hall, 1998)
Java edition