Tri rapide

Tri rapide
Quicksort en action sur une liste de nombres aléatoires. Les lignes horizontales sont les valeurs des pivots.
Découvreur ou inventeur
Date de découverte
Problèmes liés
Structure des données
Complexité en temps
Pire cas
[2]Voir et modifier les données sur Wikidata
Moyenne
[2]Voir et modifier les données sur Wikidata
Meilleur cas
[2]Voir et modifier les données sur Wikidata
Complexité en espace
Pire cas
Voir et modifier les données sur Wikidata
Moyenne
Voir et modifier les données sur Wikidata

En informatique, le tri rapide ou tri pivot (en anglais quicksort) est un algorithme de tri inventé par C.A.R. Hoare en 1961[3] et fondé sur la méthode de conception diviser pour régner. C'est un cas particulier de tri par file de priorité en considérant la structure d'arbre binaire de recherche comme file de priorité[4]. Il est généralement utilisé sur des tableaux, mais peut aussi être adapté aux listes. Dans le cas des tableaux, c'est un tri en place mais non stable.

La complexité moyenne du tri rapide pour n éléments est proportionnelle à n log n, ce qui est optimal pour un tri par comparaison, mais la complexité dans le pire des cas est quadratique. Malgré ce désavantage théorique, c'est en pratique un des tris les plus rapides, et donc un des plus utilisés. Le pire des cas est en effet peu probable lorsque l'algorithme est correctement mis en œuvre et il est possible de s'en prémunir définitivement avec la variante Introsort.

Le tri rapide ne peut cependant pas tirer avantage du fait que l'entrée est déjà presque triée. Dans ce cas particulier, il est plus avantageux d'utiliser le tri par insertion ou l'algorithme smoothsort.

Autre illustration de l'algorithme de tri rapide (Quicksort).
Exemple de partitionnement d'une petite liste de nombres.
  1. a et b (en) C. A. R. Hoare, « Algorithm 64: Quicksort », Communications of the ACM, New York, ACM, vol. 4, no 7,‎ , p. 321 (ISSN 0001-0782 et 1557-7317, OCLC 1514517, DOI 10.1145/366622.366644).Voir et modifier les données sur Wikidata
  2. a b et c « https://www.khanacademy.org/computing/computer-science/algorithms/quick-sort/a/analysis-of-quicksort » (consulté le )
  3. Hoare, C. A. R. « Partition: Algorithm 63, » « Quicksort: Algorithm 64, » and « Find: Algorithm 65. » Comm. ACM 4, 321-322, 1961.
  4. (en) Donald Ervin Knuth, The Art of Computer Programming, vol. 3 : Sorting and searching, Addison-Wesley, , 780 p. (ISBN 978-0-201-89685-5), p. 141-144

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne