A JAVA library for the Introduction to Algorithms - Cormen, Leiserson, Rivest, Stein