Cheat Sheet
Cheat Sheet
Data Structures
Space
Data Structure Time Complexity Complexity
SinglyLinked List O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)
DoublyLinked List
O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)
(LinkedList<T>)
Skip List O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O(n log(n))
RedBlack Tree
(SortedSet<T> No 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(n)
Duplicates)
AVL Tree 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(n)
BTree 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(n)
Searching
Space
Algorithm Data Structure Time Complexity Complexity
Shortest path by Dijkstra, Graph with |V| vertices and O((|V| + |E|) O((|V| + |E|)
O(|V|)
using a Minheap as priority queue |E| edges log |V|) log |V|)
Sorting
Data Worst Case Auxiliary
Algorithm Structure Time Complexity Space Complexity
Heaps
Heaps Time Complexity
Heapify Find Max Extract Max Increase Key Insert Delete Merge
Graphs
Node / Edge Management Storage Add Vertex Add Edge Remove Vertex Remove Edge Query
Incidence matrix O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|E|)
BigO Complexity Chart