Skip to content

A Repository for algorithms in C, C++, Python and Java

License

Notifications You must be signed in to change notification settings

HardikGoyal2003/Algorithms

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

No. Algorithm Name Available languages Category
1. Diagonal Print Algorithm in 2D Array C, C++, Java, Python Arrays
2. Spiral Print Matrix C, C++, Java, Python Arrays
3. Caesar Cipher C, C++, Java, Python Cryptography
4. Diffie - Hellman Algorithm Python Cryptography
5. Hill Cipher C++, Java, Python Cryptography
6. Homophonic Substitution C, C++, Java, Python Cryptography
7. Railfence Cipher C, C++, Java, Python Cryptography
8. RSA C, C++, Java, Python Cryptography
9. SHA - 256 C, C++, Java, Python Cryptography
10. Vernam Cipher C, C++, Java, Python Cryptography
11. Vignere Cipher C++, Java, Python Cryptography
12. Burrows-Wheeler Transform Algorithm C, C++, Java, Python Data Compression
13. Huffman Coding C, C++, Java,Python Data Compression
14. Banker's Algorithm C, C++, Java,Python Deadlock Avoidance
15. Perceptron Learning - Boolean Functions Python Deep Learning
16. Karatsuba Algorithm C++, Java, Python Divide and Conquer
17. Strassen's Matrix Multiplication C, C++, Java, Python Divide and Conquer
18. 0/1 Knapsack C, C++, Java, Python Dynamic Programming
19. Coin change problem C, C++, Java, Python Dynamic Programming
20. Edit Distance C++ Dynamic Programming
21. Fibonacci Number C, C++, Java, Python Dynamic Programming
22. Longest Common Subsequence C, C++, Java Dynamic Programming
23. Matrix Chain Multiplication C++ Dynamic Programming
24. Minimum Jump Algorithm C, C++, Java, Python Dynamic Programming
25. Minimum Sum Partition Problem C, C++, Java, Python Dynamic Programming
26. Travelling Salesman Problem C, C++ Dynamic Programming
27. Grundy's Number C, C++, Java, Python Game Theory
28. Bellman Ford C++ Graphs
29. Dijkstra C, C++, Java, Python Graphs
30. Dinic's Algorithm C++, Java, Python Graphs
31. Floyd Warshall C, C++, Java, Python Graphs
32. Ford-Fulkerson Algorithm C++, Python Graphs
33. Hamiltonian Path Java Graphs
34. Kosaraju's Algorithm C++ Graphs
35. Prim's Algorithm C++, Java, Python Graphs
36. Tarjan Algorithm C, C++, Java, Python Graphs
37. Activity Selection C, C++, Java, Python Greedy Algorithm
38. Fractional Knapsack C, C++, Python Greedy Algorithm
39. Job Sequencing C, C++, Java, Python Greedy Algorithm
40. Merge Interval Algorithm C, C++, Java, Python Greedy Algorithm
41. Optimal Merge Pattern C, C++, Java, Python Greedy Algorithm
42. Addition of two Linked Lists C++ Linked List
43. Circular Linked List C, C++, Python Linked List
44. Detect loop in a Linked List C++ Linked List
45. Doubly Linked List C, C++, Java, Python Linked List
46. Intersection of two Linked Lists C++ Linked List
47. Length of Linked List C, C++, Java, Python Linked List
48. LRU Cache Design C, C++, Java, Python Linked List
49. Merge Two Sorted Linked List C, C++, Java, Python Linked List
50. Palindrome Linked List C, C++, Java, Python Linked List
51. Reverse Linked List C, C++, Java, Python Linked List
52. Singly Linked List C, C++, Java, Python Linked List
53. Sorting Linked List C, C++, Java, Python Linked List
54. Decision Tree Python Machine Learning
55. Feed-Forward Neural Network C++ Machine Learning
56. K-Means Clusters C++, Python Machine Learning
57. K-Nearest Neighbours C, C++ Machine Learning
58. Linear Regression C, C++, Python Machine Learning
59. Logistic Regression C++, Python Machine Learning
60. Naive Bayes C++, Python Machine Learning
61. Armstrong Numbers C, C++, Java, Python Maths
62. Binary Exponentiation C, C++, Python Maths
63. Bennett's Formula C, C++, Java, Python Maths
64. Bisection Algorithm C, C++, Java, Python Maths
65. Closures of Relations C, C++, Java, Python Maths
66. Decimal <-> Binary Converter C, Python Maths
67. Extended Euclidean Algorithm C, C++, Java, Python Maths
68. Euler's Totient Function C, C++, Java, Python Maths
69. Factorial of Number C, C++, Java, Python Maths
70. Factors C, C++, Java, Python Maths
71. GCD & LCM C, C++, Java, Python Maths
72. Manhattan Distance C, C++, Java, Python Maths
73. Modular Exponentiation C, C++, Java, Python Maths
74. Pascal's Triangle C, C++, Java, Python Maths
75. Perfect Number C, C++, Java, Python Maths
76. Prefix-Postfix-Infix Interconversion C++, Python Maths
77. Prime Number C, C++, Java, Python Maths
78. Reverse Integer C++, Python Maths
79. Roman to Decimal converter C, C++, Java, Python Maths
80. Sieve Eratosthenes Algorithm C, C++, Java,Python Maths
81. Zeller's Algorithm C, C++, Java, Python Maths
82. Genetic Algorithm C++, Python Optimization
83. Boyer Moore Algorithm C, C++, Java, Python Pattern Matching
84. KMP Algorithm C, C++, Java, Python Pattern Matching
85. Rabin Karp C++, Python Pattern Matching
86. Z - Algorithm C, C++, Java, Python Pattern Matching
87. String Permutation C, C++, Java, Python Recursion
88. Tower of Hanoi C, C++ Recursion
89. BFS and DFS C++, Java Searching
90. Binary Search on 2D Matrix C,C++, Java, Python Searching
91. Binary Search C, C++, Java, Python Searching
92. Fibonacci Search C, C++, Java, Python Searching
93. Jump Search C, C++, Java, Python Searching
94. Linear Search C, C++, Java, Python Searching
95. Order Agnostic Binary Search C++, Python Searching
96. Ternary Search C, C++, Java, Python Searching
97. 3 Sum Problem C, C++, Java, Python Sorting
98. Bubble Sort C, C++, Java, Python Sorting
99. Bucket Sort C, C++, Java, Python Sorting
100. Counting Sort C, C++, Java,Python Sorting
101. Cyclic Sort C++, Java, Python Sorting
102. Cocktail Sort C++ Sorting
103. Dutch National Flag C++, Java, Python Sorting
104. Gnome Sort C, C++, Java, Python Sorting
105. Heap Sort C, C++, Java, Python Sorting
106. Insertion Sort C, C++, Java, Python Sorting
107. Merge Sort C, C++, Java, Python Sorting
108. Quick Sort C, C++, Java, Python Sorting
109. Radix Sort C, C++ Java, Python Sorting
110. Selection Sort C, C++, Java, Python Sorting
111. Shell Sort C, C++, Java, Python Sorting
112. Topological Sort C++ Sorting
113. Wave Sort C++, Java, Python Sorting
114. Max Area in Histogram C, C++, Java, Python Stacks
115. Next Greater Element C, C++, Java, Python Stacks
116. Rain Water Problem C, C++, Java, Python Stacks
117. Stack Using Priority Queue C, C++, Java, Python Stacks
118. Beautiful String Algorithm C, C++, Java, Python Strings
119. Camel Case Algorithm C, C++, Java, Python Strings
120. Boyer-Moore Majority Voting C, C++, Python Sub-Arrays
121. Kadane's Algorithm C++, Java, Python Sub-Arrays
122. Shortest Unsorted Continuous Sub-Arrays C, C++, Java, Python Sub-Arrays
123. AVL Tree C, C++, Java, Python Trees
124. Binary Search Tree C, C++ Trees
125. Binary Tree to BST C, C++, Java, Python Trees
126. Morris Traversal C, C++, Python Trees
127. Red-Black Tree C++, Java, Python Trees
128. Splay Trees C, C++, Java Trees
129. Symmetric Tree Algorithm C, C++, Java, Python Trees
130. Tree Traversal C, C++, Java, Python Trees
131. Trie C++, Java Trees

Contributors πŸ«‚


Steps for Contributing πŸš€

Refer to this YouTube Video for reference!


  • Fork and clone the Repo by typing the following commands in the terminal
$ git clone https://github.com/Kumar-laxmi/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
  • Clone the Repository after forking
$ git clone https://github.com/<your-github-username>/Algorithms.git

$ cd algorithms
  • Make changes to the code(for ex- add an update route)

  • Create a Branch using:

$ git checkout -b <branch-name>
  • 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 <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. 🀩

About

A Repository for algorithms in C, C++, Python and Java

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 28.5%
  • Java 27.0%
  • Python 24.8%
  • C 19.7%