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 ())