Complexity, use cases, and when to reach for each algorithm. Print-friendly.
flow-architect.dev/algorithms/cheatsheet
| Algorithm | Difficulty | Time | Space | When to use |
|---|---|---|---|---|
| Linear Search | Beginner | O(n) | O(1) |
|
| Binary Search | Beginner | O(log n) | O(1) |
|
| BFS: Level-Order Traversal | Intermediate | O(n) | O(n) |
|
| DFS: Pre-order Traversal | Intermediate | O(n) | O(h) |
|
| BST: Search | Intermediate | O(h) | O(h) |
|
| BST: Insert | Intermediate | O(h) | O(h) |
|
| Algorithm | Difficulty | Time | Space | When to use |
|---|---|---|---|---|
| Bubble Sort | Beginner | O(n²) | O(1) |
|
| Selection Sort | Beginner | O(n²) | O(1) |
|
| Insertion Sort | Beginner | O(n²) | O(1) |
|
| Merge Sort | Intermediate | O(n log n) | O(n) |
|
| Quick Sort | Intermediate | O(n log n) avg | O(log n) |
|
| Algorithm | Difficulty | Time | Space | When to use |
|---|---|---|---|---|
| Two Pointers: Pair Sum | Beginner | O(n) | O(1) |
|
| Algorithm | Difficulty | Time | Space | When to use |
|---|---|---|---|---|
| Sliding Window: Max Sum | Intermediate | O(n) | O(1) |
|
| Algorithm | Difficulty | Time | Space | When to use |
|---|---|---|---|---|
| Stack: Push, Pop, Peek | Beginner | O(1) per op | O(n) |
|
| Queue: Enqueue, Dequeue, Front | Beginner | O(1) per op | O(n) |
|