Merge sort es un ordenamiento divide-and-conquer, estable que se ejecuta en tiempo garantizado O(n log n). Divide el arreglo por la mitad, ordena cada mitad recursivamente y luego fusiona las dos mitades ordenadas.
La idea
Un elemento único ya está ordenado (caso base). Fusionar dos listas ordenadas es lineal, y realizamos log n niveles de fusión.
