Está en la página 1de 9

ESTRUCTURA DE DATOS.

Ing. Miryam Cosme Felix


CAPACIDAD
Aplica Recursividad en la construcción
de Programas

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

Selecciona A[1], por lo tanto x 15


Las comparaciones que se realizan son las siguientes: Recorrido de derecha a izquierda
A[8]≥x (35≥15) no hay intercambio
Primera pasada:
A[7]≥x (12≥15) si hay intercambio

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:

Primera pasada: Recorrido de izquierda a derecha


A[2] ≤ x (67 ≤ 15) si hay intercambio

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

También podría gustarte