An anthology of foundational algorithms and data structures.
β¨ Featuring interactive visualizations and examples to minimize cognitive load and maximize learning.
Stage | Visual | Description |
---|---|---|
Kihon | ![]() |
The basic algorithmic concepts and fundamental techniques. |
Kata | ![]() |
Assert the learnings with rigorous practice and achieve 1+ level of proficiency. |
Kumite | ![]() |
The assembling of basic moves into coherent sequences, leading to something that solves a real-life problem. |
One becomes a beginner after one thousand days of training and an expert after ten thousand days of practice.
When an artist begins a sculpture, he or she doesnβt start with the eye and finish and perfect the eye before moving to another part of the sculpture. No, the artist begins with an outline of the entire piece and slowly chips away revealing the sculpture that lies within the stone.
So it should be with kata. You can learn and get a rough idea of the entire kata in movements, and then begin to tweak and perfect each movement, revealing the art that lies within the kata.
- β Java - object-oriented implementations
- β‘ JavaScript - interactive visualizations
- π List of Algorithms
- π§ Unified Build System β run
./build.sh
to verify all modules βΆοΈ Root dev helper:./dev.sh start|stop|status
(starts/stops JS dev server at http://localhost:8080)
π€ Contributing
This is a multi-language mono-repo where you can choose your language of choice:
- Please fork the repository
- Create a feature branch:
git checkout -b feature/new-algorithm
- Run
./build.sh
to test both modules or individual ones - Choose your language track and follow the specific guidelines
- Submit a pull/merge request
π’ Keywords: algorithms, data structures, interactive visualizations, Java, Gradle, JavaScript, mono-repo, CS fundamentals, coding practice, simplify learning, sorting algorithms, searching algorithms, dynamic programming, graph theory, backtracking, greedy algorithms, count and say, template engine, queue, stack, deque, hash table, hash map, linked list, tree, trie, heap, css3, vanillaJS, html, html5, accordian, animation