Algoritmos intercalación

65
Universidad De Cuenca Nombres: David Valladares Edisson Sigua Paúl Arévalo Temas: Ordenamientos Externos

Transcript of Algoritmos intercalación

Page 1: Algoritmos intercalación

Universidad De CuencaNombres:

David ValladaresEdisson SiguaPaúl Arévalo

Temas: Ordenamientos Externos

Page 2: Algoritmos intercalación

Indice

1.Proyectos en GitHub2.Ordenamiento por intercalación DIRECTA3.Ordenamiento por intercalación NATURAL4.Ordenamiento por intercalación BALANCEADA5.Ordenamiento por intercalación POLIFÁSICA

Page 3: Algoritmos intercalación

Proyectos en GitHub

Intercalación Directa y Naturalhttps://github.com/jeims17/IntercalacionDirectaNatural

Intercalación Balanceadahttps://github.com/jeims17/IntercalacionBalanceada

Intercalación Polifásicahttps://github.com/jeims17/IntercalacionPolifasica

Page 4: Algoritmos intercalación

ORDENAMIENTO POR INTERCALACIÓN DIRECTA

Page 5: Algoritmos intercalación

Ordenamiento por Intercalación Directa

Probablemente es el método de ordenación externa más utilizado por su fácil comprensión.

Su idea central está basada en la estrategia de hacer subdivisiones y fusiones sucesivas de secuencias de tamaño cada vez más grande.

Este proceso se repite hasta que el número de pasadas sea la parte entera de ((n + 1)/2) siendo n el número de registros existentes en el archivo.

Page 6: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75 0568 012514

Page 7: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

75 0568 012514

09´

Page 8: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

0568 012514

09´

75´

Page 9: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

05 012514

09´ 68´

75´

Page 10: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

05 0125

09´ 68´

75´ 14´

Page 11: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

05 01

09´ 68´ 25´

75´ 14´

Page 12: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01

09´ 68´ 25´

75´ 14´ 05´

Page 13: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09´ 68´ 25´ 01´

75´ 14´ 05´

Page 14: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75´

68´ 25´ 01´

14´ 05´

Page 15: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75´ 14 68´

25´ 01´

05´

Page 16: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75´ 25´14 0568´

01´

Page 17: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75´ 25´14 01´0568´

Page 18: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

25´14 01´0568´

09 75´

Page 19: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

25´ 01´05

09 75´

14 68´

Page 20: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01´

09 75´ 05 25´

14 68´

Page 21: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 75´ 05 25´

14 68´ 01´

Page 22: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 14 68 75´

05 25´

01´

Page 23: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 14 0568 25´0175´

Page 24: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

05 25´01

09 14 68 75´

Page 25: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 14 68 75´

01 05 25´

Page 26: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01 05 6809 75´2514

Page 27: Algoritmos intercalación

Archivos utilizados

Page 28: Algoritmos intercalación

Código

Page 29: Algoritmos intercalación

ORDENAMIENTO POR INTERCALACIÓN NATURAL

Page 30: Algoritmos intercalación

Ordenamiento por Intercalación Natural

Este ordenamiento es una optimización del algoritmo de intercalación directa.

La idea central de este ordenamiento consiste en realizar las particiones tomando secuencias ordenadas de tamaño máximo en lugar de secuencias fijas. Luego se fusiona estas particiones en el archivo original.

Este ordenamiento se realiza hasta que uno de los archivos de las particiones queda vacío.

Page 31: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 15 3064 011520

Page 32: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

30 011520

09 15 64

Page 33: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

30 0115

09 15 64´

20´

Page 34: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01

09 15 64´ 30´15

20´

Page 35: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 15 64´ 30´15

20´ 01´

Page 36: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 15 20 64´

30´15

01´

Page 37: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 15 1520 30´0164´

Page 38: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

15 30´01

09 15 20 64´

Page 39: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

09 15 20 64´

01 15 30´

Page 40: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01 09 3015 64´2015

Page 41: Algoritmos intercalación

Ejemplo

F:

F1:

F2:

01 09 3015 64´2015

Page 42: Algoritmos intercalación

Archivos utilizados

Page 43: Algoritmos intercalación

Código

Page 44: Algoritmos intercalación

ORDENAMIENTO POR INTERCALACIÓN BALANCEADA

Page 45: Algoritmos intercalación

