This repository contains various algorithms which are implemented on Python Programming language. The algorithms are as follows:
- Binary Search
- Breadth First Search
- Depth First Search
- Merge Sort
- Quicksort
- Insertion Sort
- Selection Sort
- Counting Sort
- Heap Sort
- Kruskal's Algorithm
- Floyd Warshall Algorithm
- Dijkstra's Algorithm
- Bellman Ford Algorithm
- Kadane's Algorithm
- Lee Algorithm
- Flood Fill Algorithm
- Floyd's Cycle Detection Algorithm
- Union Find Algorithm
- Topological Sort Algortihm
- KMP Algorithm
- Kahn's Topological Sort Algorithm
- Huffman Coding Compression Algorithm
- Ouickselect Algorithm
- Boyer Moore Majority Vote Algorithm
- Euclid's Algorithm
- Book Allocation using Binary Search
All of the jupyter notebook have explanation for each algorithm with there implementation.