Skip to content
Dev Utilities 8 min read

Sorting Algorithms Visualized: Bubble, Insertion, Selection, Merge & Quick Sort

Watch how five fundamental sorting algorithms work step by step — bubble sort, insertion sort, selection sort, merge sort, and quicksort. Learn algorithm behavior visually and understand their trade-offs.

ToolsVito Team

Why Visualize Sorting Algorithms

Sorting algorithms are a CS education staple, but their behavior is hard to understand from pseudocode alone. A visualizer shows each comparison, each swap, and the data's gradual transformation from random to sorted. You see why some algorithms are adaptive (fast on nearly-sorted data), others are stable (preserving equal-element order), and why the worst-case time complexity matters for large inputs.

The Five Classic Sorting Algorithms

Bubble Sort — O(n²)

Repeatedly steps through the list, compares adjacent elements, and swaps them if they're in the wrong order. Largest elements "bubble up" to the end. Simple to understand and implement but nearly unusable for real data. Best case O(n) if the data is already sorted and you add the "no swaps → done" optimization.

Insertion Sort — O(n²)

Builds the sorted list one element at a time by inserting each new element into its correct position among previously sorted elements. Efficient for small datasets (used as the base case in quicksort and Timsort). Adaptive: O(n) on nearly-sorted data. The practical choice when n is small (< 50).

Selection Sort — O(n²)

Repeatedly finds the minimum element from the unsorted portion and places it at the end of the sorted portion. Always does O(n²) comparisons regardless of input order. Simple but never the right choice — insertion sort beats it in nearly all practical cases.

Merge Sort — O(n log n)

Divide and conquer: splits the array in half, recursively sorts each half, then merges the two sorted halves. Stable (equal elements preserve their relative order). Guaranteed O(n log n) in all cases. The cost: requires O(n) extra memory for the merge step. Used in external sorting (data too large for memory) because of its sequential access pattern.

Quicksort — O(n log n) average, O(n²) worst

Picks a pivot, partitions the array into elements less than and greater than the pivot, and recursively sorts each partition. Fast in practice due to cache-friendly memory access. Worst case occurs with poor pivot selection (e.g., always picking the first element on already-sorted data). Randomized pivot selection or median-of-three virtually eliminates the worst case.

Algorithm Comparison

  • Fastest in practice: Quicksort (average) > Merge Sort (guaranteed) > Insertion Sort (small n).
  • Stable: Merge Sort, Insertion Sort, Bubble Sort. Quicksort and Selection Sort are unstable.
  • In-place: Quicksort (with careful partitioning), Insertion Sort, Bubble Sort. Merge Sort requires extra space.
  • Adaptive: Insertion Sort excels on nearly-sorted data. Quicksort can degrade.

Visualize Sorting Algorithms Now

Use ToolsVito's Sorting Algorithm Visualizer to watch bubble, insertion, selection, merge, and quick sort animate step by step on random data. Adjust speed and array size to compare behavior. All rendered in your browser.

Try it now — free, runs in your browser

Sorting Algorithm Visualizer

See how sorts work