Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 3.01 KB

File metadata and controls

48 lines (37 loc) · 3.01 KB

Radix Sort

Leia isso em outros idiomas: English

Em ciência da computação, radix sort é uma classificação inteira não comparativa algoritmo que classifica os dados com chaves inteiras agrupando as chaves pelo indivíduo dígitos que compartilham a mesma posição e valor significativos. Uma notação posicional é necessário, mas porque os números inteiros podem representar cadeias de caracteres (por exemplo, nomes ou datas) e números de ponto flutuante especialmente formatados, base sort não está limitado a inteiros.

De onde vem o nome?

Em sistemas numéricos matemáticos, a radix ou base é o número de dígitos únicos, incluindo o dígito zero, usado para representar números em um sistema de numeração posicional. Por exemplo, um sistema binário (usando números 0 e 1) tem uma raiz de 2 e um decimal sistema (usando números de 0 a 9) tem uma raiz de 10.

Eficiência

O tópico da eficiência do radix sort comparado a outros algoritmos de ordenação é um pouco complicado e sujeito a muitos mal-entendidos. Se raiz sort é igualmente eficiente, menos eficiente ou mais eficiente do que o melhor algoritmos baseados em comparação depende dos detalhes das suposições feitas. A complexidade de classificação de raiz é O(wn) para chaves n que são inteiros de tamanho de palavra w. Às vezes, w é apresentado como uma constante, o que tornaria a classificação radix melhor (para n suficientemente grande) do que os melhores algoritmos de ordenação baseados em comparação, que todos realizam comparações O(n log n) para classificar chaves n. No entanto, em geral w não pode ser considerado uma constante: se todas as chaves n forem distintas, então w tem que ser pelo menos log n para que uma máquina de acesso aleatório seja capaz de armazená-los na memória, o que dá na melhor das hipóteses uma complexidade de tempo O(n log n). Este parece tornar a ordenação radix no máximo tão eficiente quanto a melhor ordenações baseadas em comparação (e pior se as chaves forem muito mais longas que log n).

Radix Sort

Complexidade

Nome Melhor Média Pior Memória Estável Comentários
Radix sort n * k n * k n * k n + k Sim k - comprimento da chave mais longa

Referências