algos
algos copied to clipboard
Popular Algorithms and Data Structures implemented in popular languages
Algos
Community (college) maintained list of Algorithms and Data Structures implementations.
Implemented Algorithms
Algorithm | C | CPP | Java | Python | Golang | JavaScript | C# |
---|---|---|---|---|---|---|---|
Bin Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |||
Binary Search | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Breadth First Search | :white_check_mark: | :white_check_mark: | |||||
Breadth First Traversal | :white_check_mark: | ||||||
Coin Change Problem | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Counting Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Depth First Traversal | :white_check_mark: | :white_check_mark: | |||||
Dijkstra Algorithm | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||||
Euclidean GCD | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Exponentiation by Squaring | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Heap Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |||
Insertion Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
k-NN | :white_check_mark: | ||||||
Largest Sum Contiguous Subarray | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Linear Regression | :white_check_mark: | ||||||
Linear Search | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Longest Common Subsequence | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Longest Palindromic Substring | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Merge Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Modular Exponential | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Nth Fibonacci Number | :white_check_mark: | ||||||
N-Queen Problem | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |||
Prime Factor | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Prims | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |||
Quick Select | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||||
Quicksort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Radix Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||||
Rod Cutting Problem | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Shell Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Sieve of Eratosthenes | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Sleep Sort | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Implemented Data Structures
Data Structure | C | CPP | Java | Python | Golang | JavaScript | C# |
---|---|---|---|---|---|---|---|
AVL Tree | :white_check_mark: | :white_check_mark: | |||||
Binary Search Tree | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||||
Linked List | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Queue | :white_check_mark: | ||||||
Stack | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Trie | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |||
Queue | :white_check_mark: |
How to run them
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] |
Resources
- 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.
- Data Structures and Algorithms - A user ranked list of online tutorials to learn Data Structures and Algorithms online.
Contributing
See CONTRIBUTING.md.
If you plan to suggest a new algorithm or DS, please make sure to read the guidelines.
Credits
Idea by @Monal5031
Project Maintainers
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.