Le tri par tas construit un arbre binaire de recherche maximal (max-heap) à partir du tableau, puis extrait répétitivement le maximum pour produire un ordre trié. Il s'exécute en O(n log n) et est sur place.
L'idée
Un max-heap garde le plus grand élément à la racine. Construire le heap (O(n)), puis échanger la racine à la fin, réduire le heap et réappliquer la propriété du heap (sift down) — n fois.
