Implementation of algorithms and data structures from CLRS textbook