This document analyzes the time complexity of insertion sort. It finds that insertion sort has: - A best case running time of O(n) when the array is already sorted - A worst case running time of O(n^2) when the array is in reverse sorted order - The worst case is usually what analysts are interested in, as it provides an upper bound on the algorithm's performance