0% encontró este documento útil (0 votos)
32 vistas5 páginas

Ordenamiento por Cubetas en C

Este documento describe el algoritmo de ordenamiento por cubetas (bucket sort). Distribuye los elementos a ordenar en cubetas según sus valores. Luego ordena cada cubeta individualmente usando inserción directa y concatena los resultados. Proporciona pseudocódigo y un ejemplo de código en C para implementar bucket sort.

Cargado por

'David Reza
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas5 páginas

Ordenamiento por Cubetas en C

Este documento describe el algoritmo de ordenamiento por cubetas (bucket sort). Distribuye los elementos a ordenar en cubetas según sus valores. Luego ordena cada cubeta individualmente usando inserción directa y concatena los resultados. Proporciona pseudocódigo y un ejemplo de código en C para implementar bucket sort.

Cargado por

'David Reza
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Nombre 1, Nombre 2, Orlando Martnez , Siri Denise Knutson Flores, Adam Erick Gamez Labastida, Jos Alberto Hernndez

Pacheco

Distribuye todos los elementos a ordenar entre un nmero finito de cubetas. Cada cubeta puede contener los elementos que cumplan con determinadas condiciones.

Se crea un arreglo del tamao de la gama de todos los valores posibles que se est ordenando. En el segundo arreglo, se calculan las ocurrencias de cada uno de los nmeros. Para cada ndice del arreglo, los datos representan las veces que el nmero se produjo. Se ordena la lista.

Bucket-sort(A,k,N) N length[A] For i = 1 TO N do insert A[i] into list B[n*A[i]] For i = 0 TO N-1 do sort list B[i] with insertion-sort Concatenate the lists B[0],B[1],,B[N-1] together in order

#include <stdio.h> void bucketSort(int A[],int n) { int i,j; int buckets[n]; for(i=0;i<n;i++) buckets[i]=0; for(j=0;j<n;j++) ++buckets[A[j]]; for(i=0,j=0;i<n;i++) for(;buckets[i]>0;-buckets[i]) A[j++]=i; }

int main() { int A[]={1,3,4,6,4,2,9,1,2,9}; int n=10; int i;

for(i=0;i<n;i++) printf("%d ",A[i]);


printf("\n"); bucketSort(A,n); for(i=0;i<n;i++) printf("%d ",A[i]); printf("\n"); } return 0;

También podría gustarte