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

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativosPatriciaDavila16
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externoFernando Solis
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Alejandro Claro Mosqueda
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Dj Mada - Tres Valles, Veracruz
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)Ronald Rivas
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoLutzo Guzmán
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 

La actualidad más candente (20)

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Algoritmo de dekker
Algoritmo de dekker Algoritmo de dekker
Algoritmo de dekker
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Interrupción - Informatica
Interrupción - InformaticaInterrupción - Informatica
Interrupción - Informatica
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 

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

CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfwduranteg
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfLucianaGomez67
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDaysonMillerAvilesAc1
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxMarcosAlvarezSalinas
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 

Último (20)

CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdf
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptx
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 

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