SlideShare una empresa de Scribd logo
1 de 10
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Defensa
Universidad Nacional Experimental de la Fuerza Armada
Mérida estado Mérida.
Asignatura: Lenguaje de Programación II
Método de Ordenamiento
Bucket sort (casilleros)
Bachilleres:
Segovia Leon Roxana K C.I 21.154.201
Suarez Luengas Adriana C.I 19.383.918
Avila Carlos C.I 18.924.112
IST-5S-D01
Prof: Javier Rivera
Mérida 06 de abril del 2015
Método de ordenamiento Bucket sort (casilleros)
Historia
Herman Hollerith (feb. 29, 1860 hasta nov. 17, 1929) es el primero conocido por
haber generado un algoritmo similar a la Base de ordenación.
Era hijo de inmigrantes alemanes, nació en Buffalo, Nueva York y fue un
Estadístico del Censo. Él desarrolló una perforadora de tarjetas Tabulating
Machine.
Hollerith formó la empresa Tabulating Machine en 1896. La compañía se fusionó
con nternational Time Recording Company y Computing Scale Company para
formar equipo Tabulating Recording Company (CTR) en 1911. CTR fue el
predecesor de IBM. CTR cambió su nombre a International Business Machines
Corporation en 1924.
Hollerith se desempeñó como ingeniero de consultoría con el CTR hasta su retiro
en1921.
Hay referencias a Harold H. Seward, un científico de la computación, como el
desarrollador de Radix sort en 1954.
Método de ordenamiento Bucket sort
(casilleros)
Definicion
El ordenamiento por casilleros (bucket sort en inglés) es un algoritmo de
ordenamiento que distribuye todos los elementos a ordenar entre un número
finito de casilleros. Cada casillero sólo puede contener los elementos que
cumplan unas determinadas condiciones. . Las condiciones deben ser
excluyentes entre sí, para evitar que un elemento pueda ser clasificado en dos
casilleros distintos. Después cada uno de esos casilleros se ordena
individualmente con otro algoritmo de ordenación (que podría ser distinto
según el casillero).
El algoritmo contiene los siguientes pasos:

Crear una colección de casilleros vacíos

Colocar cada elemento a ordenar en un único casillero

Ordenar individualmente cada casillero

Devolver los elementos de cada casillero concatenados por orden
Metodo de ordenamiento Bucket sort (casilleros)
Algoritmo
#include <iostream>
#include <cola>
using namespace std;
const int INPUT_SIZE = 20;
const int BUCKET_K = 10;
impresión void (int * entrada)
{
for (int i = 0; i <INPUT_SIZE; i ++)
cout << entrada [i] << "";
cout << endl;
}
int almohadilla (int n)
{
volver n / 5;
}
void (int len int * entrada) doinsertionsortforbucket​​
{
while (len--> 0) {
si (entrada [len]> Entrada [len + 1]) {
int tmp = entrada [len];
entrada [len] = entrada [len + 1];
entrada [len + 1] = tmp;
} Else
volver;
}
}
vacío bucketsort (int * entrada)
{
cola <int> * cubos [BUCKET_K];
for (int i = 0; i <BUCKET_K; i ++)
cubos [i] = new queue <int>;
// Hash la entrada e insertar el contenido en el cubo adecuado en función de hash.
for (int i = 0; i <INPUT_SIZE; i ++)
{
int hashValue = almohadilla (entrada [i]);
si (hashValue> = BUCKET_K)
hashValue = BUCKET_K-1;
cubos [hashValue] -> empuje (entrada [i]);
}
// Extraer el contenido de cada uno de los cubos en orden.
// Usando la ordenación por inserción
int outputidx = 0;
for (int i = 0; i <BUCKET_K; i ++)
{
si (baldes [i] -> size () == 1) {
de entrada [outputidx ++] = cubos [i] -> frontal ();
cout << cubos [i] -> frontal () << "|";
cubos [i] -> pop ();
}
si (baldes [i] -> size ()> 1)
{
while (! cubos [i] -> empty ())
{
de entrada [outputidx] = cubos [i] -> frontal ();
doinsertionsortforbucket (entrada, outputidx);
cout << cubos [i] -> frontal () << "";
cubos [i] -> pop ();
outputidx ++;
}
cout << "|";
}
}
// cubos transparentes.
for (int i = 0; i <BUCKET_K; i ++)
eliminar cubos [i];
}
int main ()
{
int entrada [INPUT_SIZE] = {25, 44, 13, 34, 27, 11, 4, 9, 45, 33, 27, 28, 42, 6, 49, 31, 37,
23, 14, 41};
cout << "Input:";
print (entrada);
cout << "lista bucketed:";
bucketsort (entrada);
cout << " nOutput:";
print (entrada);
return 0;
salida
De entrada: 25 44 13 34 27 11 4 9 45 33 27 28 42 6 49 31 37 23 14 41
Lista bucketed: 4 | 9 6 | 13 11 14 | 23 | 25 27 27 28 | 34 33 31 | 37 | 44 42 41 | 45 49 |
Salida: 4 6 9 11 13 14 23 25 27 27 28 31 33 34 37 41 42 44 45 49
GRACIAS

Más contenido relacionado

La actualidad más candente

16 algoritmos de busca em tabelas - hash
16   algoritmos de busca em tabelas - hash16   algoritmos de busca em tabelas - hash
16 algoritmos de busca em tabelas - hashRicardo Bolanho
 
C程式-陣列與指標
C程式-陣列與指標C程式-陣列與指標
C程式-陣列與指標艾鍗科技
 
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)Make Mannan
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Sarai Gotopo
 
