Le tri par fusion est un algorithme de tri efficace basé sur des opérations de fusion. Cet algorithme est une application très typique utilisant la méthode diviser pour régner (Divide and Conquer).
La méthode de tri par fusion consiste à fusionner deux (ou plus) listes ordonnées en une nouvelle liste ordonnée, c'est-à-dire que la séquence à trier est divisée en plusieurs sous-séquences et chaque sous-séquence est ordonnée. Fusionnez ensuite les sous-séquences ordonnées dans la séquence ordonnée globale.
Le tri par fusion est un algorithme de tri efficace basé sur des opérations de fusion. Cet algorithme est une application très typique utilisant la méthode diviser pour régner (Divide and Conquer). Fusionnez les sous-séquences déjà ordonnées pour obtenir une séquence complètement ordonnée ; c'est-à-dire que vous devez d'abord rendre chaque sous-séquence ordonnée, puis ordonner les segments de la sous-séquence. Si deux listes ordonnées sont fusionnées en une seule liste ordonnée, on parle de fusion bidirectionnelle.
Le processus d'opération de fusion est le suivant :
1. Demander de l'espace pour que sa taille soit la somme des deux séquences triées.
2 Définir deux pointeurs dont les positions initiales sont les deux séquences triées. Position de départ
3. Comparez les éléments pointés par les deux pointeurs, sélectionnez un élément relativement petit et placez-le dans l'espace de fusion, puis déplacez le pointeur vers la position suivante
4. Répétez l'étape 3 jusqu'à un certain pointeur atteint la fin de la séquence
5. Copiez tous les éléments restants de l'autre séquence directement à la fin de la séquence fusionnée
Exemple 1 :