This Repo is For those who want to contribute in an open Source Repo for Hacktoberfest.
- Fork the repo to your profile.
- Add the algorithm or code to your forked repo, just make sure, algo shouldn't be already present in the repo.
- Don't copy paste the algorithms from anywhere.
- Include 2 sample output and input in the comments of the code file.
- update the README.md and add the Algorithm.
- Once you are done, we will review your PR and merge it with master.
.
├── Backtracking
│ ├── Chess-Queens.cpp
│ └── Generate-Parentheses.cpp
│ └── Sudoku.cpp
├── Basic Algos
│ ├── kadane's-algorithm-subarray-sum-problem.cpp
│ ├── max-area-O(n2).cpp
│ ├── max-area-stack-O(n).cpp
│ ├── maximum-area-of-histogram-stacks.cpp
│ ├── missing-and-duplicate-number-maths-O(1).cpp
│ ├── moore's algo.cpp
│ ├── nearest-smaller-number-stack-O(n).cpp
│ ├── Next-greater-element-to-the-right-result-array-stacks.cpp
│ ├── stack-matching-parentesis.cpp
│ ├── subarray-sum-value-k-O(n).cpp
│ ├── sum-four-element-equal-k-array.cpp
│ ├── sum-three-element-equal-k-array.cpp
│ ├── two-pointer-sliding-window-O(n).cpp
│ └── upper-lower-bound.cpp
├── Bitwise
│ ├── change-bit-status.cpp
│ ├── subset-sum-bf-dp-algo.cpp
│ └── tricks.cpp
├── Data Structures
│ ├── DSU.cpp
│ ├── Mo's-algorithm.cpp
│ ├── Ordered-Statistic-Tree(pbds).cpp
├── Divide and conquer
│ ├── maximum-subarray-sum-O(nlogn).cpp
│ ├── merge-sort-O(nlogn).cpp
│ └── quick-sort-O(n2).cpp
├── Dynamic Programming
│ ├── basic-fabonic.cpp
│ ├── binomial-coefficients.cpp
│ ├── fibonacci-numbers.cpp
│ ├── grid-path
│ │ ├── first-row-cell-to-last-row-cell.cpp
│ │ ├── maximal-square-area.cpp
│ │ ├── minimum-cost-of-path-numbered-grid-better.cpp
│ │ └── minimum-cost-of-path-numbered-grid.cpp
│ ├── knapsack
│ │ ├── basic-knapsack-max-profit-dp.cpp
│ │ ├── basic-knapsack-max-profit-recursion.cpp
│ │ ├── count-target-subset-sum-problem.cpp
│ │ ├── equal-partition-sum-problem.cpp
│ │ ├── minimum-partition-sum-difference-problem.cpp
│ │ ├── min-number-coin-make-the-given-sum.cpp
│ │ ├── no-of-ways-unlimited-coin.cpp
│ │ ├── order-unbounded-knapsack-coin-1.cpp
│ │ ├── order-unbounded-knapsack-coin.cpp
│ │ └── target-subset-sum-problem.cpp
│ ├── longest-common-sequences
│ │ ├── longest-common-substring.cpp
│ │ └── longest-common-subsequence.cpp
│ └── print-neatly.cpp
├── STLs
│ ├── maps-int-pair.cpp
│ ├── maps-ll-pairs.cpp
│ ├── maps-string-pair-string-int.cpp
│ ├── priority_queue.cpp
│ ├── set.cpp
| |── list.cpp
| |── vector.cpp
│ ├── sets-subarray-partition-O(n).cpp
│ └── stack.cpp
├── Trees
│ ├── inorder-tree-traversal-using-stack.cpp
│ ├── inorder-tree-traversal-without-stack-without-recursion.cpp
│ ├── inorder_tree_traversal_recursive.cpp
│ ├── postfix-stack-traversal.cpp
│ ├── preorder-recursive-tree travelsal.cpp
│ ├── postfix-recursive-traversal.cpp
│ └── preorder_iterative_travelsal.cpp
├── Trie
│ ├── trie_search.cpp
│ ├── trie_starts_with.cpp
|
├── Strings
│ ├── Rabin-Karp-Algorithm.cpp
│ └── Z-Function.cpp
├── Recursion
│ ├── all-permutation-of-set-of-k-length.cpp
│ ├── delete-middle-element-stack.cpp
│ ├── fibonacci-nubers.cpp
│ ├── kth-symbol-grammer.cpp
│ └── matrix-chain-multiplication.cpp
│ ├── number-is-palindrome.cpp
│ ├── print-1-to-n.cpp
│ ├── sort-insertion.cpp
│ ├── sort-merge-array.cpp
│ ├── sort-selection.cpp
│ ├── sort-stack.cpp
│ ├── string-manipulation.cpp
│ └── tower-of-hanoi.cpp
├── searching and Sorting
│ ├── bsearch-O(logn).cpp
│ ├── bubble-sort.cpp
│ ├── complexities.png
│ ├── Insertion-sort-Recursion-O(n2).cpp
│ ├── jump-search-o(sqrtn).cpp
│ ├── linearSearch.cpp
│ ├── merge-sort-O(nlogn).cpp
│ ├── quick-sort-O(n2).cpp
│ └── Selection-sort-Recursion-O(n2).cpp
└── Graphs Algos
├── bfs-shorteat-path-grid.cpp
├── bfs-shortest-path-list.cpp
├── bipartite-graph-dfs.cpp
├── bridges.cpp
├── cycles-one-dfs.cpp
├── dfs-recursion-list.cpp
├── dijkstra-shortest-path-dfs.cpp
├── no-of-components-grid-dfs-recursion.cpp
├── no-of-components-list-dfs-recursion.cpp
├── Kruskal-MST.cpp
├── Floyd-Warshall.cpp
├── Kahn's-Topological-Sorting.cpp
└── prims-MST.cpp