Community (college) maintained list of Algorithms and Data Structures implementations.
Algorithm | C | CPP | Java | Python | Golang | JavaScript | C# |
---|---|---|---|---|---|---|---|
Bin Sort | ✅ | ✅ | ✅ | ||||
Binary Search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Breadth First Search | ✅ | ||||||
Coin Change Problem | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Counting Sort | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Depth First Traversal | ✅ | ||||||
Dijkstra Algorithm | ✅ | ✅ | ✅ | ||||
Euclidean GCD | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Exponentiation by Squaring | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Heap Sort | ✅ | ✅ | ✅ | ✅ | |||
Insertion Sort | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
k-NN | ✅ | ||||||
Largest Sum Contiguous Subarray | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Linear Regression | ✅ | ||||||
Linear Search | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Longest Common Subsequence | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Longest Palindromic Substring | ✅ | ✅ | ✅ | ✅ | |||
Merge Sort | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Modular Exponential | ✅ | ✅ | ✅ | ✅ | ✅ | ||
N-Queen Problem | ✅ | ✅ | ✅ | ||||
Prime Factor | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Prims | ✅ | ✅ | |||||
Quick Select | ✅ | ✅ | ✅ | ||||
Quicksort | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Radix Sort | ✅ | ||||||
Rod Cutting Problem | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Shell Sort | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Sieve of Eratosthenes | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Sleep Sort | ✅ | ✅ | ✅ |
Data Structure | C | CPP | Java | Python | Golang | JavaScript | C# |
---|---|---|---|---|---|---|---|
AVL Tree | ✅ | ||||||
Binary Search Tree | ✅ | ||||||
Linked List | ✅ | ✅ | ✅ | ✅ | ✅ | ||
[Red-Black Tree] (https://en.wikipedia.org/wiki/Red%E2%80%93black_tree) | ✅ | ||||||
Stack | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Trie | ✅ | ✅ |
Language | Steps |
---|---|
C | gcc [filename.c] |
CPP | g++ [filename.cpp] |
Java | javac [filename.java] |
Python | python [filename.py] |
Golang | go run [filename.go] |
JavaScript | node [filename.js] |
C# | mcs [filename.cs] |
- Algorithms - Learneroo
- Awesome-Algorithms
- Algorithms List - GeeksforGeeks
- Intro to Algorithms - Khan Academy
- Popular Data Structures and Algorithms - Codechef
- Stanford-ACM-Codes - A list of codes written by previous Stanford ACM team members and coaches.
See CONTRIBUTING.md.
If you plan to suggest a new algorithm or DS, please make sure to read the guidelines.
Idea by @Monal5031
Only project maintainers should merge a PR. Other members can add their reviews to a PR but the merging should be done by only a project maintainer.