Code Monkey home page Code Monkey logo

algorithms's Introduction

A repository for all Algorithms





GitHub repo size GitHub repo file count

GitHub issues GitHub pull requests GitHub GitHub forks GitHub Repo stars


Tech Stacks





Programs we have been a part of

No. Program Name Duration Deployment
1. Hacktoberfest (2022) 1st Oct 2022 - 31st Oct 2022 Algorithm
2. Social Winter of Code (2023) 1st Jan 2023 - 15th Mar 2023 Algorithm
3. Social Summer of Code (2023) 1st June 2023 - 31st July 2023 Algorithm


Available Resources

  • The resources are categorized based on programming language. One folder for one programming language

    • Each folder has different subfolders. The subfolder represents the category algorithm belongs to
      • Each subfolder has different files. Filename represents the name of the algorithm

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

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. Caesar Cipher C, C++, Java, Python
2. Columnar Transposition Cipher C, C++, Java, Python
3. Diffie - Hellman Algorithm Python
4. Elgamal Cryptosystem C, C++, Java, Python
5. Hill Cipher C++, Java, Python
6. Homophonic Substitution C, C++, Java, Python
7. Playfair Cipher C, C++, Java, Python
8. Railfence Cipher C, C++, Java, Python
9. RSA C, C++, Java, Python
10. SHA - 256 C, C++, Java, Python
11. Vernam Cipher C, C++, Java, Python
12. Vignere Cipher C++, Java, Python

Concurrent Programming

No. Algorithm Name Available languages
1. Peterson's Algorithm C, C++, Java, Python

Data Compression

No. Algorithm Name Available languages
1. Burrows-Wheeler Transform Algorithm C, C++, Java, Python
2. Huffman Coding C, C++, Java,Python

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

No. Algorithm Name Available languages
1. Karatsuba Algorithm C++, Java, Python
2. N-Queen's Problem C, C++, Java, Python
3. Strassen's Matrix Multiplication C, C++, Java, Python

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
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++, 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. Multistage Graph (Shortest Path) C, C++, Java, Python
16. Prim's Algorithm C, C++, Java, Python
17. 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

No. Algorithm Name Available languages
1. Bloom-Filter Algorithm C, C++, Java, Python

Job Scheduling

No. Algorithm Name Available languages
1. First Come First Serve C, C++, Java, Python
2. Priority Scheduling 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++
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++, 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. Bennett's Formula C, C++, Java, Python
4. Bisection Algorithm C, C++, Java, Python
5. Chinese Remainder Theorem C, C++, Java, Python
6. Chudnovsky Algorithm C, C++, Java, Python
7. Closures of Relations C, C++, Java, Python
8. Decimal <-> Binary Converter C, C++, Java, Python
9. Extended Euclidean Algorithm C, C++, Java, Python
10. Euler's Totient Function C, C++, Java, Python
11. Factorial of Number C, C++, Java, Python
12. Factors C, C++, Java, Python
13. Frievald's Algorithm C, C++, Java, Python
14. GCD & LCM C, C++, Java, Python
15. Heron's Formula C, C++, Java, Python
16. Interquartile Ranges C, C++, Java, Python
17. Klee's Algorithm C, C++, Java, Python
18. Lucas Lehmer Series C, C++, Java, Python
19. Luhn's Algorithm C, C++, Java, Python
20. Manhattan Distance C, C++, Java, Python
21. Modular Exponentiation C, C++, Java, Python
22. Pascal's Triangle C, C++, Java, Python
23. Perfect Number C, C++, Java, Python
24. Prefix-Postfix-Infix Interconversion C++, Python
25. Prime Number C, C++, Java, Python
26. Quickhull Algorithm C ,C++, Java, Python
27. Reverse Integer C, C++, Java, Python
28. Roman to Decimal converter C, C++, Java, Python
29. Sieve Eratosthenes Algorithm C, C++, Java,Python
30. Strong Number C, C++, Java, Python
31. Sudoku Solver C, C++, Java, Python
32. Zeller's Algorithm C, C++, Java, Python

Memory Allocation

No. Algorithm Name Available languages
1. Next Fit Algorithm C, C++, Java, Python

Optimization

No. Algorithm Name Available languages
1. Ant Colony Optimization Python
2. Genetic Algorithm C++, Python
3. Grey Wolf Optimization C, C++, Java, Python
4. Hill Climbing Algorithm C, C++, Java, Python
5. Particle Swarm Optimization C++, Python
6. Shuffled Frog Leaping Algorithm C++, Python
7. 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

No. Algorithm Name Available languages
1. String Permutation C, C++, Java, Python
2. Tower of Hanoi C, C++, Java, Python

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. Sublist Search C, C++, Java, Python
10. 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. Pigeon-Hole Sort C, C++, Java, Python
20. Quick Sort C, C++, Java, Python
21. Radix Sort C, C++ Java, Python
22. Selection Sort C, C++, Java, Python
23. Shell Sort C, C++, Java, Python
24. Stooge Sort C, C++, Java, Python
25. Tim Sort C, C++, Java, Python
26. Topological Sort C++
27. 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

No. Algorithm Name Available languages
1. Beautiful String Algorithm C, C++, Java, Python
2. Camel Case Algorithm C, C++, Java, Python
3. Manacher's Algorithm C, C++, Java, Python

Sub-Arrays

No. Algorithm Name Available languages
1. Boyer-Moore Majority Voting C, C++, Python
2. Kadane's Algorithm C, C++, Java, Python
3. Shortest Unsorted Continuous Sub-Arrays C, C++, Java, Python

Trees

No. Algorithm Name Available languages
1. AO* Tree 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. Morris Traversal C, C++, Python
9. Red-Black Tree C++, Java, Python
10. Segment Tree C, C++, Java, Python
11. Splay Trees C, C++, Java, Python
12. Symmetric Tree Algorithm C, C++, Java, Python
13. Treap C, C++, Java, Python
14. Tree Traversal C, C++, Java, Python
15. Trie C++, Java
16. 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.

Screenshot 2022-10-23 at 8 03 11 AM
Screenshot 2022-10-23 at 8 03 31 AM
$ git clone https://github.com/<your-github-username>/Algorithms.git

$ cd algorithms
  • Create a Branch using:
$ git checkout -b <new-branch-name>
  • Make changes to the code(for ex- add an update route)

  • To see modified changes

$ 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. 🀩

algorithms's People

Contributors

kumar-laxmi avatar paritosh-j avatar atul1510 avatar shubh08am avatar dharnish38 avatar manavlohia945 avatar abhilash1781 avatar stiwari-ds avatar swastik-akhil avatar sumitkr2000 avatar viveksondhiya avatar nikitagupta-17 avatar vijay-kumar-yadav avatar papri24majumder avatar harshit-raj-14 avatar mvpamansingh avatar kapil4457 avatar ayatisonkar avatar shravanii2308 avatar kritika2313 avatar aniketgupta03 avatar goyalh4164 avatar sinhasaurabh079 avatar rayarka26 avatar sha0urya avatar nikita06211 avatar abhinavcode13 avatar shailja2727 avatar arbtrage avatar tarunvyshnav777 avatar

Stargazers

Abdul Kadir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.