An open source initiative for implementing and testing algorithms in various programming languages.
The idea here is to learn algorithms by implementing, testing and analyzing them in a bunch of programming languages. I've attempted to do this for a few algorithms in C programming language (cough) with the help of a bunch of contributors while pursuing my UG degree.
As part of the 24 pull requests initiative, all contributions are welcome. Some examples may include:
- Implementing an algorithm in a programming language of your choice.
- Adding documentation (introduction, details, etc.) to an algorithm.
- Adding tests and sample input generators to an algorithm.
- Adding performance analysis charts to an algorithm.
- Fixing bugs in existing implementations.
- Refactoring ancient ugly-looking code.
- Students learning algorithms
- Professionals looking to brush up their skills
- Researchers
- Robots
- Open source contributor badge
- A nice looking GitHub profile
- Knowledge and practice
- Top student contributor between Dec 01 and Dec 24 will receive 24 MATIC tokens.
-
Basic
- binary-search-tree
- graph-representations
-
Brute Force
- bubble-sort
- knapsack
- matrix-multiplication
- partition
- string-matching
- subset-sum
-
GCD
- conseq-integer
- euclid
- middle-school
-
Divide and Conquer
- merge-sort
- node-count
- quick-sort
-
Decrease and Conquer
- topological-sort
- tree-diameter
-
Combinatorial and Graph
- assignment
- breadth-first-search
- depth-first-search
-
Greedy Approach
- dijkstra
- floyd
- huffman
- knapsack
- kruskal
- warshall
-
Backtracking and Bounds
- hamilton
- knapsack
- n-queens
- subset-sum
-
Space Time Tradeoffs
- closed-hash-table
- horspool
- open-hash-table
-
Transform and Conquer
- avl-tree
- heap-creation
- heap-delete
- heap-sort
- two-three-tree
-
Other
- nth-fibonacci
- tower-of-hanoi