A merge sort algorithm is an algorithm that divides the unsorted list into sublists, each containing one element, and then repeatedly merges sublists to produce larger sorted sublists.

The merge sort algorithm is based on the - and - algorithm design technique.

Merge Sort is particularly useful for sorting linked lists, as it does not rely on random access to elements in the list. Instead, it uses a -like approach to merging the sub-lists.