Algorithm Analysis


This repository contains general sorting, searching, graph implementations of algorithms. Still working on updating the ReadMe.

Searching


1. Linear Search - O(n)
2. Binary Search - O(logn)
3. Jump Search - O(√n)
4. Interpolation Search - O(loglogn) for avg case {in worst case O(n)}

Sorting


1. Insertion Sort - O(n^2) {sorts in place}
2. Selection Sort - O(n^2) {sorts in place}
3. Merge Sort - O(nlogn)
4. Heap Sort - O(nlogn) {sorts in place}

Graphs


(assuming we are using adjacency list representation of graphs)
1. Breadth First Seach O(V+E)
2. Depth First Search O(V+E)

List ADT


1. Arrays as Lists
2. Arrays as Queues
3. Arrays as Stacks
4. Singly Linked Lists

Recursive Algorithms


1. Strassen's Matrix Multiplication
2. Karatsuba Multiplication
3. Dominating Point