Merge sort é um algoritmo divide-and-conquer, estável que funciona em tempo garantido O(n log n). Ele divide o array ao meio, ordena cada metade recursivamente, e então mescla as duas metades ordenadas.
A ideia
Um elemento único já está ordenado (caso base). Mesclar duas listas ordenadas é linear, e fazemos log n níveis de mesclagem.
