Giter VIP home page Giter VIP 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. Morse Code C, C++, Java, Python
8. Playfair Cipher C, C++, Java, Python
9. Railfence Cipher C, C++, Java, Python
10. RSA C, C++, Java, Python
11. SHA - 256 C, C++, Java, Python
12. Vernam Cipher C, C++, Java, Python
13. 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
3. LZ78 Compression 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, 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. 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
2. Cuckoo Hashing 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, 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. 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. Power-set of Elements C, C++, Java, Python
25. Prefix-Postfix-Infix Interconversion C++, Python
26. Prime Number C, C++, Java, Python
27. Quickhull Algorithm C ,C++, Java, Python
28. Reverse Integer C, C++, Java, Python
29. Roman to Decimal converter C, C++, Java, Python
30. Sieve Eratosthenes Algorithm C, C++, Java,Python
31. Similar Triangles C, C++, Java, Python
32. Strong Number C, C++, Java, Python
33. Sudoku Solver C, C++, Java, Python
34. Zeller's Algorithm C, C++, Java, Python

Memory Allocation

No. Algorithm Name Available languages
1. Best Fit Algorithm C, C++, Java, Python
2. Next Fit Algorithm C, C++, Java, Python
3. Worst 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. 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

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. 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. Treap C, C++, Java, Python
15. Tree Traversal C, C++, Java, Python
16. Trie C++, Java
17. 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 swastik-akhil avatar stiwari-ds avatar sumitkr2000 avatar viveksondhiya avatar nikitagupta-17 avatar vijay-kumar-yadav avatar papri24majumder avatar mvpamansingh avatar harshit-raj-14 avatar shravanii2308 avatar kapil4457 avatar ayatisonkar avatar aniketgupta03 avatar goyalh4164 avatar kritika2313 avatar sinhasaurabh079 avatar rayarka26 avatar sha0urya avatar nikita06211 avatar tarunvyshnav777 avatar arbtrage avatar abhinavcode13 avatar shailja2727 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.