Tri par tas

Tri par tas
Une exécution de l'algorithme du tri par tas (Heapsort) trie une partie des valeurs permutées au hasard. Dans un premier temps, les éléments sont réarrangés pour respecter les conditions de tas. Avant le tri à proprement parler, la structure de l'arbre en tas est montrée brièvement par l'illustration.
Découvreur ou inventeur
J. W. J. Williams (en)Voir et modifier les données sur Wikidata
Date de découverte
Problème lié
Structure des données
À l'origine de
Complexité en temps
Pire cas
Voir et modifier les données sur Wikidata
Moyenne
Voir et modifier les données sur Wikidata
Meilleur cas
Voir et modifier les données sur Wikidata
Complexité en espace
Pire cas
Voir et modifier les données sur Wikidata
Animation montrant le fonctionnement du tri par tas (Heapsort).

En informatique, le tri par tas (en anglais heapsort) est un algorithme de tri par comparaisons. Cet algorithme est de complexité asymptotiquement optimale[1]. Sa complexité est proportionnelle à est la longueur du tableau à trier. Le tri par tas se fait en place, c’est-à-dire qu’il ne nécessite pas l'allocation d'une zone mémoire supplémentaire (plus précisément il ne nécessite qu'une allocation d'une zone mémoire de taille )[2]. Par contre, il n'est pas stable, c'est-à-dire que l'ordre original d'éléments auxquels est associée une même clé de tri n'est pas en général préservé.

Son inconvénient majeur est sa lenteur comparé au tri rapide (qui est en moyenne deux fois plus rapide) : sur un tableau de taille importante, il sera amené à traiter un nombre élevé d'emplacements mémoire dont l’éloignement peut dépasser la capacité du cache, ce qui ralentit l'accès à la mémoire et l’exécution de l’algorithme[réf. nécessaire].

  1. C'est-à-dire que l'on démontre qu'aucun algorithme de tri par comparaison ne peut avoir de complexité asymptotiquement meilleure.
  2. Cormen et al. 2004, p. 121.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne