Algoritmos de Ordenamiento Externo.
Programacin 3. Universidad de Cuenca.
Abad F.,Munoz C.,Fajardo P.
Marco Teorico: Ordenamiento Directo, Polifase, Natural, Balanceada.
1. UNIVERSIDAD DE CUENCA
Docente:
Ing. Angel Vazquez
Integrantes:
Freddy Abad
Patricio Fajardo
Carlos Muñoz
1
PROGRAMACIÓN 3
FACULTAD DE INGENIERIA
ALGORITMOS DE
ORDENAMIENTO EXTERNO
12/06/2017
2. CONTENIDO
● Introducción
● Algoritmos de Ordenamiento Externo
● Metodo Directo
● Metodo Natural
● Metodo Polifasico
● Conclusiones
2
12/06/2017 Abad F., Fajardo P., Munoz C.
3. INTRODUCCIÓN
Algoritmos de Ordenamiento Externo
• Comparación: Los algoritmos de ordenación interna, usan
arreglos (arrays) para guardar temporalmente los elementos
por ordenar.
• Limitación: Capacidad de memoria es primordial, ya que con
un volumen alto de datos por analizar, ordenamientos internos
fallan (tardan demasiado tiempo).
3
12/06/2017 Abad F., Fajardo P., Munoz C.
4. INTRODUCCIÓN
Algoritmos de Ordenamiento Externo
• La ordenación externa se relaciona con los archivos y los dispositivos
en que se encuentra.
• Ordenamiento Externo se considera como objeto de un archivo, un
registro.
• Definición: Ordenamiento externo es el proceso de ordenación de
objetos mediante archivos auxiliares.
4
12/06/2017 Abad F., Fajardo P., Munoz C.
5. INTRODUCCIÓN
Algoritmos de Ordenamiento Externo
Para realizar la ordenación de un archivo, el tiempo de lectura
de los registros es mayor que el tiempo que el realizar las
operaciones de ordenación.
5
12/06/2017 Abad F., Fajardo P., Munoz C.
6. INTRODUCCIÓN
Algoritmos de Ordenamiento Externo
Segun Joyanes [1], “los componentes de un archivo son una
secuencia de n elementos; siendo cada elemento un objeto.
Los objetos, R(i), pueden ser comparables si disponen de una
clave, K(i), con la cual se pueden hacer comparaciones. El
archivo está ordenado respecto a la clave “ si:
6
12/06/2017 Abad F., Fajardo P., Munoz C.
7. MEZCLA DIRECTA
• Es uno de los método mas simple de ordenación externa.
• Usa el esquema iterativo de separar secuencias de registros y
su mezcla.
• Usa el archivo original y dos archivos auxiliares.
• El método obtiene secuencias ordenadas en cada paso i de
longitud de 2𝑖
. Termina cuando la longitud de la secuencia es
igual al número de registros del archivo.
7
12/06/2017 Abad F., Fajardo P., Munoz C.
8. MEZCLA DIRECTA
Proceso de 4 pasos:
1. Dividir la secuencia A en dos mitades denominadas B y C.
2. Mezclar B y C combinando cada elemento en pares ordenados.
3. Llamar A a la secuencia mezclada y repetir los pasos 1 y 2, esta vez
combinando los pares en cuadriples ordenados.
4. Repetir los pasos anteriores duplicando cada vez la longitud de las
secuencias combinadas hasta que quede ordenada la secuencia original
8
12/06/2017 Abad F., Fajardo P., Munoz C.
9. MEZCLA DIRECTA
Ejemplo:
Existe un archivo con distintos campos, la clave de ordenación es de
tipo entero teniendo las siguientes claves:
Denominamos al archivo original, O, y a F1 y F2 como archivos
auxiliares
9
12/06/2017 Abad F., Fajardo P., Munoz C.
11. MEZCLA DIRECTA
Pasada 3
Separación de cuádruplos:
F1: 12 23 34 59 28 51
F2: 8 19 44 73
Mezcla formando óctuplos ordenados:
O: 8 12 19 23 34 44 59 73 28 51
Pasada 4
Separación de óctuplos:
F1: 8 12 19 23 34 44 59 73
F2: 28 51
Mezcla con la que ya se obtiene el archivo ordenado:
O: 8 12 19 23 28 34 44 51 59 73
11
12/06/2017 Abad F., Fajardo P., Munoz C.
12. MEZCLA DIRECTA
Después de i pasadas, se tiene el archivo O con sub sucesiones ordenadas
de longitud 2𝑖
.
El número de pasadas que realiza el algoritmo se obtiene tomando i ≥
log2 𝑛, Log n pasadas serán suficientes.
Cada pasada escribe el total n de registros, por lo que el número total de
movimientos es O(n Log n).
En el calculo de tiempo no se toma en cuenta el tiempo de comparación
entre registro n, y n+1, ya que el tiempo de las comparaciones realizadas
en la fase de fusión es insignificante respecto a las operaciones de
movimiento de registros en los archivos externos.
12
12/06/2017 Abad F., Fajardo P., Munoz C.
13. MEZCLA NATURAL
Es mas eficiente que la mezcla directa debido a un menor tiempo de
ejecucion.
El algoritmo de mezcla natural aprovecha la existencia de secuencia ya
ordenadas dentro de los datos del archivo.
Partiendo de secuencias ordenadas obtenemos particiones que guardamos
en dos archivos o ficheros auxiliares.
Las particiones almacenadas se fusionan posteriormente para crear
secuencias ordenadas cuya longitud se incrementa arbitrariamente hasta
conseguir la total ordenación de los datos contenidos en el archivo original.
13
12/06/2017 Abad F., Fajardo P., Munoz C.
15. MEZCLA BALANCEADA
Este algoritmo reduce el numero de pasadas, en comparativa con los
anteriores mencionados .
Proceso del Ordenamiento por Mezcla Balanceada:
I. Usa ‘m’ archivos auxiliares, de los que ‘m/2’ son de entrada y ‘m/2’
de salida
II. Inicia distribuyendo los tramos del archivo de origen en los ‘m/2’
archivos auxiliares. A partir de esta, repite los procesos de mezcla
reduciendo a la mitad el número de tramos hasta que queda un
único tramo.
III. Así, el proceso de mezcla se realiza en una sola fase en lugar de las
dos fases (separación, fusión).
15
12/06/2017 Abad F., Fajardo P., Munoz C.
16. MEZCLA BALANCEADA
Algoritmo de Mezcla Balanceada:
Distribuir registros del archivo original por tramos en los m/2 primeros
archivos auxiliares. A continuación, estos se consideran archivos de
entrada.
Mezclar tramos de los m/2 archivos de entrada y escribirlos
consecutivamente en los m/2 archivos de salida.
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,
solo ahí la secuencia está ordenada.
16
12/06/2017 Abad F., Fajardo P., Munoz C.
18. MEZCLA POLIFASICA
Es un método de intercalación desbalanceada.
El método polifásico usa ‘m’ archivos auxiliares para ordenar ‘n’ registros
de un archivo.
Considera un archivo de salida y otros ‘m-1’ archivos de entrada.
18
12/06/2017 Abad F., Fajardo P., Munoz C.
ARCHIVOS DE ENTRADA: Son aquellos que
contendrán la información para realizar el
ordenamiento
ARCHIVOS DE SALIDA: Son aquellos en
donde se guardan los registros.
19. MEZCLA POLIFASICA
Durante el proceso, cuando se alcanza el registro de fin de archivo
en un archivo de entrada, este pasa a ser de salida, el anterior
archivo de salida pasa a ser de entrada y la mezcla continua.
La numero de pasadas continúa hasta alcanzar un archivo
ordenado.
19
12/06/2017 Abad F., Fajardo P., Munoz C.
20. MEZCLA POLIFASICA
ALGORITMO - FASES
FASE 1.
Mientras existan datos en T0 (entrada), los pasos a seguir son:
I. Leer ‘m’ llaves.
II. Ordenar las llaves por método interno.
III. Si las ‘m’ llaves anteriores se colocaron en T2 colocar éstas en T3, si
no, colocarlas en T2.
20
12/06/2017 Abad F., Fajardo P., Munoz C.
21. MEZCLA POLIFASICA
ALGORITMO - FASES
FASE 1.
Mientras exista más de un arreglo, los pasos a seguir son:
I. Intercalar el primer bloque en T2 con el primer bloque en T3 y dejar el
resultado en T0.
II. Intercalar los siguientes arreglos en T2 y T3 y dejar el resultado en T1.
III. Repetir los pasos 1. y 2. colocando los resultados alternativamente en T0
y T1 hasta que los datos en T2 y T3 se agoten.
21
12/06/2017 Abad F., Fajardo P., Munoz C.
23. MEZCLA POLIFASICA
ALGORITMO - EJEMPLO
Paso 2. Intercalación al archivo 3, dejando el archivo 2
vacío.
23
12/06/2017 Abad F., Fajardo P., Munoz C.
24. MEZCLA POLIFASICA
ALGORITMO - EJEMPLO
Paso 3. Mezcla ordenada en el archivo 2.
24
12/06/2017 Abad F., Fajardo P., Munoz C.
25. MEZCLA POLIFASICA
ALGORITMO - EJEMPLO
Paso 4. Mezcla ordenada en el archivo 1, dejando vacíos
los demás archivos.
25
12/06/2017 Abad F., Fajardo P., Munoz C.
26. CONCLUSIONES
Teniendo en cuenta que los algoritmos repiten consecutivamente
una fase de separación en tramos y otra de mezcla que da lugar a
tramos ordenados cada vez mas largos; se considera únicamente el
acceso secuencial a los registros (objetos). De esto depende el
tiempo de un algoritmo de ordenación de registros de un archivo.
26
12/06/2017 Abad F., Fajardo P., Munoz C.
27. BIBLIOGRAFIA
1) Joyanes A.L., Zahonero M. I. (2008) Estructura de Datos en Java.
2) N/A. Métodos de Ordenamiento. Disponible en:
http://www.itslr.edu.mx/archivos2013/TPM/temas/s3u5.html
3) Chávez A., Saucedo A.(2014) Tipos de Ordenamiento Externo.
Disponible en:
http://ingenieriacomputacionprogram.blogspot.com/2014/05/unidad-3-
tipos-de-ordenacion.html
4) Quizhpe M. (2016). Algoritmos de Ordenamiento Externo.
Disponible en :
https://www.slideshare.net/MateoQuizhpi1/presentacin-algoritmos-
ordenacin-externa
27
12/06/2017 Abad F., Fajardo P., Munoz C.