Implementation of data structures and algorithms in Java