A practical guide to data structures and algorithms using Java. (©2008)