Algorithms-Open-Source
This project is a collection of implementations of various algorithms in various programming languages. These algorithms are useful and relatively simple, and are recommended to be implemented by any computer science student.
Motivation
The motivation for this project is this reddit post
Want to Contribute?
- Have a look at the issues
- Select an issue you want to work on
- Comment with the language of choice, after which you will get assigned to that issue.
- Only then start working on the task.
- If the algorithm of your choice is already implemented, try to optimise it.
- Make sure to add your algorithm to the README if it does not currently exist there.
Note: It is encouraged to implement already implemented algorithms in different languages.
Project Structure
The repo is structured like
- Algorithm Category
- Algorithm Name
- Language
- Implementation - Source Code
Currently implemented algorithms
-
Compiler
-
Circle Drawing
-
Encryption
- Diffie-Hellman
- RSA
- Shamir Secret Sharing Algorithm
-
Graph Algorithms
- 0/1 BFS Traversal
- BFS Traversal
- Bidirectonal Dijkstra
- Cycle Detection
- DFS Traversal
- MultiSource BFS
- All Pairs Shortest Path (FloydWarshall)
- Bellman Ford Algorithm
- Bridge Finding Algorithm
- Topological Sort
-
LeetCode Solutions
-
Markov Algorithms
-
Page Rank
-
Polynomial Solver
-
Set Checking
-
Sorting
- Bead Sort
- Bitonic Sort
- Bubble sort
- Recursive Bubble sort
- Bucket Sort
- Cocktail Sort
- Comb Sort
- Counting Sort
- Gnome Sort
- Heap sort
- Insertion sort
- Merge Sort
- Odd-Even Sort
- Pancake Sort
- Quick Sort
- Radix Sort
- Selection Sort
- Shell Sort
- Stooge Sort
- Tim Sort
- Cycle Sort
-
Stable Matching
-
String Matching
-
Tree Traversal
- BFS
- Inorder
- Iterative Post order
- Iterative Pre order
- Post order
- Pre order
Maintainers
Contributors
CONTRIBUTORS
Come talk to us
Join our discord channel