A aula apresenta o algoritmo de ordenação RadixSort. Ele ordena números considerando um dígito de cada vez, posicionando os números em baldes de acordo com o valor do dígito sendo processado. RadixSort tem complexidade O(n) e é eficiente para conjuntos de dados com tamanho de chave limitado. Exemplos ilustram como o algoritmo ordena números usando seus dígitos significativos.
6. Ordenação comRadixSort
09:21
Pressupõe que as chaves de entrada possuem limite no
valor e no tamanho (quantidade de dígitos);
É essencial utilizar um segundo algoritmo estável para
realizar a ordenação;
Ordena números, considerando um dígito de cada vez;
A partir do menos significativo ou do mais significativo
Pesquisa e Ordenação: Aula 09 – Métodos de Ordenação (RadixSort)
7. Ordenação comRadixSort
09:21
Pegue cada número na sequência e posicione-o em uma das
dez filas, dependendo do valor do dígito sendo processado.
Em seguida, restaure cada fila para a sequência original,
começando pela fila de números com um dígito 0 e
terminando com a fila de números com o dígito 9.
Quando essas ações tiverem sido executadas para cada dígito,
a sequência estará ordenada.
Pesquisa e Ordenação: Aula 09 – Métodos de Ordenação (RadixSort)
8. Ordenação comRadixSort
09:31
Como os valores possuem limite, e a quantidade de dígitos é fixa, é
possível aplicar o Bucket Sort para cada nível;
Cria-se um balde para cada possível valor dos dígitos (0 − 9, ao invés
de para cada faixa de valores), de modo a não ser necessário ordenar os
baldes internamente.
O Bucket Sort é linear neste caso, uma vez que não é necessário ordenar
os baldes isoladamente.
Pesquisa e Ordenação: Aula 09 – Métodos de Ordenação (RadixSort)
13. Ordenação comRadixSort
09:31 Pesquisa e Ordenação: Aula 09 – Métodos de Ordenação (RadixSort)
Em que 𝑑 é o dígito em relação ao qual as chaves serão ordenadas.