O documento apresenta o método de ordenação Bucket Sort, que divide os itens em buckets com base em propriedades de chave, ordena cada bucket individualmente e então concatena os buckets ordenados. Ele explica o algoritmo passo a passo com exemplos e discute sua complexidade de tempo O(n) para grandes conjuntos de dados com valores de chave limitados.
6. Ordenação comBucket Sort
09:36 Pesquisa e Ordenação: Aula 07 – Métodos de Ordenação (Bin Sort - Bucket Sort)
Pressupõe que a entrada consiste em números inteiros
distribuídos uniformemente sobre um intervalo
Ou seja, há um limite nos valores das chaves.
O intervalo é então dividido em 𝑛 subintervalos de
tamanhos iguais, os chamados buckets (baldes)
Cada chave vai para o balde correspondente à sua
faixa de valor
7. Ordenação comBucket Sort
09:20 Pesquisa e Ordenação: Aula 07 – Métodos de Ordenação (Bin Sort - Bucket Sort)
Complexidade: 𝑂(𝑛)
Quantidade de dados:
Muitos, porém, com valores limitados.
Um Bucket Sort com apenas dois buckets é na verdade o
Quicksort (com pivoteamento ruim).
Estabilidade e Adaptabilidade
Dependem do algoritmo de ordenação interna dos buckets.
14. Ordenação comBucket Sort
09:36 Pesquisa e Ordenação: Aula 07 – Métodos de Ordenação (Bin Sort - Bucket Sort)
Cada balde é posteriormente ordenado, isoladamente dos demais
15. Ordenação comBucket Sort
09:36 Pesquisa e Ordenação: Aula 07 – Métodos de Ordenação (Bin Sort - Bucket Sort)
Considerando o limite [0,1), e chaves com dois dígitos
decimais, determinamos o número de baldes como:
N = 10 (0, … 9)
A função para determinação do índice balde correto é
𝐵[ 𝑛 ∗ 𝐴[𝑖] ]