A repository for all Algorithms
Tech Stacks
Programs we have been a part of
Available Resources
Arrays
No. |
Algorithm Name |
Available languages |
1. |
Diagonal Print Algorithm in 2D Array |
C, C++, Java, Python |
2. |
Fisher-Yates Algorithm |
C, C++, Java, Python |
3. |
Monotonic Array |
C, C++, Java, Python |
4. |
Spiral Print Matrix |
C, C++, Java, Python |
Artificial Intelligence
No. |
Algorithm Name |
Available languages |
1. |
A* Search Algorithm |
C, C++, Java, Python |
Binary
No. |
Algorithm Name |
Available languages |
1. |
Binary <-> Gray Code Conversion |
C, C++, Java, Python |
2. |
Brian Kerningham's Algorithm |
C, C++, Java, Python |
3. |
Hamming Code |
C, C++, Java, Python |
4. |
Hamming Distance Theorem |
C, C++, Java, Python |
Cryptography
No. |
Algorithm Name |
Available languages |
1. |
Affine Cipher |
C, C++, Java, Python |
2. |
Caesar Cipher |
C, C++, Java, Python |
3. |
Columnar Transposition Cipher |
C, C++, Java, Python |
4. |
Diffie - Hellman Algorithm |
Python |
5. |
Elgamal Cryptosystem |
C, C++, Java, Python |
6. |
Hill Cipher |
C, C++, Java, Python |
7. |
Homophonic Substitution |
C, C++, Java, Python |
8. |
Morse Code |
C, C++, Java, Python |
9. |
Playfair Cipher |
C, C++, Java, Python |
10. |
Railfence Cipher |
C, C++, Java, Python |
11. |
RSA |
C, C++, Java, Python |
12. |
SHA - 256 |
C, C++, Java, Python |
13. |
Vernam Cipher |
C, C++, Java, Python |
14. |
Vignere Cipher |
C++, Java, Python |
Concurrent Programming
No. |
Algorithm Name |
Available languages |
1. |
Peterson's Algorithm |
C, C++, Java, Python |
Data Compression
Deadlock Avoidance
No. |
Algorithm Name |
Available languages |
1. |
Banker's Algorithm |
C, C++, Java,Python |
Deep Learning
No. |
Algorithm Name |
Available languages |
1. |
Perceptron Learning - Boolean Functions |
Python |
Divide and Conquer
Dynamic Programming
No. |
Algorithm Name |
Available languages |
1. |
0/1 Knapsack |
C, C++, Java, Python |
2. |
Coin change problem |
C, C++, Java, Python |
3. |
Edit Distance |
C++ |
4. |
Fibonacci Number |
C, C++, Java, Python |
5. |
Hierholzer Algorithm |
C, C++, Java, Python |
6. |
Longest Common Subsequence |
C, C++, Java, Python |
7. |
Matrix Chain Multiplication |
C, C++, Java, Python |
8. |
Minimum Jump Algorithm |
C, C++, Java, Python |
9. |
Minimum Sum Partition Problem |
C, C++, Java, Python |
10. |
Partition problem |
C++, Java |
11. |
Shortest Common Supersequence Problem |
C, C++, Java, Python |
12. |
Travelling Salesman Problem |
C, C++, Java, Python |
Game Theory
No. |
Algorithm Name |
Available languages |
1. |
Grundy's Number |
C, C++, Java, Python |
Graphics
No. |
Algorithm Name |
Available languages |
1. |
Scanline Algorithm |
C++, Python |
Graphs
No. |
Algorithm Name |
Available languages |
1. |
Bellman Ford |
C++ |
2. |
Breadth First Search(BFS) |
C, C++, Java, Python |
3. |
Dial’s Algorithm |
C, C++, Java, Python |
4. |
Dijkstra |
C, C++, Java, Python |
5. |
Dinic's Algorithm |
C++, Java, Python |
6. |
Disjoint Set Union |
C, C++, Java, Python |
7. |
Edmonds-karp Algorithm |
C, C++, Java, Python |
8. |
Fleury's Algorithm |
C, C++, Java, Python |
9. |
Floyd Warshall |
C, C++, Java, Python |
10. |
Ford-Fulkerson Algorithm |
C, C++, Java, Python |
11. |
Hamiltonian Path |
Java |
12. |
Hopcroft-Karp Algorithm |
C, C++, Java, Python |
13. |
Kosaraju's Algorithm |
C++ |
14. |
Kruskal's Algorithm |
C, C++, Java, Python |
15. |
Multi Source Shortest Path |
C, C++, Java, Python |
16. |
Multistage Graph (Shortest Path) |
C, C++, Java, Python |
17. |
Prim's Algorithm |
C, C++, Java, Python |
18. |
Stoer Wagner Algorithm |
C, C++, Java, Python |
19. |
Tarjan Algorithm |
C, C++, Java, Python |
Greedy Algorithm
No. |
Algorithm Name |
Available languages |
1. |
Activity Selection |
C, C++, Java, Python |
2. |
Egyptian Fraction |
C, C++, Java, Python |
3. |
Fractional Knapsack |
C, C++, Java, Python |
4. |
Job Sequencing |
C, C++, Java, Python |
5. |
Merge Interval Algorithm |
C, C++, Java, Python |
6. |
Optimal Merge Pattern |
C, C++, Java, Python |
Hashing
Image Processing
No. |
Algorithm Name |
Available languages |
1. |
Canny Edge Detection |
C, C++, Java, Python |
Job Scheduling
No. |
Algorithm Name |
Available languages |
1. |
First Come First Serve |
C, C++, Java, Python |
2. |
Highest Response Ratio Next |
C, C++, Java, Python |
3. |
Priority Scheduling |
C, C++, Java, Python |
4. |
Round Robin Scheduling |
C, C++, Java, Python |
5. |
Shortest Job First |
C, C++, Java, Python |
Linked List
No. |
Algorithm Name |
Available languages |
1. |
Addition of two Linked Lists |
C, C++, Java, Python |
2. |
Circular Linked List |
C, C++, Java, Python |
3. |
Detect loop in a Linked List |
C++ |
4. |
Doubly Linked List |
C, C++, Java, Python |
5. |
Intersection of two Linked Lists |
C, C++, Java, Python |
6. |
Length of Linked List |
C, C++, Java, Python |
7. |
LRU Cache Design |
C, C++, Java, Python |
8. |
Merge Two Sorted Linked List |
C, C++, Java, Python |
9. |
Merge K Sorted Linked List |
C, C++, Java, Python |
10. |
Palindrome Linked List |
C, C++, Java, Python |
11. |
Reverse Linked List |
C, C++, Java, Python |
12. |
Reverse Linked List in a Group of K |
C, C++, Java, Python |
13. |
Singly Linked List |
C, C++, Java, Python |
14. |
Sorting Linked List |
C, C++, Java, Python |
Machine Learning
No. |
Algorithm Name |
Available languages |
1. |
Decision Tree |
Python |
2. |
Feed-Forward Neural Network |
C++ |
3. |
K-Means Clusters |
C, C++, Python |
4. |
K-Nearest Neighbours |
C, C++, Java, Python |
5. |
Linear Regression |
C, C++, Java, Python |
6. |
Logistic Regression |
C, C++, Java, Python |
7. |
Naive Bayes |
C++, Python |
Maths
No. |
Algorithm Name |
Available languages |
1. |
Armstrong Numbers |
C, C++, Java, Python |
2. |
Binary Exponentiation |
C, C++, Java, Python |
3. |
Binomial Theorem |
C, C++, Java, Python |
4. |
Bennett's Formula |
C, C++, Java, Python |
5. |
Bentley-Ottmann Algorithm |
C, C++, Java, Python |
6. |
Bisection Algorithm |
C, C++, Java, Python |
7. |
Chinese Remainder Theorem |
C, C++, Java, Python |
8. |
Chudnovsky Algorithm |
C, C++, Java, Python |
9. |
Closures of Relations |
C, C++, Java, Python |
10. |
Congruency of Triangle |
C, C++, Java, Python |
11. |
Decimal <-> Binary Converter |
C, C++, Java, Python |
12. |
Extended Euclidean Algorithm |
C, C++, Java, Python |
13. |
Euler's Totient Function |
C, C++, Java, Python |
14. |
Factorial of Number |
C, C++, Java, Python |
15. |
Factors |
C, C++, Java, Python |
16. |
Frievald's Algorithm |
C, C++, Java, Python |
17. |
GCD & LCM |
C, C++, Java, Python |
18. |
Heron's Formula |
C, C++, Java, Python |
19. |
Interquartile Ranges |
C, C++, Java, Python |
20. |
Josephus Problem |
C, C++, Java, Python |
21. |
Klee's Algorithm |
C, C++, Java, Python |
22. |
Lucas Lehmer Series |
C, C++, Java, Python |
23. |
Luhn's Algorithm |
C, C++, Java, Python |
24. |
Manhattan Distance |
C, C++, Java, Python |
25. |
Modular Exponentiation |
C, C++, Java, Python |
26. |
Pascal's Triangle |
C, C++, Java, Python |
27. |
Perfect Number |
C, C++, Java, Python |
28. |
Power-set of Elements |
C, C++, Java, Python |
29. |
Prefix-Postfix-Infix Interconversion |
C++, Python |
30. |
Prime Number |
C, C++, Java, Python |
31. |
Quickhull Algorithm |
C ,C++, Java, Python |
32. |
Reverse Integer |
C, C++, Java, Python |
33. |
Roman to Decimal converter |
C, C++, Java, Python |
34. |
Russian Peasant Algorithm |
C, C++, Java, Python |
35. |
Shri Dharayacharya Algorithm |
C, C++, Java, Python |
36. |
Sieve Eratosthenes Algorithm |
C, C++, Java,Python |
37. |
Similar Triangles |
C, C++, Java, Python |
38. |
Strong Number |
C, C++, Java, Python |
39. |
Sudoku Solver |
C, C++, Java, Python |
40. |
Zeller's Algorithm |
C, C++, Java, Python |
Memory Allocation
Optimization
No. |
Algorithm Name |
Available languages |
1. |
Ant Colony Optimization |
Python |
2. |
Genetic Algorithm |
C++, Python |
3. |
Gradient Descent |
Python |
4. |
Grey Wolf Optimization |
C, C++, Java, Python |
5. |
Hill Climbing Algorithm |
C, C++, Java, Python |
6. |
Particle Swarm Optimization |
C++, Python |
7. |
Shuffled Frog Leaping Algorithm |
C++, Python |
8. |
Simulated Annealing |
C++, Python |
Pattern Matching
No. |
Algorithm Name |
Available languages |
1. |
Aho-Corasick Algorithm |
C, C++, Java, Python |
2. |
Boyer Moore Algorithm |
C, C++, Java, Python |
3. |
KMP Algorithm |
C, C++, Java, Python |
4. |
Rabin Karp |
C, C++, Java, Python |
5. |
Z - Algorithm |
C, C++, Java, Python |
Recursion
Searching
No. |
Algorithm Name |
Available languages |
1. |
Binary Search on 2D Matrix |
C,C++, Java, Python |
2. |
Binary Search |
C, C++, Java, Python |
3. |
Exponential Search |
C, C++, Java, Python |
4. |
Fibonacci Search |
C, C++, Java, Python |
5. |
Interpolation Search |
C, C++, Java, Python |
6. |
Jump Search |
C, C++, Java, Python |
7. |
Linear Search |
C, C++, Java, Python |
8. |
Order Agnostic Binary Search |
C, C++, Java, Python |
9. |
Quick Select |
C, C++, Java, Python |
10. |
Sublist Search |
C, C++, Java, Python |
11. |
Ternary Search |
C, C++, Java, Python |
Sorting
No. |
Algorithm Name |
Available languages |
1. |
3 Sum Problem |
C, C++, Java, Python |
2. |
Bead Sort |
C, C++, Java, Python |
3. |
Bidirectional Selection Sort |
C, C++, Java, Python |
4. |
Bingo Sort |
C, C++, Java, Python |
5. |
Bogo Sort |
C, C++, Java, Python |
6. |
Bubble Sort |
C, C++, Java, Python |
7. |
Bucket Sort |
C, C++, Java, Python |
8. |
Comb Sort |
C, C++, Java, Python |
9. |
Counting Sort |
C, C++, Java,Python |
10. |
Cyclic Sort |
C, C++, Java, Python |
11. |
Cocktail Sort |
C, C++, Java, Python |
12. |
Dutch National Flag |
C, C++, Java, Python |
13. |
Gnome Sort |
C, C++, Java, Python |
14. |
Heap Sort |
C, C++, Java, Python |
15. |
Insertion Sort |
C, C++, Java, Python |
16. |
Intro Sort |
C, C++, Java, Python |
17. |
Merge Sort |
C, C++, Java, Python |
18. |
Odd-Even Sort / Brick Sort |
C, C++, Java, Python |
19. |
Pancake Sort |
C, C++, Java, Python |
20. |
Pigeon-Hole Sort |
C, C++, Java, Python |
21. |
Quick Sort |
C, C++, Java, Python |
22. |
Radix Sort |
C, C++ Java, Python |
23. |
Randomized Quick Sort |
C, C++, Java, Python |
24. |
Selection Sort |
C, C++, Java, Python |
25. |
Shell Sort |
C, C++, Java, Python |
26. |
Stooge Sort |
C, C++, Java, Python |
27. |
Tim Sort |
C, C++, Java, Python |
28. |
Topological Sort |
C++ |
29. |
Wave Sort |
C++, Java, Python |
Stacks
No. |
Algorithm Name |
Available languages |
1. |
Max Area in Histogram |
C, C++, Java, Python |
2. |
Next Greater Element |
C, C++, Java, Python |
3. |
Rain Water Problem |
C, C++, Java, Python |
4. |
Stack Using Priority Queue |
C, C++, Java, Python |
Strings
Sub-Arrays
Trees
No. |
Algorithm Name |
Available languages |
1. |
AO* Tree |
C++, Java, Python |
2. |
AVL Tree |
C, C++, Java, Python |
3. |
B+ Tree |
C, C++, Java, Python |
4. |
Binary Search Tree |
C, C++ |
5. |
Binary Tree to BST |
C, C++, Java, Python |
6. |
Binary Tree Views(Left, Right, Top, Bottom) |
C, C++, Java, Python |
7. |
Fenwik Tree |
C, C++, Java, Python |
8. |
Min-Indexed D-Heap Algorithm |
C, C++, Java, Python |
9. |
Morris Traversal |
C, C++, Python |
10. |
Red-Black Tree |
C++, Java, Python |
11. |
Segment Tree |
C, C++, Java, Python |
12. |
Splay Trees |
C, C++, Java, Python |
13. |
Symmetric Tree Algorithm |
C, C++, Java, Python |
14. |
Ternary Search Tree |
C, C++, Java, Python |
15. |
Treap |
C, C++, Java, Python |
16. |
Tree Traversal |
C, C++, Java, Python |
17. |
Trie |
C, C++, Java, Python |
18. |
Van Emde Boas Tree |
C, C++, Java, Python |
Contributors 🫂
Steps for Contributing 🚀
Refer to this YouTube Video for reference!
- Fork the Repo
- Clone the forked Repo by typing the following commands in the terminal
$ git clone https://github.com/<your-github-username>/Algorithms.git
$ cd Algorithms
- Now to add your resource to website, add an object with keys same as listed in existing objects in the file.
- Save and commit your code.
- Push to your fork of the repository , navigate to original repository and make a pull request.
- Fork the Repo 'https://github.com/Kumar-laxmi/Algorithms.git'
- Clone the Repository after forking
$ git clone https://github.com/<your-github-username>/Algorithms.git
$ cd algorithms
$ git checkout -b <new-branch-name>
$ git status
- Stage your changes using:
$ git add .
- Commit your changes using:
$ git commit -m "add any comment"
- Push the changes to the forked repository using:
$ git push origin <new-branch-name>
- Navigate to the original repository and make a pull request
- In case of merge conflict fetch and merge from the remote repository
Please don't forget to update the Available Resources section
Happy?? Star ⭐ this Repo. 🤩