Implementation of different algorithms and data structures:
- MergeSort
- QuickSort
- Randomized Contraction Algorithm
- Kosaraju's Algorithm
- Implemented Depth First Search in two approaches: Iterative and Recursive
- Dijkstra's Algorithm
- Naive implementation of Dijkstra's Algorithm
- Heap-based implementation to speed up the Dijkstra's Algorithm
- Median Maintanence Algorithm
- Heap-based implementation
- Implemented the algorithm using Red-Black Tree
- Job Scheduling Problem (Greedy Algorithm)
- Prim's Minimum Spanning Tree Algorithm
- Clustering Problem using Kruskal's Algorithm
- LARGE Clustering Problem
- Knapsack Algorithm
- It contains two separate implementations of depth-first search: iterative and recursive
- Floyd Warshall Algorithm
- Johnsons Algorithm
Note: some of the codes still need to be further optimized.