Time Complexity By Sahil Sir

Reference for technical interviews

O(1) - Constant
O(log n) - Logarithmic
O(n) - Linear
O(n log n)
O(n²) - Quadratic
O(h) - Height
Array
AccessO(1)
SearchO(n)
Insertion (end)O(1)
Insertion (middle)O(n)
Deletion (end)O(1)
Deletion (middle)O(n)
String
AccessO(1)
ConcatenationO(n)
ComparisonO(n)
SubstringO(n)
Search (naive)O(n*m)
Search (KMP)O(n+m)
Linked List (Singly)
AccessO(n)
SearchO(n)
Insertion (head)O(1)
Insertion (tail)*O(1)
Insertion (middle)O(n)
Deletion (head)O(1)
Deletion (tail)O(n)
Doubly Linked List
AccessO(n)
SearchO(n)
Insertion (head/tail)O(1)
Insertion (middle)O(n)
Deletion (head/tail)O(1)
Deletion (middle)O(n)
Queue (Linked List)
EnqueueO(1)
DequeueO(1)
PeekO(1)
SearchO(n)
Priority Queue (Heap)
InsertO(log n)
Extract Min/MaxO(log n)
PeekO(1)
SearchO(n)
Stack
PushO(1)
PopO(1)
PeekO(1)
SearchO(n)
Binary Search Tree
AccessO(h)*
SearchO(h)*
InsertionO(h)*
DeletionO(h)*
Min/MaxO(h)*
Balanced BST (AVL/RB)
AccessO(log n)
SearchO(log n)
InsertionO(log n)
DeletionO(log n)
Min/MaxO(log n)

Time Complexity (Continued)

Reference for technical interviews

Graph (Adjacency List)
Add VertexO(1)
Add EdgeO(1)
Remove VertexO(|V| + |E|)
Remove EdgeO(|E|)
QueryO(|V|)
BFS/DFSO(|V| + |E|)
Graph (Adjacency Matrix)
Add VertexO(|V|²)
Add EdgeO(1)
Remove VertexO(|V|²)
Remove EdgeO(1)
QueryO(1)
BFS/DFSO(|V|²)
Hash Table
Insert (avg)O(1)
Insert (worst)O(n)
Delete (avg)O(1)
Delete (worst)O(n)
Search (avg)O(1)
Search (worst)O(n)
Map (Hash Based)
Insert (avg)O(1)
Delete (avg)O(1)
Search (avg)O(1)
Worst CaseO(n)
Set (Hash Based)
Insert (avg)O(1)
Delete (avg)O(1)
Search (avg)O(1)
Worst CaseO(n)
TreeSet/TreeMap (Balanced BST)
InsertO(log n)
DeleteO(log n)
SearchO(log n)
Min/MaxO(log n)
Heap (Binary)
Find Min/MaxO(1)
Extract Min/MaxO(log n)
InsertO(log n)
SearchO(n)
Decrease KeyO(log n)
Trie
InsertO(L)
SearchO(L)
DeleteO(L)
Empty TrieO(1)
L = length of word
Bloom Filter
InsertO(k)
SearchO(k)
SpaceO(m)
k = hash functions
m = bits