1. ESTRUCTURAS DE DATOS
UNIDAD 7 ORDENACIÓN EXTERNA
ALGORITMOS DE ORDENACIÓN EXTERNA
Los sistemas de procesamiento manipulan normalmente una gran cantidad de información.
En estos casos los datos se almacenan sobre soportes de almacenamiento masivo (discos
magnéticos y medios ópticos).
Los métodos más comunes para ordenar datos en dispositivos de memoria secundaria son el
método de Mezcla Directa y el de Mezcla Natural.
Los métodos de ordenación externa se realizan mediante dos operaciones básicas: La
Partición y la Fusión.
La Partición de un archivo consiste en repartir los registros del archivo en dos o más
archivos en función de una determinada condición. Existen diversos métodos para producir
particiones a partir de un archivo no ordenado como la Clasificación Interna, por Contenido,
Selección por Sustitución y por Secuencias.
La Fusión o mezcla de archivos consiste en reunir en un archivo, los registros de dos o más
archivos ordenados por un campo clave. El archivo resultante será un archivo ordenado por
el campo antes mencionado.
MÉTODO DE INTERCALACIÓN O MEZCLA DIRECTA
Este método consiste en una partición sucesiva del archivo y una fusión que produce
secuencias ordenadas. La primera partición se hace para secuencias de longitud 1 y la fusión
producirá secuencias ordenadas de longitud 2. A cada nueva partición se duplicará la longitud
de las secuencia ordenadas y de igual manera sucederá en cada fusión. El método termina
cuando la longitud de la secuencia ordenada excede la longitud del archivo a ordenar.
Ejemplo:
Archivo origen
F:19, 27, 2, 8, 36, 5, 20, 15, 6
Partición: Con secuencia de longitud 1:
A1: [ 19 ], [ 2 ], [ 36 ], [ 20 ], [ 6]
A2: [27 ], [ 8 ], [ 5 ], [ 15]
Fusión: Produce secuencia ordenada de long. 2:
F: [19, 27], [2, 8], [5, 36],[15, 20], [ 6 ]
1
2. ESTRUCTURAS DE DATOS
Partición: Con secuencia de long. 2:
A1: [19, 27], [5, 36], [ 6 ]
A2: [2, 8], [15, 20]
Fusión: Produce secuencia ordenada de long. 4:
F: [2, 8, 19, 27] , [5, 15, 20, 36], [ 6 ]
Partición: Con secuencia de long. 4:
A1: [2, 8, 19, 27], [ 6]
A2: [5, 15, 20, 36]
Fusión: Produce secuencia ordenada de long. 8:
F:[2, 5, 8, 15, 19, 20, 27, 36], [ 6]
Partición: Con secuencia de long. 8:
A1: [2, 5, 8, 15, 19, 20, 27, 36]
A2:[6 ]
Fusión: Produce secuencia ordenada de long. 16:
F: [2, 5, 6, 8, 15, 19, 20, 27, 36]
La longitud de la secuencia ordenada excede al total de elementos del archivo y el proceso
termina.
2
3. ESTRUCTURAS DE DATOS
MÉTODO DE MEZCLA NATURAL
Este método es de los más recomendables para la ordenación de archivos secuenciales,
consiste en aprovechar la posible ordenación interna de las secuencia de un archivo
obteniendo con ellas particiones ordenadas de longitud variable sobre 2 ficheros o archivos
auxiliares. A partir de estos 2 archivos auxiliares se escribe un nuevo archivo mezclando los
segmentos crecientes de cada uno de ellos.
Ejemplo:
Archivo origen.
F: 19, 27, 2,8, 36, 5 , 20, 15, 6
Partición:
A1: [19, 27], [5, 20], [6]
A2 : [2, 8, 36],[15]
Fusión:
F: 2 , 8, 19, 27, 36, 5, 15,20, 6
Partición:
A1: [ 2, 8, 19, 27, 36],[6]
A2: [5, 15, 20]
Fusión:
F: 2, 5, 8, 15, 19, 20, 27, 36, 6
Partición:
A1: [2, 5, 8, 15, 19, 20, 27, 36]
A2: [6]
Fusión:
F: 2, 5, 6, 8, 15, 19, 20, 27, 36,
3