Algorithms + Data Structures -- Java version.