CormenImpl provides implementations of algorithms and data structures from Introduction to Algorithms, ed. 2 by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. It also provides implementations from Introduction to Algorithms – Solutions to exercises and problems by Krzysztof Wojtas, that can be found here (in Polish).
The main CormenImpl objectives are:
- rewriting pseudocodes from the textbook and from the solutions to a programming language (Java 8),
- implementing algorithms and data structures with no pseudocodes but precisely described,
- providing tests for the implementations, effectively testing the solutions,
- setting up the starting point for a more sophisticated library of algorithms and data structures.
The implementations of algorithms tend to be as close as possible to the pseudocodes from the textbook or the solutions, and thus appear as single (sometimes lengthy) procedures. For the same reason data structures are implemented using procedural approach. The implementations not relying on pseudocodes are often more divided into several procedures to increase readability.