Manual de normas apa cun definitiva
Manual de normas apa cun definitivaManual de normas apa cun definitiva
Manual de normas apa cun definitivaJason Blanco
 
Java Threads and Concurrency
Java Threads and ConcurrencyJava Threads and Concurrency
Java Threads and ConcurrencySunil OS
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbujaOscar Mora
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
C++ Memory Management
C++ Memory ManagementC++ Memory Management
C++ Memory ManagementRahul Jamwal
 
String and string buffer
String and string bufferString and string buffer
String and string bufferkamal kotecha
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and FunctionsJussi Pohjolainen
 
CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3Daniel Irene
 
Lenguaje de programacion con soporte de base de datos
Lenguaje de programacion con soporte de base de datosLenguaje de programacion con soporte de base de datos
Lenguaje de programacion con soporte de base de datosSimoney Llamas
 
16. Java stacks and queues
16. Java stacks and queues16. Java stacks and queues
16. Java stacks and queuesIntro C# Book
 
Ejemplo Cartas de Navegación.pdf
Ejemplo Cartas de Navegación.pdfEjemplo Cartas de Navegación.pdf
Ejemplo Cartas de Navegación.pdfgeogeodededo
 

La actualidad más candente (20)

16 algoritmos de busca em tabelas - hash
16   algoritmos de busca em tabelas - hash16   algoritmos de busca em tabelas - hash
16 algoritmos de busca em tabelas - hash
 
Programa de Pila Estática
Programa de Pila EstáticaPrograma de Pila Estática
Programa de Pila Estática
 
C程式-陣列與指標
C程式-陣列與指標C程式-陣列與指標
C程式-陣列與指標
 
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
 
Threads in Java
Threads in JavaThreads in Java
Threads in Java
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)
 
Merge sort
Merge sortMerge sort
Merge sort
 
Manual de normas apa cun definitiva
Manual de normas apa cun definitivaManual de normas apa cun definitiva
Manual de normas apa cun definitiva
 
Java Threads and Concurrency
Java Threads and ConcurrencyJava Threads and Concurrency
Java Threads and Concurrency
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
C++ Memory Management
C++ Memory ManagementC++ Memory Management
C++ Memory Management
 
String and string buffer
String and string bufferString and string buffer
String and string buffer
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and Functions
 
CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3
 
Lenguaje de programacion con soporte de base de datos
Lenguaje de programacion con soporte de base de datosLenguaje de programacion con soporte de base de datos
Lenguaje de programacion con soporte de base de datos
 
16. Java stacks and queues
16. Java stacks and queues16. Java stacks and queues
16. Java stacks and queues
 
Ejemplo Cartas de Navegación.pdf
Ejemplo Cartas de Navegación.pdfEjemplo Cartas de Navegación.pdf
Ejemplo Cartas de Navegación.pdf
 

Destacado (6)

Metodo radix
Metodo radixMetodo radix
Metodo radix
 
Algoritmo Counting sort
Algoritmo Counting sortAlgoritmo Counting sort
Algoritmo Counting sort
 
Radix sort presentation
Radix sort presentationRadix sort presentation
Radix sort presentation
 
Radix Sort
Radix SortRadix Sort
Radix Sort
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Radix sorting
Radix sortingRadix sorting
Radix sorting
 

Último

SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----AdministracionSSTGru
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESMAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESjhosselinvargas
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdferick82709
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmáncesarguzmansierra751
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347vd110501
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......dianamontserratmayor
 

Último (20)

SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESMAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdf
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmán
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......
 

