dedicated visualizer
Insertion Sort
Builds a sorted prefix by inserting each new value into the right gap. This page keeps the runner, chart, and controls focused on a single algorithm so the walkthrough feels calmer than the overview page.
session controls
Compare this algorithm against a related one, turn on quiz mode, or keep the current state in a shareable URL.
current shareable URL
Copy the URL to preserve this exact dataset, target, compare mode, and quiz state.
browse more
Want a different problem or visual mode? Jump back to the catalog and open another dedicated page.
open catalogscenario presets
Load a focused input that reveals a specific behavior quickly instead of hand-editing every value first.
dataset controls
Use your own array, randomize a fresh one, or restore defaults. The same dataset is shared by both panels in compare mode.
Enter up to 12 integers. Values are normalized to the range 1–99 for clean visualization.
chart + counters
The visualization and the live counters stay together so each step is easier to read.
current action · start prefix
current action
start prefix
comparisons
0
final 19
writes
0
final 21
sorted
1
final 8
steps
1 / 44
run summary
Finished in 44 steps. Final order: 1, 2, 3, 5, 6, 7, 8, 9.
comparisons
19
writes
21
sorted
8
steps
44
current explanation
Insertion sort starts with a one-item sorted prefix.
simple explanation
Treat the first number as already sorted.
pseudocode
complexity card
best
O(n)
average
O(n²)
worst
O(n²)
space
O(1)
algorithm notes
intuition
It works the same way many people sort cards in their hands.
tradeoffs
- Great for small or nearly sorted datasets.
- Shifts can make it slow on long random arrays.
- Stable and in-place.
when to use it
Use for small datasets, nearly sorted data, or as a base case inside more advanced sorts.
interview tips
- Mention that insertion sort often appears inside hybrid algorithms for small partitions.
- Explain why nearly sorted data is its sweet spot.
what I learned building this
typed definitions
One algorithm schema now drives the catalog, counters, pseudocode, notes, and visual modes, which keeps the UI consistent as the lab grows.
replay over mutation
Precomputed steps made it much easier to synchronize explanations, metrics, quiz prompts, and scrubber playback without hidden state drifting out of sync.
portfolio framing
Shareable URL state, compare mode, and responsive layouts mattered as much as the algorithm logic because this page needs to teach clearly and still feel polished as a product.
more in this lane
Want a different take on the same problem family? These stay in the same category but change the strategy.
beginner
Bubble Sort
Repeatedly swaps adjacent out-of-order values so larger numbers drift to the end.
beginner
Selection Sort
Selects the minimum value from the unsorted suffix and places it into the next sorted slot.
intermediate
Merge Sort
Recursively splits the array and merges sorted halves into a fully ordered result.