O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!)

Run Times Graph.png

Data Structures

Arrays / Dynamic Arrays

Operation Time Space
Access O(1) O(n)
Search O(n)
Insert (end) O(1) amortized
Insert (middle) O(n)
Delete O(n)

Linked Lists (Singly / Doubly)

Operation Time Space
Access O(n) O(n)
Search O(n)
Insert (head) O(1)
Insert (tail) O(1)*
Delete O(1)*

Stack / Queue / Deque

Operation Time Space
Push / Pop O(1) O(n)
Peek O(1)

HashMap / HashSet

Operation Avg Time Worst Space
Insert O(1) O(n) O(n)
Delete O(1) O(n)
Search O(1) O(n)

Binary Search Tree (BST)

Operation Avg Worst Space
Search O(log n) O(n) O(n)
Insert O(log n) O(n)
Delete O(log n) O(n)

Balanced BST (AVL / Red-Black)