Tri par fusion
Le tri par fusion est un tri populaire algorithm that employs the divide-and-conquer technique to sort elements in a list or an array. The algorithm divides the input array into two halves, recursively sorts each half, and then merges the sorted halves back together. This approach ensures that the final output is a fully sorted array.
Comment fonctionne le tri par fusion
1. **Diviser** : Le tableau est divisé en deux moitiés. Ce processus continue de manière récursive jusqu'à ce que chaque sous-tableau ne contienne qu'un seul élément.
2. **Conquérir** : Chaque sous-tableau est trié individuellement. Étant donné qu'un seul élément est intrinsèquement trié, cette étape est simple.
3. **Fusionner** : Les sous-tableaux triés sont fusionnés en un seul tableau trié. Cela se fait en comparant les éléments de chaque sous-tableau et en les organisant dans l'ordre.
Complexité temporelle
Le tri par fusion a un time complexity of O(n log n) in all cases: best, average, and worst. This efficiency makes it suitable for large ensembles de données.
Complexité spatiale
Le tri par fusion nécessite un espace supplémentaire proportionnel à la taille du tableau d'entrée, ce qui donne une complexité spatiale de O(n), car des tableaux temporaires sont nécessaires lors du processus de fusion.
Applications
Merge Sort is widely used in applications where stability is important (i.e., the relative order of equal elements is preserved). It is also a preferred sorting algorithm for linked lists and large datasets stored in external storage.