Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICADOR
Construye programas aplicando
Metodología de Programación para
solucionar problemas del mundo real.
TEMÁTICA
Recursividad.
Ordenacion recursiva con QuickSort y MergeSort
Guia de ejercicios de laboratorio 02: Recursividad
ORDENACION RECURSIVA CON
QUICKSORT
Se basa en la técnica divide y vencerás, que consiste en ir subdividiendo el array en arrays más pequeños, y
ordenar éstos.
Para hacer esta división, se toma un valor del array como pivote, y se mueven todos los elementos menores que
este pivote a su izquierda, y los mayores a su derecha.
A continuación se aplica el mismo método a cada una de las dos partes en las que queda dividido el array.
Después de elegir el pivote se realizan dos búsquedas:
Una de izquierda a derecha, buscando un elemento mayor que el pivote
Otra de derecha a izquierda, buscando un elemento menor que el pivote.
Cuando se han encontrado los dos elementos anteriores, se intercambian, y se sigue realizando la búsqueda
hasta que las dos búsquedas se encuentran.
La implementación del método de ordenación Quicksort es claramente recursiva.
SUPONGA QUE DESEA ORDENAR LOS
ELEMENTOS QUE SE ENCUENTRAN EN EL
ARREGLO: A
1 2 3 4 5 6 7 8
15 67 8 16 44 27 12 35
1 2 3 4 5 6 7 8
12 67 8 16 44 27 15 35
SUPONGA QUE DESEA ORDENAR LOS
ELEMENTOS QUE SE ENCUENTRAN EN EL
ARREGLO: A
12 67 8 16 44 27 15 35
Selecciona A[1], por lo tanto x 15
Las comparaciones que se realizan son las siguientes:
12 15 8 16 44 27 67 35
SUPONGA QUE DESEA ORDENAR LOS
ELEMENTOS QUE SE ENCUENTRAN EN EL
ARREGLO: A
1 2 3 4 5 6 7 8
12 15 8 16 44 27 67 35
Segunda pasada:
Recorrido de derecha a izquierda
A[6]≥x (27≥15) no hay intercambio
A[5]≥x (44≥15) no hay intercambio
A[4]≥x (16≥15) no hay intercambio
A[3]≥x (08≥15) si hay intercambio
1 2 3 4 5 6 7 8
12 08 15 16 44 27 67 35
Como el recorrido de izquierda a derecha debería iniciarse en la misma posición
donde se encuentra el elemento X, el proceso termina ya que el elemento X se
encuentra en la posición correcta
1 2 3 4 5 6 7 8
12 08 15 16 44 27 67 35
Primer conjunto
Segundo conjunto
Como el recorrido de izquierda a derecha debería iniciarse en la misma posición
donde se encuentra el elemento X, el proceso termina ya que el elemento X se
encuentra en la posición correcta
1 2 3 4 5 6 7 8
12 08 15 16 44 27 67 35
1 2 3 4 5 6 7 8
12 08 15 16 35 27 44 67
1 2 3 4 5 6 7 8
12 08 15 16 27 35 44 67
1 2 3 4 5 6 7 8
08 12 15 16 27 35 44 67