Le tri par fusion est un algorithme de tri développé par John von Neumann en 1945. Il s'agit d'un algorithme de tri efficace, polyvalent et basé sur des comparaisons qui utilise une approche diviser pour régner pour diviser efficacement une grande liste en deux sous-listes plus petites, trier les sous-listes de manière récursive, puis fusionner les résultats en une seule liste triée. Le tri par fusion est stable, ce qui signifie qu'il préserve l'ordre d'origine des éléments égaux dans la liste.

Algorithme

La fusion des tris s'effectue en suivant les étapes suivantes :

1. Diviser : Diviser la liste non triée en deux sous-listes de taille à peu près égale.
2. Vaincre : Trier récursivement chaque sous-liste
3. Fusionner : Combiner les deux sous-listes triées en une seule liste triée.

Le processus de fusion consiste à prendre deux petites listes triées et à les fusionner pour former une liste triée plus grande. À chaque étape, le plus petit élément est extrait de l’une ou l’autre des sous-listes et placé dans le tableau de résultats. Le processus est ensuite répété jusqu'à ce que toutes les sous-listes soient combinées en un seul résultat trié.

Performance

Le tri par fusion a une complexité temporelle de O(n log n), ce qui signifie qu'il évolue linéairement avec la taille de l'entrée. Il est bien adapté au tri de grandes listes et est également stable, ce qui signifie qu'il préserve l'ordre des éléments égaux. Par contre, il nécessite un espace de stockage supplémentaire pour stocker les sous-listes, ce qui le rend moins efficace pour les listes plus petites ou le tri sur place.

Conclusion

Le tri par fusion est un algorithme de tri bien connu, stable, efficace et facile à comprendre. Il convient au tri d'une grande variété de types de données et peut trier de grandes listes en temps linéaire. Sa faible complexité spatiale en fait un choix idéal pour de nombreuses applications.

Choisir et acheter une procuration

Proxies pour centres de données

Procurations tournantes

Proxies UDP

Approuvé par plus de 10 000 clients dans le monde

Client mandataire
Client mandataire
Client proxy flowch.ai
Client mandataire
Client mandataire
Client mandataire