Une introduction à l’algorithme de tri par fusion

Le tri par fusion est un algorithme de tri basé sur la technique « diviser pour régner ». C’est l’un des algorithmes de tri les plus efficaces.

Dans cet article, vous découvrirez le fonctionnement de l’algorithme de tri par fusion, l’algorithme du tri par fusion, sa complexité temporelle et spatiale et son implémentation dans divers langages de programmation tels que C++, Python et JavaScript.

Comment fonctionne l’algorithme de tri par fusion ?

Le tri par fusion fonctionne sur le principe de diviser pour mieux régner. Le tri par fusion décompose à plusieurs reprises un tableau en deux sous-tableaux égaux jusqu’à ce que chaque sous-tableau soit constitué d’un seul élément. Enfin, tous ces sous-tableaux sont fusionnés de sorte que le tableau résultant est trié.

Ce concept peut être expliqué plus efficacement à l’aide d’un exemple. Considérez un tableau non trié avec les éléments suivants : 16, 12, 15, 13, 19, 17, 11, 18.

Ici, l’algorithme de tri par fusion divise le tableau en deux moitiés, s’appelle lui-même pour les deux moitiés, puis fusionne les deux moitiés triées.

Algorithme de tri par fusion

Ci-dessous l’algorithme du tri par fusion :

Complexité temporelle et spatiale de l’algorithme de tri par fusion

L’algorithme de tri par fusion peut être exprimé sous la forme de la relation de récurrence suivante :

Voir aussi :  Les 5 meilleures façons d'apprendre Java en ligne en 2021

T(n) = 2T(n/2) + O(n)

Après avoir résolu cette relation de récurrence à l’aide du théorème du maître ou de la méthode de l’arbre de récurrence, vous obtiendrez la solution sous la forme O(n logn). Ainsi, la complexité temporelle de l’algorithme de tri par fusion est O(n connexion) .

La complexité temporelle du meilleur cas du tri par fusion : O(n connexion)

La complexité temporelle moyenne du tri par fusion : O(n connexion)

La complexité temporelle dans le pire des cas du tri par fusion : O(n connexion)

La complexité de l’espace auxiliaire de l’algorithme de tri par fusion est Au) comme n un espace auxiliaire est requis dans l’implémentation du tri par fusion.

Implémentation C++ de l’algorithme de tri par fusion

Vous trouverez ci-dessous l’implémentation C++ de l’algorithme de tri par fusion :

Sortir:

Implémentation JavaScript de l’algorithme de tri par fusion

Vous trouverez ci-dessous l’implémentation JavaScript de l’algorithme de tri par fusion :

Sortir:

Implémentation Python de l’algorithme de tri par fusion

Vous trouverez ci-dessous l’implémentation Python de l’algorithme de tri par fusion :

Sortir:

Comprendre d’autres algorithmes de tri

Le tri est l’un des algorithmes les plus utilisés en programmation. Vous pouvez trier des éléments dans différents langages de programmation à l’aide de divers algorithmes de tri comme le tri rapide, le tri à bulles, le tri par fusion, le tri par insertion, etc.

Voir aussi :  Un guide pour télécharger des images avec une application Django

Le tri à bulles est le meilleur choix si vous souhaitez en savoir plus sur l’algorithme de tri le plus simple.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *