miércoles, 24 de septiembre de 2014

Algoritmo del método de ordenamiento QuickSort

Algoritmo del método de ordenamiento QuickSort

“Divide y vencerás”



Ejemplo:


  1. Selecciona un valor del arreglo como pivote es decir un numero por el cual todos los elementos van a ser comparados.
  2. Se realizan dos búsquedas: una de izquierda a derecha, buscando un elemento mayor que el pivote, y otra de derecha a izquierda, buscando un elemento menor que el pivote. Cuando se han encontrado los dos, se intercambian, y se sigue realizando la búsqueda hasta que las dos búsquedas se encuentran.
  3.  Luego se organizan los sub-arreglos que quedaron a mano derecha e izquierda.


Tenemos un arreglo que está definido con los valores {22, 40, 4,1 0, 12, 35} los pasos en quicksort para arreglarlo son los siguientes:
  1.  Se toma como pivote el numero 22 recuerden puede ser cualquier número.
  2.  La búsqueda de izquierda a derecha encuentra el valor 40 que es mayor a pivote y la búsqueda de derecha a izquierda encuentra el valor 35 no lo toma porque es mayor a el numero pivote (recuerden que la búsqueda de derecha a izquierda busca los menores) entonces continua y encuentra a 12 que es menor que el pivote y se intercambian el resultado sería {21,12,4,10,40,35}
  3.  Si seguimos la búsqueda la primera encuentra el valor 40, y la segunda el valor 10, pero ya se han cruzado, así que paramos. Para terminar la división, se coloca el pivote en su lugar el numero encontrado por la segunda búsqueda, el 10 quedando: {10,12,4,22,40,35}
  4. Ahora tenemos dividido el arreglo en dos arreglos más pequeños que son {10, 12, 4} y el {40,35}, y en ellos se repetirá el mismo proceso.



No hay comentarios:

Publicar un comentario