A visual and intuitive guide to the merge sort algorithm.

There is another version of mergesort which is not recursive, and may be easier to explain: do it bottom-up instead of top-down.

Go through the array, merging adjacent lists of length 1 into lists of length 2.

Then merge those adjacent lists into lists of length 4.

Then again into lists of length 8.

Etc.

There is another version of mergesort which is not recursive, and may be easier to explain: do it bottom-up instead of top-down.

Go through the array, merging adjacent lists of length 1 into lists of length 2.

Then merge those adjacent lists into lists of length 4.

Then again into lists of length 8.

Etc.