#Algorithms
Implementation of Algorithms and Data Structures
##Implemented Algorithms
File Name | Algorithm(s) | Test Data | Description |
---|---|---|---|
MatrixMultiplication.py | Matrix Multiplication | Given with code | Trivial Method of multiplying two matrices. Matrices are shored as List of lists |
KaratsubaMultiplication.py | Karatsuba Multiplication | Given with code | Multiplying two integers |
PolynomialAddition.py | Polynomial Addition and Multiplication | Given with code | Adds two polynomial vectors of same size. Multiplies two polynomial vectors |
MergeSort.py | Merge Sort | Given with code | Sort an array of integer using divide and conquer paradigm with Merge Sort |
QuickSort.py | Quick Sort | IntegerArray.txt | Sort an array of integers using Quick sort |
QuickSort - ChoosingPivot.py | Quick sort using different pivots | QuickSort.txt | Sort an array of using different pivots in quick sort to maximize performance |
RandomizedContraction.py | Karger's minimum cut algorithm | kargerMinCut.txt | Randomized contraction algorithm to find minimum cut of a graph |
BreadthFirstSearch.py | Breadth first graph searching algorithm | graph2.txt | Search the entire graph in levels |
BFS(ShortestPath).py | BFS Application: shortest path | graph.txt | Computes shortest path from one point to another using BFS |
BFS(UndirectedConnectivity).py | BFS Application: Undirected Connectivity | graph2.txt | Breadth first search to find the weekly connected components of an undirected graph |
DepthFirstSearch.py | Depth first graph searching algorithm | graph3.txt | Search the entire graph in depth |
DepthFirstSearch(Recursive).py | Recursive Depth first graph searching algorithm | graph3.txt | Search the entire graph in depth. Using recursion |
StronglyConnectedComponents.py | DFS Application: Strongly connected components | SCC.txt | Using recursive DFS finds the strongly connected components of a directed graph |
HuffmanAlgorithm.h | Huffman's Algorithm | None | Huffman's text compression algorithm. Works only with perfect sizes. |
TowersOfHanoi.h | Towers of Hanoi | User Input | Implementation of classic tower of hanoi recursive algorithm. |
##Implemented Data Structures
File Name | Data Structure | Test Data | Description |
---|---|---|---|
ArrayList.h | Linked List using Array | None | Generic array implementation of the linked list. Using built-in C++ array. |
ArrayQueue.h | Queue based on Array | None | Generic array implementation of Queue. |
ArrayStack.h | Stack based on Array | None | Generic array implementation of Stack. |
Heaps(Max).py | Max Heap | None | Implementation of max heap data structure using array |
Heaps.py | Min Heap | None | Implementation of min heap data structure using array |