Quicksort12
Transcript of Quicksort12
QuicksortProgramación Avanzada.
Víctor GalmichiPatricia Hinojosa
Uries BenítezLuis Gilberto
Ignacio Pineda
C++
¿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.
¿Cómo funciona?De los valores que introducirá el usuario por
ejemplo:
55 32 78 64 25 15 45
I D P
ZQUIERDA IVOTEERECHA
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
Nos queda que:
45<55 y 45>15Esto es:
15 32 78 64 25 55 45
Izquierda
Derecha Pivote
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
Las cadenas nos quedaran así:
CADENA 1 15 32 25
CADENA 2 78 55 64
PIVOTE 45
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
De igual forma se ordena la cadena 2
Teniendo las cadenas ordenadas
15 25 32 45 55 64 78
Cadena 1 Pivote Cadena 2
El gra
n
resu
ltad
o
15 25 32 45 55 64 78