Professional Documents
Culture Documents
Algorithms CheatSheet
Algorithms CheatSheet
Heaps
Heaps Linked List (sorted) Linked List (unsorted) Binary Heap Binomial Heap Fibonacci Heap Time Complexity Heapify Find Max O(1) O(n) O(n) O(1) O(log(n)) O(1)
Graphs
Node / Edge Management Adjacency list Incidence list Adjacency matrix Incidence matrix Storage O(|V|+|E|) O(|V|+|E|) O(|V|^2) O(|V| |E|) Add Vertex O(1) O(1) O(|V|^2) O(|V| |E|) Add Edge O(1) O(1) O(1) O(|V| |E|) Remove Vertex O(|V| + |E|) O(|E|) O(|V|^2) O(|V| |E|) Remove Edge O(|E|) O(|E|) O(1) O(|V| |E|) Query O(|V|) O(|E|) O(1) O(|E|)
Searching
Algorithm Depth First Search (DFS) Breadth First Search (BFS) Binary search Linear (Brute Force) Shortest path by Dijkstra, using a Min-heap as priority queue
Shortest path by Dijkstra, using an unsorted array as priority queue
Data Structure Graph of |V| vertices and |E| edges Graph of |V| vertices and |E| edges Sorted array of n elements Array Graph with |V| vertices and |E| edges Graph with |V| vertices and |E| edges Graph with |V| vertices and |E| edges
Time Complexity Average O(log(n)) O(n) O((|V| + |E|) log |V|) O(|V|^2) O(|V||E|)
Worst O(|E| + |V|) O(|E| + |V|) O(log(n)) O(n) O((|V| + |E|) log |V|) O(|V|^2) O(|V||E|) Compiled By Ref
Space Complexity Worst O(|V|) O(|V|) O(1) O(1) O(|V|) O(|V|) O(|V|) : JITENDRA KUMAR PATEL. : http://bigocheatsheet.com/
Sorting
Algorithm Data Time Complexity Structure Best Array O(n log(n)) Array O(n log(n)) Array O(n log(n)) Array O(n) Array O(n) Array O(n^2) Array O(n+k) Array O(nk) Worst Case Auxiliary Space Complexity Average O(n log(n)) O(n log(n)) O(n log(n)) O(n^2) O(n^2) O(n^2) O(n+k) O(nk) Worst O(n^2) O(n log(n)) O(n log(n)) O(n^2) O(n^2) O(n^2) O(n^2) O(nk) Worst O(n) O(n) O(1) O(1) O(1) O(1) O(nk) O(n+k)
Quicksort Mergesort Heapsort Bubble Sort Insertion Sort Select Sort Bucket Sort Radix Sort
Data Structures
Data Structure Time Complexity Average Indexing Search O(1) O(n) O(1) O(n) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) Insertion O(n) O(1) O(1) O(log(n)) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) Deletion O(n) O(1) O(1) O(log(n)) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) Worst Indexing O(1) O(1) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(log(n)) Space Complexity Worst Search O(n) O(n) O(n) O(n) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(log(n)) O(log(n)) Insertion O(n) O(1) O(1) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(log(n)) O(log(n)) Deletion O(n) O(1) O(1) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O(n log(n)) O(n) O(n) O(n) O(n) O(n) O(n) O(n)
Basic Array Dynamic Array Singly-Linked List Doubly-Linked List Skip List Hash Table Binary Search Tree Cartresian Tree B-Tree Red-Black Tree Splay Tree AVL Tree
Compiled By Ref