bucket sort

12
República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Defensa Universidad Nacional Experimental Politécnica De Las Fuerzas Armadas Unefa Edo Mérida Integrantes Jhoandry rujano ci 20940607 jesennia sanchez ci 19934333 Eidy peña ci 23727031 Gleudys parra ci 20573132

Transcript of bucket sort

Page 1: bucket sort

República Bolivariana De Venezuela

Ministerio Del Poder Popular Para La Defensa

Universidad Nacional Experimental Politécnica De Las Fuerzas Armadas

Unefa

Edo Mérida

Integrantes

Jhoandry rujano ci

20940607

jesennia sanchez ci

19934333

Eidy peña ci

23727031

Gleudys parra ci

20573132

Page 2: bucket sort

Método de ordenamientoBUCKET SORT

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.

Mejor conocido como El ordenamiento por casilleros

Page 3: bucket sort

EJEMPLO

29 4 10 9 30 7 17 22 21 5

4 ,9,

7, 5

10,17 29,22,

21

30

Del

0-9

Del

10-19

Del

20-29

Del

30

4

5

7

9

10

17

21

22

29

30

4 5 7 9 10 17 21 22 29 30

Page 4: bucket sort

también se puede decir que (BUSKET SORT) tiene variantes conocidoa como algoritmo del cartero

es una variante del bucketsort utilizada cuando los elementos a ordenar disponen de varias claves y/o subclaves.

El nombre de este algoritmo viene del ejemplo de las oficinas postales; allí cuando hay que clasificar una carta para que llegue a su destino primero se clasifica según el país de destino, luego la ciudad o la región, después según la calle o el barrio de destino, etc. Es decir, este algoritmo utiliza varias claves para hacer ordenamientos sucesivos

Page 5: bucket sort

Ordenamiento interno

• Se lleva a cabo completamente en memoria principal. Todos los objetos que se ordenan caben en la memoria principal de la computadora

Tipos de ordenamiento

Page 6: bucket sort

VENTAJAS:

Según reinosa “barbagallo” un

ordenamiento se considera estable si

mantiene el orden relativo que tenían

originalmente los elementos con claves

iguales. Si se tienen dos registros A y B con

la misma clave en la cual A aparece primero

que B, entonces el método se considera

estable cuando A aparece primero que B en

el archivo ordenado.

Es estable, cuando existen claves

iguales se preserva el orden existente.

Las claves son enteros, permite ordenar

valores directos en un rango determinado.

Este algoritmo es eficiente cuando la

cantidad de casilleros es menor a la

cantidad de claves.

El tiempo para clasificar los elementos

es constante, las claves repetidas

ingresan en un mismo casillero, no se

hace comparaciones entre claves.

Page 7: bucket sort

DESVENTAJAS:

El tiempo para clasificar los elementos en el

peor de los casos es 0(n log n), usualmente

esto no ocurre, sin embargo podría suceder.

El algoritmo no funciona de manera

correcta cuando las claves son muy

largas, como el tiempo de clasificación

total es proporcional a la longitud de la

clave y el número de elementos a

ordenar.

No es eficiente cuando la cantidad de

casilleros es mayor a la cantidad de

claves, tampoco cuando el rango es

desconocido. Por ejemplo si un arreglo

(array en ingles) posee 800 enteros de

cualquier valor este algoritmo no

trabajara de manera eficiente.

Estos algoritmos necesitan una gran

cantidad d memoria extra, en ocasiones se

requiere memoria extra, los algoritmos “in

situ” son los que necesitan memoria extra

pequeña y constante, al contrario de estos

que no son “in situ”, cuando transforman

las estructuras de datos necesita gran

cantidad de memoria extra.

Page 8: bucket sort

El algoritmo contiene los siguientes pasos:

1. Crear una colección de casilleros vacíos

2. Colocar cada elemento a ordenar en un único casillero

3. Ordenar individualmente cada casillero

4. Devolver los elementos de cada casillero concatenados por orden

3 9 21 25 29 37 43 49

Page 9: bucket sort

EXPLICACIÓN DE FUNCIONAMIENTO

1) Se tiene que

tener previamente

los datos que se van

a ordenar en un

vector

2) Se codifican los

casilleros que se desean

utilizar y sus intervalos

3) Se establecen los

condiciones o reglas

que deben cumplir

cada valor para estar

en un determinado

casillero

4) Se ordena cada casillero

por separado.

5) Se asignan nuevamente los

valores al vector original

Page 10: bucket sort

Algoritmo de Bucket Sort

Page 11: bucket sort

PSEUDOCÓDIGO

Aquí elementos es el vector a ordenar y n el número de casilleros que

queremos usar. Para buscar el casillero adecuado para asignar un valor se

puede utilizar la técnica que más convenga, según cómo queramos

ordenar los datos.

Page 12: bucket sort