Le but de cette question n'est pas de débattre du bien-fondé de cela sur tout autre algorithme de tri - il y a certainement beaucoup d'autres questions qui le font. Cette question concerne le nom. Pourquoi Quicksort est-il appelé "Quicksort"? Bien sûr, c'est "rapide", la plupart du temps, mais pas toujours. La possibilité de dégénérer en O (N ^ 2) est bien connue. Il existe diverses modifications à Quicksort qui atténuent ce problème, mais celles qui ramènent le pire des cas à un O garanti (n log n) ne sont généralement plus appelées Quicksort. (par exemple, Introsort).
Je me demande simplement pourquoi de tous les algorithmes de tri bien connus, c'est le seul qui mérite le nom "rapide", qui décrit non pas comment l'algorithme fonctionne, mais à quelle vitesse (généralement) il est. Mergesort est appelé ainsi car il fusionne les données. Heapsort est appelé ainsi car il utilise un tas. Introsort tire son nom de "Introspective", car il surveille ses propres performances pour décider quand passer de Quicksort à Heapsort. De même pour tous les plus lents - Bubblesort, tri par insertion, tri par sélection, etc. Ils sont tous nommés pour leur fonctionnement. La seule autre exception à laquelle je peux penser est "Bogosort", qui n'est vraiment qu'une blague que personne n'utilise jamais dans la pratique. Pourquoi Quicksort n'est-il pas appelé quelque chose de plus descriptif, comme "Tri par partition" ou "Tri par pivot", qui décrivent ce qu'il fait réellement? Ce n'est même pas un cas de "arrivé ici en premier". Mergesort a été développé 15 ans avant Quicksort. (1945 et 1960 respectivement selon Wikipedia)
Je suppose que c'est vraiment plus une question d'histoire qu'une question de programmation. Je suis simplement curieux de savoir comment il a obtenu ce nom - était-ce juste un bon marketing?
What's in a name? that which we call a rose By any other name would smell as sweet;
Cela ou soyez tout aussi rapide. En outre, la possibilité de dégénérer en O (N ^ 2) a une petite chance de se produire, et N LogN est assez bon pour un algorithme, malgré le fait que nous ayons aujourd'hui des algorithmes plus rapides. D'ailleurs, au moment où quelque chose de plus rapide est arrivé, il était trop tard, tout le monde l'appelait déjà Quicksort!