Documente Academic
Documente Profesional
Documente Cultură
Definio:
Tambm conhecido como Bin Sort um algoritmo de ordenao que funciona realizando a diviso de um vetor em um determinado nmero de recipientes os baldes. Cada balde ento de forma individual ordenado usando o algoritmo de bucket sort ou outro qualquer de ordenao .
Funcionamento:
1 - inicializa-se o vetor de recipientes, de incio vazios; 2 - No vetor original inclui-se cada elemento em um balde. 3 - Coloca-se em ordem todos os baldes que no esto vazios. 4 - Coloca-se os elementos dos baldes que no esto vazios no vetor original.
Programas:
Exemplo 1:
void BucketSort(int A[], int n)! {! int i;! ! for(i=0; i<n; i++)! InserirLista (B[int floor(n*A[i])], A[i]);! ! for(i=0; i<n-1; i++)! ! InsertionSortLista(&B[i])! ! ConcatenarListasEncadeadas(n-1);! }
Programas: Exemplo 2:
Bucket-Sort(vetor A, tam n){ 1 Para i = 1 ate n 2 Faa inserir A[i] na lista B com base no valor de A[i]
3 Para i = 1 ate n
4 Faa ordene a lista B com a ordenao por insero 5 Concatene as listas em B. }
Programas:
Exemplo 3:
bucket_sort(A) n := comprimento[A] para i := 1 at n faa inserir A[i] na lista B[piso(nA[i])] para i := 0 at n-1 faa
Exemplo na prtica 1:
O exemplo usa como entrada em um vetor de 9 elementos. Os valores dos elementos esto no intervalo de 10 a 19. Um vetor auxiliar de listas encadeadas usado para guardar os elementos em cada compartimento.
Concluso:
Podem ser realizadas pequenas modificaes nos algoritmos originais, a fim de garantir caractersticas extras, como no caso do Bucket Sort, onde a estabilidade garantida atravs da remoo do primeiro elemento de cada sequncia.
No funcionam bem quando as chaves so longas, uma vez que o custo dos algoritmos proporcional ao tamanho da chave e o nmero de elementos a serem ordenados.
Precisam de memria auxiliar para ordenar o conjunto.
Exemplo na prtica 2: