Universidad De Cuenca
Nombres:
David Valladares
Edisson Sigua
Paúl Arévalo
Temas:
Ordenamientos Externos
Indice
1.Proyectos en GitHub
2.Ordenamiento por intercalación DIRECTA
3.Ordenamiento por intercalación NATURAL
4.Ordenamiento por intercalación BALANCEADA
5.Ordenamiento por intercalación POLIFÁSICA
Proyectos en GitHub
Intercalación Directa y Natural
https://github.com/jeims17/IntercalacionDirectaNatural
Intercalación Balanceada
https://github.com/jeims17/IntercalacionBalanceada
Intercalación Polifásica
https://github.com/jeims17/IntercalacionPolifasica
ORDENAMIENTO POR INTERCALACIÓN
DIRECTA
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.
Ejemplo
F:
F1:
F2:
09 75 0568 012514
Ejemplo
F:
F1:
F2:
75 0568 012514
09´
Ejemplo
F:
F1:
F2:
0568 012514
09´
75´
Ejemplo
F:
F1:
F2:
05 012514
09´ 68´
75´
Ejemplo
F:
F1:
F2:
05 0125
09´ 68´
75´ 14´
Ejemplo
F:
F1:
F2:
05 01
09´ 68´ 25´
75´ 14´
Ejemplo
F:
F1:
F2:
01
09´ 68´ 25´
75´ 14´ 05´
Ejemplo
F:
F1:
F2:
09´ 68´ 25´ 01´
75´ 14´ 05´
Ejemplo
F:
F1:
F2:
09 75´
68´ 25´ 01´
14´ 05´
Ejemplo
F:
F1:
F2:
09 75´ 14 68´
25´ 01´
05´
Ejemplo
F:
F1:
F2:
09 75´ 25´14 0568´
01´
Ejemplo
F:
F1:
F2:
09 75´ 25´14 01´0568´
Ejemplo
F:
F1:
F2:
25´14 01´0568´
09 75´
Ejemplo
F:
F1:
F2:
25´ 01´05
09 75´
14 68´
Ejemplo
F:
F1:
F2:
01´
09 75´ 05 25´
14 68´
Ejemplo
F:
F1:
F2:
09 75´ 05 25´
14 68´ 01´
Ejemplo
F:
F1:
F2:
09 14 68 75´
05 25´
01´
Ejemplo
F:
F1:
F2:
09 14 0568 25´0175´
Ejemplo
F:
F1:
F2:
05 25´01
09 14 68 75´
Ejemplo
F:
F1:
F2:
09 14 68 75´
01 05 25´
Ejemplo
F:
F1:
F2:
01 05 6809 75´2514
Archivos utilizados
Código
ORDENAMIENTO POR INTERCALACIÓN
NATURAL
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.
Ejemplo
F:
F1:
F2:
09 15 3064 011520
Ejemplo
F:
F1:
F2:
30 011520
09 15 64
Ejemplo
F:
F1:
F2:
30 0115
09 15 64´
20´
Ejemplo
F:
F1:
F2:
01
09 15 64´ 30´15
20´
Ejemplo
F:
F1:
F2:
09 15 64´ 30´15
20´ 01´
Ejemplo
F:
F1:
F2:
09 15 20 64´
30´15
01´
Ejemplo
F:
F1:
F2:
09 15 1520 30´0164´
Ejemplo
F:
F1:
F2:
15 30´01
09 15 20 64´
Ejemplo
F:
F1:
F2:
09 15 20 64´
01 15 30´
Ejemplo
F:
F1:
F2:
01 09 3015 64´2015
Ejemplo
F:
F1:
F2:
01 09 3015 64´2015
Archivos utilizados
Código
ORDENAMIENTO POR INTERCALACIÓN
BALANCEADA
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.
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.
Ejemplo
15 3 187 18919 9 7 1
3 7 19
15
9 18 18
Ejemplo
9 7 1
3 7 19
15 9
9 18 18
7
1
1 7 9
3 7 189 191815
3 7 19
15 9
9 18 18
7
1
Inactivo
Inactivo
Inactivo
1 7 9
3 7 189 191815
1 3 97 159 18 18 197
Archivos Utilizados
Interfaz de código
Interfaz de código
Interfaz de código
ORDENAMIENTO POR INTERCALACIÓN
POLIFÁSICA
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.
Ejemplo de Mezcla Polifásica
Datos Esenciales
Número de Archivos Auxiliares : 3 ---> m
2 Archivos de Entrada ---> m - 1
1 Archivo de Salida ---> Restante
Salida Salida Entrada
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 objetivos
El 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
Paso 2 Proceso
34
21
0
Archivos de Entrada
Archivos de Salida
13
0
21
Archivos de Entrada
Archivos de Salida
Proceso
13
21
0
Archivos de Entrada
Archivos de Salida
0
8
13
Archivos de Entrada
Archivos de Salida
Proceso
13
8
0
Archivos de Entrada
Archivos de Salida
5
0
8
Archivos de Entrada
Archivos de Salida
Proceso
5
8
0
Archivos de Entrada
Archivos de Salida
0
3
5
Archivos de Entrada
Archivos de Salida
Proceso
5
3
0
Archivos de Entrada
Archivos de Salida
2
0
3
Archivos de Entrada
Archivos de Salida
Proceso
2
3
0
Archivos de Entrada
Archivos de Salida
0
1
2
Archivos de Entrada
Archivos de Salida
Proceso
2
1
0
Archivos de Entrada
Archivos de Salida
1
0
1
Archivos de Entrada
Archivos de Salida

Algoritmos intercalación