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?
la source
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!Réponses:
En 1962, la recherche sur les algorithmes de tri n'était pas aussi avancée qu'aujourd'hui et l'informaticien Tony Hoare a trouvé un nouvel algorithme qui était plus rapide que l'autre.Il a donc publié un article intitulé Quicksort et, tel que cité, le titre est resté.
Citant le résumé:
la source
Je crois qu'il s'appelait à l'origine Hoare Sort après l'inventeur, mais le nom a changé assez tôt en raison du son un peu trop proche de la pute en anglais. Quant à savoir pourquoi ils ont choisi "rapide" au lieu de quelque chose d'autre, je ne suis pas sûr.
la source
Je pense que c'est parce que, au moment où il a été inventé, il était beaucoup plus rapide que tous (ou, plutôt, la plupart, car la vitesse dépend également fortement du type de données et dans certains cas, d'autres algorithmes deviennent beaucoup plus rapides que quicksort) du algorithmes là-bas.
Alors oui, c'est historique (je ne connais pas précisément cette histoire, cependant ...)
Mais je suis d'accord que son nom devrait plutôt contenir un indice de l'algorithme ...
la source