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

9 big o-notation
9 big o-notation9 big o-notation
9 big o-notation
irdginfo
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
luzenith_g
 
Quick sort algorithn
Quick sort algorithnQuick sort algorithn
Quick sort algorithn
Kumar
 

La actualidad más candente (20)

Sparse matrix and its representation data structure
Sparse matrix and its representation data structureSparse matrix and its representation data structure
Sparse matrix and its representation data structure
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesDesign & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Merge sort
Merge sortMerge sort
Merge sort
 
Quick sort
Quick sortQuick sort
Quick sort
 
Algorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms IAlgorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms I
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
RABIN KARP ALGORITHM STRING MATCHING
RABIN KARP ALGORITHM STRING MATCHINGRABIN KARP ALGORITHM STRING MATCHING
RABIN KARP ALGORITHM STRING MATCHING
 
9 big o-notation
9 big o-notation9 big o-notation
9 big o-notation
 
Merge sort
Merge sortMerge sort
Merge sort
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
Pilas en Java
Pilas en JavaPilas en Java
Pilas en Java
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Divide and Conquer - Part 1
Divide and Conquer - Part 1Divide and Conquer - Part 1
Divide and Conquer - Part 1
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Data structures & algorithms lecture 3
Data structures & algorithms lecture 3Data structures & algorithms lecture 3
Data structures & algorithms lecture 3
 
Quick sort algorithn
Quick sort algorithnQuick sort algorithn
Quick sort algorithn
 
Introduction to Machine Learning with Find-S
Introduction to Machine Learning with Find-SIntroduction to Machine Learning with Find-S
Introduction to Machine Learning with Find-S
 
Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad
 

Último

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
BRAYANJOSEPTSANJINEZ
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
susafy7
 
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
 

Último (20)

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 ...
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
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
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
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
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 
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)
 

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