Merge Sort
Merge Sort is a Divide-and-Conquer sorting algorithm, which sorts a list recursively by dividing it into halves until a single --element or empty list is created; it then merges these sublists of create a software list.
Merge Sort is one of the faster and most stable sorting algorithms, with an time complexity in the average and worst case.