Sunteți pe pagina 1din 65

Universidad De Cuenca

Nombres:
David Valladares
Edisson Sigua
Pal Arvalo
Temas:
Ordenamientos Externos
Indice

1. Proyectos en GitHub
2. Ordenamiento por intercalacin DIRECTA
3. Ordenamiento por intercalacin NATURAL
4. Ordenamiento por intercalacin BALANCEADA
5. Ordenamiento por intercalacin POLIFSICA
Proyectos en GitHub

Intercalacin Directa y Natural


https://github.com/jeims17/IntercalacionDirectaNatural
Intercalacin Balanceada
https://github.com/jeims17/IntercalacionBalanceada
Intercalacin Polifsica
https://github.com/jeims17/IntercalacionPolifasica
ORDENAMIENTO POR INTERCALACIN
DIRECTA
Ordenamiento por Intercalacin Directa

Probablemente es el mtodo de ordenacin externa ms utilizado por su


fcil comprensin.

Su idea central est basada en la estrategia de hacer subdivisiones y


fusiones sucesivas de secuencias de tamao cada vez ms grande.

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

09 75 68 14 25 05 01
F:

F1:

F2:
Ejemplo

75 68 14 25 05 01
F:

F1: 09
F2:
Ejemplo

68 14 25 05 01
F:

F1: 09
F2:
75
Ejemplo

14 25 05 01
F:

F1: 09 68
F2:
75
Ejemplo

25 05 01
F:

F1: 09 68
F2:
75 14
Ejemplo

05 01
F:

F1: 09 68 25
F2:
75 14
Ejemplo

01
F:

F1: 09 68 25
F2:
75 14 05
Ejemplo

F:

F1: 09 68 25 01
F2:
75 14 05
Ejemplo

09 75
F:

F1: 68 25 01
F2:
14 05
Ejemplo

09 75 14 68
F:

F1: 25 01
F2:
05
Ejemplo

09 75 14 68 05 25
F:

F1: 01
F2:
Ejemplo

09 75 14 68 05 25 01
F:

F1:

F2:
Ejemplo

14 68 05 25 01
F:

F1: 09 75
F2:
Ejemplo

05 25 01
F:

F1: 09 75
F2:
14 68
Ejemplo

01
F:

F1: 09 75 05 25
F2:
14 68
Ejemplo

F:

F1: 09 75 05 25
F2:
14 68 01
Ejemplo

09 14 68 75
F:

F1: 05 25
F2:
01
Ejemplo

09 14 68 75 01 05 25
F:

F1:

F2:
Ejemplo

01 05 25
F:

F1: 09 14 68 75
F2:
Ejemplo

F:

F1: 09 14 68 75
F2:
01 05 25
Ejemplo

01 05 09 14 25 68 75
F:

F1:

F2:
Archivos utilizados
Cdigo
ORDENAMIENTO POR INTERCALACIN
NATURAL
Ordenamiento por Intercalacin Natural

Este ordenamiento es una optimizacin del algoritmo de intercalacin


directa.

La idea central de este ordenamiento consiste en realizar las particiones


tomando secuencias ordenadas de tamao mximo 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 vaco.
Ejemplo

09 15 64 20 15 30 01
F:

F1:

F2:
Ejemplo

20 15 30 01
F:

F1: 09 15 64
F2:
Ejemplo

15 30 01
F:

F1: 09 15 64
F2:
20
Ejemplo

01
F:

F1: 09 15 64 15 30
F2:
20
Ejemplo

F:

F1: 09 15 64 15 30
F2:
20 01
Ejemplo

09 15 20 64
F:

F1: 15 30
F2:
01
Ejemplo

09 15 20 64 01 15 30
F:

F1:

F2:
Ejemplo

01 15 30
F:

F1: 09 15 20 64
F2:
Ejemplo

F:

F1: 09 15 20 64
F2:
01 15 30
Ejemplo

01 09 15 15 20 30 64
F:

F1:

F2:
Ejemplo

F:

F1: 01 09 15 15 20 30 64
F2:
Archivos utilizados
Cdigo
ORDENAMIENTO POR INTERCALACIN
BALANCEADA
Mtodo de Intercalacin Balanceada

Realizar particiones tomando secuencias ordenadas de mxima longitud en


lugar de secuencias ordenadas de tamao fijo previamente determinadas.

La mezcla equilibrada mltiple 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
(separacin, fusin) de los algoritmos mezcla directa y fusin natural.
Pasos

1. Distribuir registros del archivo original por tramos en los m/2 primeros
archivos auxiliares. A continuacin, 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.
Ejemplo

15 3 7 19 9 18 18 9 7 1

15

3 7 19

9 18 18
Ejemplo

9 7 1

15 9

3 7 19 7

9 18 18 1
15 9 Inactivo
3 7 19 7 Inactivo
9 18 18 1 Inactivo
3 7 9 15 18 18 19

1 7 9
1 3 7 7 9 9 15 18 18 19

3 7 9 15 18 18 19

1 7 9
Archivos Utilizados
Interfaz de cdigo
Interfaz de cdigo
Interfaz de cdigo
ORDENAMIENTO POR INTERCALACIN
POLIFSICA
Mtodo Ordenamiento Polifsico

En este mtodo 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 contendrn la


informacin para realizar el ordenamiento

Archivos de Salida: Los archivos de Salida son aquellos en donde se


guardarn los registros.
Ejemplo de Mezcla Polifsica

Datos Esenciales

Nmero de Archivos Auxiliares : 3 ---> m

2 Archivos de Entrada ---> m - 1

1 Archivo de Salida ---> Restante

Salida Salida Entrada


Proceso 1 Distribucin de los Registros

El primer paso para realizar el ordenamiento es la de distribucin de los


registros del ArchivoOriginal a los archivos auxiliares que
posteriormente entrada.

Con ello conseguimos 2 objetivos

El distribuir los registros del ArchivoOriginal a los archivos auxiliares que posteriormente
sern de entrada, de forma no uniforme

Obtener el nmero de tramos para realizar el ordenamiento.

Para este ejemplo en concreto supongamos que el nmero de Tramos sea


Paso 2 Proceso

34 Archivos de Entrada
21
Archivos de Salida
0

13 Archivos de Entrada
0

21 Archivos de Salida
Proceso
13 Archivos de Entrada
21

0 Archivos de Salida

0 Archivos de Entrada
8

13 Archivos de Salida
Proceso
13 Archivos de Entrada
8

0 Archivos de Salida

5 Archivos de Entrada
0

8 Archivos de Salida
Proceso
5 Archivos de Entrada
8

0 Archivos de Salida

0 Archivos de Entrada
3

5 Archivos de Salida
Proceso
5 Archivos de Entrada
3

0 Archivos de Salida

2 Archivos de Entrada
0

3 Archivos de Salida
Proceso
2 Archivos de Entrada
3

0 Archivos de Salida

0 Archivos de Entrada
1

2 Archivos de Salida
Proceso
2 Archivos de Entrada
1

0 Archivos de Salida

1 Archivos de Entrada
0

1 Archivos de Salida