Método de Intercalación Balanceada

Realizar particiones tomando secuencias ordenadas de máxima longitud en lugar de secuencias ordenadas de tamaño fijo previamente determinadas.

La mezcla equilibrada múltiple utiliza m archivos auxiliares, de los que m/2 son de entrada y m/2 de salida.

El proceso de mezcla se realiza en una sola fase en lugar de las dos fases (separación, fusión) de los algoritmos mezcla directa y fusión natural.

Page 46: Algoritmos intercalación

Pasos

1.Distribuir registros del archivo original por tramos en los m/2 primeros archivos auxiliares. A continuación, estos se consideran archivos de entrada.

2.Mezclar tramos de los m/2 archivos de entrada y escribirlos consecutivamente en los m/2 archivos de salida.

3.Cambiar la finalidad de los archivos, los de entrada pasan a ser de salida y viceversa; repetir a partir del segundo paso hasta que quede un único tramo, entonces la secuencia está ordenada.

Page 47: Algoritmos intercalación

Ejemplo

15 3 187 18919 9 7 1

3 7 19

15

9 18 18

Page 48: Algoritmos intercalación

Ejemplo

9 7 1

3 7 19

15 9

9 18 18

7

1

Page 49: Algoritmos intercalación

1 7 9

3 7 189 191815

3 7 19

15 9

9 18 18

7

1

Inactivo

InactivoInactivo

Page 50: Algoritmos intercalación

1 7 9

3 7 189 191815

1 3 97 159 18 18 197

Page 51: Algoritmos intercalación

Archivos Utilizados

Page 52: Algoritmos intercalación

Interfaz de código

Page 53: Algoritmos intercalación

Interfaz de código

Page 54: Algoritmos intercalación

Interfaz de código

Page 55: Algoritmos intercalación

ORDENAMIENTO POR INTERCALACIÓN POLIFÁSICA

Page 56: Algoritmos intercalación

Método Ordenamiento Polifásico

En este método podemos ordenar “n” registros en m archivos auxiliares

m-1 Archivos de entrada

1 Archivo de Salida

Archivos de Entrada: Los archivos de entrada son aquellos que contendrán la información para realizar el ordenamiento

Archivos de Salida: Los archivos de Salida son aquellos en donde se guardarán los registros.

Page 57: Algoritmos intercalación

Ejemplo de Mezcla Polifásica

Datos EsencialesNúmero de Archivos Auxiliares : 3 ---> m

2 Archivos de Entrada ---> m - 1

1 Archivo de Salida ---> RestanteSalida Salida Entrada

Page 58: Algoritmos intercalación

Proceso 1 Distribución de los Registros

El primer paso para realizar el ordenamiento es la de distribución de los registros del “ArchivoOriginal” a los archivos auxiliares que posteriormente entrada.

Con ello conseguimos 2 objetivosEl distribuir los registros del “ArchivoOriginal” a los archivos auxiliares que

posteriormente serán de entrada, de forma no uniforme

Obtener el número de tramos para realizar el ordenamiento.

Para este ejemplo en concreto supongamos que el número de Tramos sea 55

Page 59: Algoritmos intercalación

Paso 2 Proceso34 21

0

Archivos de Entrada

Archivos de Salida

13 0

21

Archivos de Entrada

Archivos de Salida

Page 60: Algoritmos intercalación

Proceso13 21

0

Archivos de Entrada

Archivos de Salida

0 8

13

Archivos de Entrada

Archivos de Salida

Page 61: Algoritmos intercalación

Proceso13 8

0

Archivos de Entrada

Archivos de Salida

5 0

8

Archivos de Entrada

Archivos de Salida

Page 62: Algoritmos intercalación

Proceso5 8

0

Archivos de Entrada

Archivos de Salida

0 3

5

Archivos de Entrada

Archivos de Salida

Page 63: Algoritmos intercalación

Proceso5 3

0

Archivos de Entrada

Archivos de Salida

2 0

3

Archivos de Entrada

Archivos de Salida

Page 64: Algoritmos intercalación

Proceso2 3

0

Archivos de Entrada

Archivos de Salida

0 1

2

Archivos de Entrada

Archivos de Salida

Page 65: Algoritmos intercalación

Proceso2 1

0

Archivos de Entrada

Archivos de Salida

1 0

1

Archivos de Entrada

Archivos de Salida