Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Estructuras de Datos I Ordenamientos Recursivos Mezcla [Merge Sort] Recursivo Basado en INTERCALACION 1 3 43 23 2 69 2 93 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 2 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 23 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 23 43 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 93 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 93 Mezcla [Merge Sort] Intercalación 1 3 43 23 2 69 2 93 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 2 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 43 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 93 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 93 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x 1 3 43 23 2 69 2 93 1 2 3 2 23 69 43 93 Mezcla [Merge Sort] Intercalación i J ei m ed m + 1 x i = extIzq, J = medio + 1, x = extDer Mientras i <= medio AND J <= extDer mientras i <= medio AND temp[i] <= temp[J] data[x] = temp[i] i = i +1, x = x + 1 fin mientras ¿i <= medio? Si: mientras J <= extDer y temp[J] <= temp[i] data[x] = temp[J] J = J + 1, x = x + 1 fin mientras Fin mientras Mientras i <= medio data[x] = temp[i] i = i +1, x = x +1 Fin mientras Mientras J <= extDer data[x] = temp[j] J = J + 1, x = x +1 Fin mientras 3 2 43 169 1 87 13 32 3 2 43 169 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 ? 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 1 13 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 1 13 87 32 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 1 13 87 32 32 87 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 1 13 87 32 32 87 1 13 32 87 3 2 43 169 1 87 13 32 3 2 43 169 1 87 13 32 3 2 43 169 3 2 3 2 169 43 43 169 2 3 43 169 1 13 87 32 1 13 1 13 87 32 32 87 1 13 32 87 1 2 3 13 32 43 87 169 “Divide y vencerás” MergeSort Recursivo Estilo: “Divide y vencerás” Función: mezcla() Recibe: data[ ], extIzq, extder Regresa: nada ¿extIzq >= extDer? Si: terminar medio = (extIzq + extDer) / 2 llamar: mezcla(data, extIzq, medio) llamar: mezcla(data, medio + 1, extDer) Criterio de paro “Divide y vencerás” Temp[extIzq … extIzq] = data[extIzq … extDer] i = extIzq, J = medio + 1, x = extDer Mientras i <= medio AND J <= extDer mientras i <= medio AND temp[i] <= temp[J] data[x] = temp[i] i = i +1, x = x + 1 fin mientras ¿i <= medio? Si: mientras J <= extDer y temp[J] <= temp[i] data[x] = temp[J] J = J + 1, x = x + 1 fin mientras Fin mientras Intercalación Mientras i <= medio data[x] = temp[i] i = i +1, x = x +1 Fin mientras Mientras J <= extDer data[x] = temp[j] J = J + 1, x = x +1 Fin mientras A A
Compartir