O objetivo desta pergunta não é debater os méritos disso sobre qualquer outro algoritmo de classificação - certamente existem muitas outras perguntas que fazem isso. Esta pergunta é sobre o nome. Por que o Quicksort é chamado de "Quicksort"? Claro, é "rápido", na maioria das vezes, mas nem sempre. A possibilidade de degenerar para O (N ^ 2) é bem conhecida. Existem várias modificações no Quicksort que atenuam esse problema, mas aquelas que reduzem o pior caso a um O garantido (n log n) geralmente não são mais chamadas de Quicksort. (por exemplo, Introsort).
Eu só me pergunto por que, de todos os algoritmos de classificação conhecidos, este é o único que merece o nome "quick", que descreve não como o algoritmo funciona, mas quão rápido (geralmente) é. Mergesort é chamado assim porque mescla os dados. Heapsort é chamado assim porque usa uma pilha. O Introsort recebe o nome de "Introspective", pois monitora seu próprio desempenho para decidir quando mudar do Quicksort para o Heapsort. Da mesma forma para todos os mais lentos - Bubblesort, tipo de inserção, tipo de seleção etc. Eles são todos nomeados pelo modo como funcionam. A única outra exceção em que consigo pensar é "Bogosort", que é realmente apenas uma piada que ninguém realmente usa na prática. Por que o Quicksort não é chamado de algo mais descritivo, como "Classificação de partição" ou "Classificação dinâmica", que descrevem o que realmente faz? Nem sequer é um caso de "cheguei aqui primeiro". O Mergesort foi desenvolvido 15 anos antes do Quicksort. (1945 e 1960, respectivamente, de acordo com a Wikipedia)
Eu acho que isso é realmente mais uma questão de história do que de programação. Só estou curioso para saber como recebeu esse nome - foi apenas um bom marketing?
fonte
What's in a name? that which we call a rose By any other name would smell as sweet;
Isso ou seja tão rápido. Além disso, a possibilidade de degenerar para O (N ^ 2) tem uma pequena chance de acontecer, e N LogN é muito bom para um algoritmo, apesar do fato de termos hoje algoritmos mais rápidos. Além disso, quando algo mais rápido surgiu, era tarde demais, todo mundo já chamava de Quicksort!Respostas:
Em 1962, a pesquisa sobre algoritmos de classificação não estava tão avançada quanto hoje e o cientista da computação Tony Hoare encontrou um novo algoritmo que era mais rápido que o outro, então ele publicou um artigo chamado Quicksort e, como o artigo foi citado, o título permaneceu.
Citando o resumo:
fonte
Acredito que ele foi originalmente chamado Hoare Sort em homenagem ao inventor, mas o nome mudou bastante cedo devido a Hoare parecer um pouco parecido com a prostituta em inglês. Quanto ao motivo pelo qual eles escolheram "rápido" em vez de outra coisa, não tenho certeza.
fonte
Acredito que é porque, no momento em que foi inventado, era muito mais rápido que todos (ou melhor, a maioria, pois a velocidade também depende muito do tipo de dados e, em alguns casos, outro algoritmo se torna muito mais rápido que o quicksort) do algoritmos por aí.
Então, sim, é histórico (no entanto, eu não conheço exatamente essa história ...)
Mas eu concordo que seu nome deve conter uma dica do algoritmo ...
fonte