home

Insertion sort

Insertion sort is a sorting algorithm that builds a final sorted array one item at a time by comparisons. It iterates across a list taking one element at a time and inserting it into the leftmost portion of the list at it’s sorted location.

Algorithm

INPUT: a₁, a₂, ..., aₙ as A

FOR i ← 2 to n
    j ← i
    WHILE j > 1 AND A[j-1] > A[j]
        swap A[j] and A[j-1]
        j ← j - 1

Performance

Worst Average Best
Time \(O(n^2)\) \(O(n^2)\) \(O(n)\)
Space \(O(n)\)