Quicksort12

12
Quicksort Programación Avanzada. Víctor Galmichi Patricia Hinojosa Uries Benítez Luis Gilberto Ignacio Pineda C++

Transcript of Quicksort12

Page 1: Quicksort12

QuicksortProgramación Avanzada.

Víctor GalmichiPatricia Hinojosa

Uries BenítezLuis Gilberto

Ignacio Pineda

C++

Page 2: Quicksort12

¿Qué es?Es un algoritmo basado en la

técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log

n.

Page 3: Quicksort12

¿Cómo funciona?De los valores que introducirá el usuario por

ejemplo:

55 32 78 64 25 15 45

I D P

ZQUIERDA IVOTEERECHA

Page 4: Quicksort12

De tus datos

55 32 78 64 25 15 45

Se va a comparar de la siguiente manera:

45 con el 55 y a su vez con el 15

Page 5: Quicksort12

Nos queda que:

45<55 y 45>15Esto es:

15 32 78 64 25 55 45

Izquierda

Derecha Pivote

Page 6: Quicksort12

Después avanzara I por la derecha y D por la izquierda y quedara esto:

15 32 78 64 25 55 45

Y se hace el mismo ciclo o procedimiento hasta obtener las cadenas :D

Izquierda Derecha

Pivote

Page 7: Quicksort12

Las cadenas nos quedaran así:

CADENA 1 15 32 25

CADENA 2 78 55 64

PIVOTE 45

Page 8: Quicksort12

Tomamos la primer cadena y hacemos la comparación

15 32 25Esto es:

15<25 avanza por la izquierda y 32>25 avanzaremos por la derecha y nos quedara:

15 25 32

Page 9: Quicksort12

De igual forma se ordena la cadena 2

Page 10: Quicksort12

Teniendo las cadenas ordenadas

15 25 32 45 55 64 78

Cadena 1 Pivote Cadena 2

Page 11: Quicksort12

El gra

n

resu

ltad

o

15 25 32 45 55 64 78