Developer Toolbox

Tri par tas

Range la liste en tas, un arbre où chaque parent est plus grand que ses enfants. Puis il déplace la plus grande valeur à la fin, encore et encore.

  • Ω(n log n)
  • Θ(n log n)
  • O(n log n)
  • O(1)
  • non
  • oui
  • comparaison
  • déplacement
  • à sa place finale
0 / 299 étapes
Comparaisons Échanges

Lancez la lecture : les lignes montrent comment le coût grandit

Appuyez sur lecture ou avancez pas à pas.

Espace : lecture ou pause. Flèches gauche et droite : pas à pas. Origine et Fin : sauter.

Essayez : Choisissez une liste inversée. Construire le tas ne demande presque aucun échange, puis chaque tour déplace la plus grande valeur à la fin.

Comment ça marche

Le tas est rangé dans la liste elle-même : la valeur en position i a ses enfants en positions 2i+1 et 2i+2, et la plus grande valeur est toujours au début. On l'échange avec la dernière valeur, on réduit le tas d'une valeur et on le répare. La partie triée grandit depuis la droite.

Quand le choisir

Quand il faut une vitesse qui reste bonne même dans le pire cas, sans mémoire en plus, par exemple sur de petits appareils. En moyenne, il est plus lent que le tri rapide, et on s'en sert donc souvent comme filet de sécurité.