Quick sort - Estructura de Datos
-
Upload
dj-mada-tres-valles-veracruz -
Category
Education
-
view
1.495 -
download
4
description
Transcript of Quick sort - Estructura de Datos
Declaremos un arreglo de 9 posiciones con números aleatorios...
Guillermo Antonio Osorio Contreras (302-B)
QUICKSORT
QUICKSORT
El algoritmo del método de ordenamiento estará formado por tres procesos:
• QuickSort, proceso que inicia el ordenamiento.
• Encuentra Pivote, busca el mejor pivote a partir del primer elemento del vector
• Partición, va comparando por ambos extremos e intercambia en caso de ser necesario
QUICKSORT
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Declaramos el primer elemento del arreglo como primeroY al ultimo como ultimo.
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Primero Ultimo
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Primero Ultimo
Pivote
Declaramos el primero como el pivote del arreglo.
QUICKSORT
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Primero Ultimo
Up
Pivote 44
Down
Colocamos a Up como Primero y Down como Ultimo.
QUICKSORT
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Primero Ultimo
Up Down
Muevo Up al primer valor mayor que el pivote
Up
Despues movemos Down al primer valor de derecha a izquierdamenor que el pivote (en este caso Down no se mueve).
Pivote 44
QUICKSORT
44 75 23 43 55 12 64 77 33
1 2 3 4 5 6 7 8 9
Primero Ultimo
DownUp
Pivote 44
Ahora intercambiamos los valores de Up y Down
44 33 23 43 55 12 64 77 75
1 2 3 4 5 6 7 8 9
QUICKSORT
44 33 23 43 55 12 64 77 75
1 2 3 4 5 6 7 8 9
PrimeroDownUp
Pivote 44
Ultimo
Desde la posicion en que se encuentra movemos Up a un valor mayorque el pivote.
44 33 23 43 55 12 64 77 75
1 2 3 4 5 6 7 8 9
PrimeroDownUp
Ultimo
QUICKSORT
44 33 23 43 55 12 64 77 75
1 2 3 4 5 6 7 8 9
PrimeroUp UltimoDown
Cambiamos Down a la posicion menor que el pivote recorriendo deDerecha a Izquierda
Down
Pivote 44
QUICKSORT
44 33 23 43 55 12 64 77 75
1 2 3 4 5 6 7 8 9
PrimeroUp UltimoDown
Down
Pivote 44
Intercambiamos los valores de Up y Down…
44 33 23 43 12 55 64 77 75
1 2 3 4 5 6 7 8 9
QUICKSORT
44 33 23 43 12 55 64 77 75
1 2 3 4 5 6 7 8 9
Primero Up UltimoDown
Pivote 44
Movemos Up desde la posicion en que se encuetra a la primera posicion mayor que el pivote y Down a la primera posicion de derecha a Izquierda menor que el pivote.
44 33 23 43 12 55 64 77 75
1 2 3 4 5 6 7 8 9
Primero
Up Down Ultimo
QUICKSORT
Como Up y Down se cruzaron, entonces debemos intercambiar el valor de Down por el pivote.
12 33 23 43 44 55 64 77 75
1 2 3 4 5 6 7 8 9
Primero Down Ultimo
Pivote 44
PivIndex
Ahora notemos que todos los valores debajo de PivIndex son menores que el y los que estan por encima son mayores que el.
QUICKSORT
12 33 23 43 44 55 64 77 75
1 2 3 4 5 6 7 8 9
Primero 1 Ultimo 1
PivIndex
Esto nos da ahora dos nuevos subarreglos que hay que ordenar
Ultimo 2Primero 2
Se debe repetir el proceso hasta que los subarreglos estén ordenados, lo cual nos dará como resultado el arreglo ordenado.
QUICKSORT
Guillermo Antonio Osorio Contreras (302-B)
QUICKSORT