Merge sort è un ordinamento divide-and-conquer, stabile che viene eseguito in tempo garantito O(n log n). Divide l'array a metà, ordina ricorsivamente ogni metà, poi unisce le due metà ordinate.
L'idea
Un singolo elemento è già ordinato (caso base). L'unione di due liste ordinate è lineare, e facciamo log n livelli di unione.
