Tim Roughgarden says that MergeSort is a canonical example of a
divide-and-conquer algorithm: you want to sort an array of numbers? Split it
into two smaller arrays, sort each one, and then merge the partial results. This
graph from Algorithms Illuminated Part 1 [https://www.amazon.com/dp/0999282905]
illustrates