2. INTRODUCCIÓN
• En algunas ocasiones nos encontramos en la
necesidad de utilizar memoria secundaria ya que la
memoria interna no da abasto a la cantidad de
información que se maneja.
• Se necesita aplicar nuevas técnicas de ordenación,
entre ellas se destaca MEZCLA.
• Mezclar significa combinar dos o más secuencias en
una sola secuencia por medio de una selección
repetida de componentes accesibles.
2
3. ORDENACIÓN EXTERNA
Utilizados para ordenar secuencias grandes de elementos, que
posiblemente no se pueden almacenar en memoria interna.
La ordenación externa es notablemente más demorada que los
algoritmos convencionales porque el tiempo que se tarda en leer
archivos para realizar la ordenación es mayor al tiempo que se
tarda en hacer la propia comparación.
La ordenación de objetos (registros) de un archivo mediante
archivos auxiliares se conoce como ordenación externa.
3
4. ESQUEMA DE ORDENAMIENTO EXTERNO
Utilizan el esquema de separación por tramos y fusión o mezcla.
Archivo Original Archivo Ordenado
Separación Mezcla
La variación de este esquema da origen a los diferentes métodos 4
5. MEZCLA DIRECTA
Método más simple de ordenación externa.
Utiliza el archivo original O y 2 auxiliares F1 y F2.
El proceso consiste:
• Separar los registros individualmente del archivo O en dos archivos F1 y F2
• Mezclar F1 y F2 formando pares ordenados que son escritos en O
• Separar los pares de registros de O en dos archivos F1 y F2
• Mezclar F1 y F2 formando cuádruplos ordenados que son escritos en O
• Se repiten los pasos de separación y mezcla. En cada paso de separación y mezcla se duplica el
tamaño de las subsecuencias mezcladas, así hasta que la longitud de la subsecuencia sea la que
tiene el archivo.
5
38. MEZCLA NATURAL
• Mejora el tiempo de ejecución de la mezcla directa.
• Introduce una variación respecto a la longitud de las secuencias
de registros.
• Mientras que la mezcla directa las secuencias de registros tienen
longitudes fijas que son múltiplos de dos: 1, 2, 4, 8, 16… en la
mezcla natural toma en cuenta secuencias más largas ya
ordenadas que también puedan mezclarse y dar lugar a otra
secuencia ordenada.
38
57. MEZCLA BALANCEADA
• Consiste en realizar particiones tomando secuencias ordenadas
de longitud máxima, en lugar de secuencias de tamaño fijo
previamente determinadas.
• Luego se realiza una fusión de las secuencias ordenadas, sobre
dos archivos.
• Se utilizan cuatro archivos, el primero es el archivo original y tres
archivos auxiliares
• De estos archivos, dos serán considerados de entrada y dos de
salida, de manera alternada, de esta forma se realiza un a fusión-
partición.
• El proceso térmica cuando en la realización de la fusión-partición
el segundo archivo quede vacío.
57
81. INTERCALACIÓN POLIFASE
Se trata de una intercalación de m vías que utiliza
2*m-1 archivos de entrada y 1 archivo de salida.
Las k- listas se distribuyen en archivos de entrada.
El primer archivo de entrada que queda sin
registros va a ser el archivo de salida y el archivo
de salida pasa a ser de entrada y así se va
repitiendo hasta que uno de los archivos tenga los
registros ordenados
81
82. La idea básica tras este método es aplicar una estrategia
mezclar hasta vaciar el archivo, utilizando archivos
auxiliares para almacenar el resultado parcial. Durante la
ejecución, el archivo de entrada y alguno de salida
intercambian papeles y siempre se tiene alguno vacío.
• 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.
82
83. •El primer paso para realizar el
ordenamiento es la de distribución de los
registros del “ArchivoOriginal” a los
archivos auxiliares.
Con ello conseguimos distribuir los
registros del “ArchivoOriginal” a los
archivos auxiliares que posteriormente
serán de los archivos de entrada.
83
84. I N R T A C E L A A B C L 0
A A C E N A A D
AUX1:
AUX2:
I N T R E C A L A C A O B L A A N C E A D A
I N R T A C E L A A B C L A A C E N A A D
84
85. A A B C L O
A A C E N R T A AI N A E LDC
AUX1:
AUX3:
AUX2:
85
86. A A A A B C C E I L N O R TN
A A E LA C D
AUX 2:
AUX3:
AUX1:
86
87. A A A A A A A B C C C E E I LD O R TN
ARCHIVO ORDENADO:
AUX 1:
AUX 2:
87
88. REFERENCIAS
Luis Joyanes Aguilar, i. Z (2008). Estructuras de
datos en Java. Graw Hill.
https://www.slideshare.net/angenio2/algoritmo
s-de-ordenamiento-externos
88