A collection of some of the most frequently used Algorithms and advanced algorithms in C++ (cause it's efficent) and Python (cause I love it). This repository consists of a large collection of algorithms.
I keep updating it from time to time (too frequently)
- Merge Sort
- Greedy Fractional Knapsack
- Breadth First Search
- Depth First Search
- Binary Search
- Chain Matrix Multiplication (Dynamic Programming)
- Floyd Warshall (Dynamic Programming)
- Fibonacci Series (Dynamic Programming)
- Bellman Ford Single Source Shortest Path
- Inorder Preorder and Postorder Traversal
- Determinant Computation
- Local Minima (Divide and Conquer)
- Bitonic Point in Bitonic Series (Divide and Conquer)
- Closest Pair Problem (Divide and Conquer)
- Find Smallest Element in increasing sequence rotated unknown number of times and rotation number (Algorithm-Jeff Erickson P-60 Q33)
- Smallest Element Find in Decreasing then Increasing Sequence (Divide and Conquer)
- Smallest Element Find in Bitonic Sequence (Algorithm-Jeff Erickson P-60 Q30)
- Row Reduced Edchelon Form using Row Echelon Form
- Maximum Sub Array Sum Problem (Divide and Conquer)
- Maximum Sub Array Sum Problem (Kadane's Algorithm)
- FInd A[i] = i in a sorted array (Algorithm-Jeff Erickson P-60 Q31)
- QuickSort Alogorithm
- Fast Perfect Cube Check Algorithm
- Fast Power Raise Algorithm in O(logn)
- Fast Kth Root of Element Find in O(logn)
- Rabin Karp Algorithm for String Matching O(m+n)
- Inversion Count in Array O(nlogn)
- Find Kth Smallest Element in Unsorted Array O(logn)
- Kth Smallest Element in Union of two Sorted Array O(n)
- K Closest Elements in Array from First Element of Array O(n)
- Gram-Schmidt Orthogonalization of a (m x n) matrix
- Least Recently Used (LRU) Greedy Algorithm