Pergunta

Como o título diz, é Radix classificar o único algoritmo de classificação de não comparação?Meu palpite é sim.

Foi útil?

Solução

Não - Há uma espécie de contagem e tipo de balde também, entre outros.Verifique o artigo wikipedia para mais informações.

Outras dicas

Qualquer conjunto pode ser classificado por não usar comparações.

O processo é

  • Decida sobre um tamanho gerenciável do domínio de entrada M Você pode manipular para gravar em uma matriz gerenciável. Para caracteres (8 bits), o domínio seria 0-255.
  • dividir a entrada de alguma forma ordenada para a matriz.
  • Repetir e enxágue se a entrada ainda não estiver completamente considerada, isto é, todos os bits em m não foram considerados.

    Por exemplo, um tipo de 32 bits, m, inteiro, pode ser realizado como:

    • Olhe para os primeiros 8 bits, coloque (referências, ponteiros ou o que seu Lang tem disponível), no intervalo de 8 bits. Coloque-os em uma matriz [0-255], agora você tem uma encomenda grossa (ballpark) de seus valores.
    • Olhe para os próximos 8 bits, coloque-os em uma matriz similar, mantenha uma referência à primeira encomenda. Os próximos 8x2 bits são tratados da mesma maneira. Para extrair você, siga os links do primeiro conjunto.

      Radix Classe usa dígitos e tem 2 variantes (MSB para LSB) e (LSB para MSB).

      Contagem de tipos usa apenas a primeira etapa

      O tipo de balde é geralmente mencionado quando se refere a uma mistura de contagem e um tipo de comparação.

      Curiosamente, para alguns casos de uso, os tipos de comparação surgem curto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top