martes, 24 de octubre de 2017

MÉTODO POR CASILLEROS O BUCKET SORT


Es un algoritmo de ordenación que funciona dividiendo un vector en un número finito de recipientes. Cada recipiente es entonces ordenado individualmente. 

El ordenamiento por casilleros (bucket sort en inglés) es un algoritmo de ordenamiento que distribuye todos los elementos  n ha ordenar entre un número n 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 uno por uno con otro algoritmo de ordenación (para que distinto según el casillero), o se aplica recursividad en este algoritmo para obtener casilleros con menos elementos. Se trata de una generalización del algoritmo Pigeonhole sort (GeeksforGeeks, 2015). Cuando los elementos a ordenar están uniformemente distribuidos la complejidad computacional de este algoritmo es de O(n). (Serna, 2010).

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




        MÉTODO DE ORDENAMIENTO POR CASILLEROS O BUCKET SORT.
                                LISTAS DOBLES.

El método Bucket Sort en listas dobles, es un algoritmo que transformo para adecuarlo, correctamente con los siguientes pasos.

1.   Crear un arreglo de tipo nodo llamado Hash.
  • Donde se digita la lista.
  • Se declara un nodo que lo llamaremos Hash donde se contara con la tabla hash. 
2.   Romper cada nodo de la lista insertando en la tabla hash.

Cada elemento de la lista está en desorden si esta con elemento n, estos se rompe ya que compara si su parte siguiente está llena o si su parte anterior está llena,  se ubica en su posición la tabla hash. 

2.1.      Calcular la posición relativa dentro de la tabla hash.

Dentro de la tabla hash se ubica en su posición correspondiente, por medio de la llave así se ubica el elemento de la lista.  

2.2.      Cuál es el número más grande.

Por medio medio de este módulo se ubicá el número más grande de la lista así que este nos determina que tan grande es la tabla hash, se declara el método de ordenación Bucket Sort  se organiza el elemento mayor. 

2.3.      Divisiones sucesivas y extraer el modulo.

Cada división sucesiva se hace con el fin de saber el valor y para localizar la posición de la tabla hash. 

2.4.      Cuantos cifras significativas.

Con cada cifra significativa se posiciona en la tabla hash este hace la operación del MOD. 

3.   Ordenar las sub-listas.

En este paso es uno, de los mas importante ya que se utiliza otro métodos de ordenamiento en este caso se toma a el método Merge Sort para que los ordene internamente las posiciones en la lista.

4.   Recoger los nodos.


Por ultimo este recoge los nodos y las lista para dar una posición final a cada elemento de la lista he evitar colisiones entre los  numero, por  ejemplo si los números son iguales.


Estos son los pasos que se realizaron para tener obtener el resultado final.

  1.   Se coloca los elementos a ordenar en la tabla hash.



2. Coloca los elementos correspondientes en la tabla hash por orden de su valor.




3. Ordena cada elemento con su valor adecuada y cada uno de ellos se coloca en la posición final.



4. Cada elemento toma su posición final


    




BIBLIOGRAFÍA


Serna C., Andrés F. (2010). Bucket Sort, Algoritmos de ordenamiento. Obtenido en: https://upcanalisisalgoritmos.wikispaces.com/file/view/Bucket+Sort+AO.pdf

GeeksforGeeks.,(2015). Pigeonhole Sort, Noida Uttar Pradesh. India. Algoritmos de ordenamiento, Obtenido en: http://www.geeksforgeeks.org/about/contact-us/.


1 comentario: