Quick sort - Estructura de Datos

14
Declaremos un arreglo de 9 posiciones con números aleatorios... Guillermo Antonio Osorio Contreras (302-B) QUICKSORT

description

Quick sort - Estructura de Datos

Transcript of Quick sort - Estructura de Datos

Page 1: Quick sort - Estructura de Datos

Declaremos un arreglo de 9 posiciones con números aleatorios...

Guillermo Antonio Osorio Contreras (302-B)

QUICKSORT

Page 2: Quick sort - Estructura de Datos

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

Page 3: Quick sort - Estructura de Datos

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

Page 4: Quick sort - Estructura de Datos

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

Page 5: Quick sort - Estructura de Datos

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

Page 6: Quick sort - Estructura de Datos

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

Page 7: Quick sort - Estructura de Datos

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

Page 8: Quick sort - Estructura de Datos

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

Page 9: Quick sort - Estructura de Datos

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

Page 10: Quick sort - Estructura de Datos

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

Page 11: Quick sort - Estructura de Datos

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

Page 12: Quick sort - Estructura de Datos

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

Page 13: Quick sort - Estructura de Datos

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

Page 14: Quick sort - Estructura de Datos

Guillermo Antonio Osorio Contreras (302-B)

QUICKSORT