Java implementations of classic algorithms from the book Introduction to Algorithms (CLRS).
Hi there
This repository is a personal project I created to help me truly understand the core of computer science: algorithms.
I’ve decided to go back to the basics and study one of the most iconic books in the field — Introduction to Algorithms, also known as CLRS. But instead of just reading or watching tutorials, I’m doing something more powerful: implementing every important algorithm by hand, in Java.
I'm going chapter by chapter, slowly and mindfully. No shortcuts.
Every class, every method here was written from scratch, as a way to make the knowledge stick.
Sometimes I take notes. Sometimes I make mistakes. But that’s the point.
This is not a polished library. This is my personal algorithm notebook, a kind of digital journal where I code what I learn.
You’ll find things like:
- Sorting algorithms I wrote after studying their time complexities.
- Graph traversal algorithms that I coded after sketching graphs on paper.
- Dynamic programming problems that made my brain hurt (in a good way).
- Data structures built from zero to understand how they work internally.
I’ll keep updating this repo as I move forward.
It’s a slow burn, but it’s real learning.
If you’re also learning algorithms — welcome.
Feel free to explore the code, fork it, or even start your own version of this idea.
Thanks for reading.
Let’s keep learning.
— Fabricio Engeroff