Exposicion _bucket _sort

  • 1. República Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental de la Fuerza Armada Mérida estado Mérida. Asignatura: Lenguaje de Programación II Método de Ordenamiento Bucket sort (casilleros) Bachilleres: Segovia Leon Roxana K C.I 21.154.201 Suarez Luengas Adriana C.I 19.383.918 Avila Carlos C.I 18.924.112 IST-5S-D01 Prof: Javier Rivera Mérida 06 de abril del 2015
  • 2. Método de ordenamiento Bucket sort (casilleros) Historia Herman Hollerith (feb. 29, 1860 hasta nov. 17, 1929) es el primero conocido por haber generado un algoritmo similar a la Base de ordenación. Era hijo de inmigrantes alemanes, nació en Buffalo, Nueva York y fue un Estadístico del Censo. Él desarrolló una perforadora de tarjetas Tabulating Machine. Hollerith formó la empresa Tabulating Machine en 1896. La compañía se fusionó con nternational Time Recording Company y Computing Scale Company para formar equipo Tabulating Recording Company (CTR) en 1911. CTR fue el predecesor de IBM. CTR cambió su nombre a International Business Machines Corporation en 1924. Hollerith se desempeñó como ingeniero de consultoría con el CTR hasta su retiro en1921. Hay referencias a Harold H. Seward, un científico de la computación, como el desarrollador de Radix sort en 1954.
  • 3. Método de ordenamiento Bucket sort (casilleros) Definicion El ordenamiento por casilleros (bucket sort en inglés) es un algoritmo de ordenamiento que distribuye todos los elementos a ordenar entre un número finito de casilleros. Cada casillero sólo puede contener los elementos que cumplan unas determinadas condiciones. . Las condiciones deben ser excluyentes entre sí, para evitar que un elemento pueda ser clasificado en dos casilleros distintos. Después cada uno de esos casilleros se ordena individualmente con otro algoritmo de ordenación (que podría ser distinto según el casillero). El algoritmo contiene los siguientes pasos:  Crear una colección de casilleros vacíos  Colocar cada elemento a ordenar en un único casillero  Ordenar individualmente cada casillero  Devolver los elementos de cada casillero concatenados por orden
  • 4.
  • 5. Metodo de ordenamiento Bucket sort (casilleros) Algoritmo #include <iostream> #include <cola> using namespace std; const int INPUT_SIZE = 20; const int BUCKET_K = 10; impresión void (int * entrada) { for (int i = 0; i <INPUT_SIZE; i ++) cout << entrada [i] << ""; cout << endl; }
  • 6. int almohadilla (int n) { volver n / 5; } void (int len int * entrada) doinsertionsortforbucket​​ { while (len--> 0) { si (entrada [len]> Entrada [len + 1]) { int tmp = entrada [len]; entrada [len] = entrada [len + 1]; entrada [len + 1] = tmp; } Else volver; } } vacío bucketsort (int * entrada) { cola <int> * cubos [BUCKET_K]; for (int i = 0; i <BUCKET_K; i ++) cubos [i] = new queue <int>;
  • 7. // Hash la entrada e insertar el contenido en el cubo adecuado en función de hash. for (int i = 0; i <INPUT_SIZE; i ++) { int hashValue = almohadilla (entrada [i]); si (hashValue> = BUCKET_K) hashValue = BUCKET_K-1; cubos [hashValue] -> empuje (entrada [i]); } // Extraer el contenido de cada uno de los cubos en orden. // Usando la ordenación por inserción int outputidx = 0; for (int i = 0; i <BUCKET_K; i ++) { si (baldes [i] -> size () == 1) { de entrada [outputidx ++] = cubos [i] -> frontal (); cout << cubos [i] -> frontal () << "|"; cubos [i] -> pop (); } si (baldes [i] -> size ()> 1) { while (! cubos [i] -> empty ())
  • 8. { de entrada [outputidx] = cubos [i] -> frontal (); doinsertionsortforbucket (entrada, outputidx); cout << cubos [i] -> frontal () << ""; cubos [i] -> pop (); outputidx ++; } cout << "|"; } } // cubos transparentes. for (int i = 0; i <BUCKET_K; i ++) eliminar cubos [i]; } int main () { int entrada [INPUT_SIZE] = {25, 44, 13, 34, 27, 11, 4, 9, 45, 33, 27, 28, 42, 6, 49, 31, 37, 23, 14, 41}; cout << "Input:"; print (entrada); cout << "lista bucketed:"; bucketsort (entrada); cout << " nOutput:"; print (entrada); return 0;
  • 9. salida De entrada: 25 44 13 34 27 11 4 9 45 33 27 28 42 6 49 31 37 23 14 41 Lista bucketed: 4 | 9 6 | 13 11 14 | 23 | 25 27 27 28 | 34 33 31 | 37 | 44 42 41 | 45 49 | Salida: 4 6 9 11 13 14 23 25 27 27 28 31 33 34 37 41 42 44 45 49