Data Structures
& Algorithms

Complexity analysis, trees, graphs, and common patterns. From basics to advanced.

Time Complexity

Common Complexities

ComplexityNameExample
O(1)ConstantArray access
O(log n)LogarithmicBinary search
O(n)LinearArray traversal
O(n log n)LinearithmicMerge sort
O(n²)QuadraticBubble sort
O(2ⁿ)ExponentialRecursive Fibonacci

Data Structures

Array

Access:     O(1)
Search:     O(n)
Insert:     O(n)
Delete:     O(n)

Linked List

Access:     O(n)
Search:     O(n)
Insert:     O(1)
Delete:     O(1)

Hash Table

Access:     O(1) avg
Search:     O(1) avg
Insert:     O(1) avg
Delete:     O(1) avg

Trees

Binary Search Tree

Search:     O(log n) avg
Insert:     O(log n) avg
Delete:     O(log n) avg

Heap

Find min:   O(1)
Insert:     O(log n)
Delete min: O(log n)

Sorting Algorithms

Comparison Sorts

AlgorithmBestAverageWorst
Bubble SortO(n)O(n²)O(n²)
Merge SortO(n log n)O(n log n)O(n log n)
Quick SortO(n log n)O(n log n)O(n²)

Download

Print this page or save as PDF for quick reference.

Tip: Use Ctrl+P (Cmd+P on Mac) to print or save as PDF.