Data Structures and Algorithms in Java (Worldwide Series in Computer Science)