ordenamiento de archivos en java
TRANSCRIPT
Ordenamiento de Archivos en Java
Estructura de Archivos Integrantes:
Erick BarzalloDavid Buñay
Gabriela Verdugo
Introducción.En ocasiones cuando se posee gran cantidad de datos que no caben en la memoria interna y se guardan en una memoria externa, es ahí cuando los algoritmos de ordenamiento externo son de gran ayuda y se presentarán a continuación.
Mezcla Directa
Mezcla Directa.
Es el método más simple de ordenación:
Utiliza el el esquema iterativo de separar secuencias de registros y su mezcla.
Se opera con el archivo original y dos archivos auxiliares.
Funcionamiento.
Lista a ordenar:
Separar el archivo original en dos archivos f1 y f2 :
34 12 59 73 44 8 19 28 51
f1
23
f2
Funcionamiento.
f1 34
f2 23
Funcionamiento.
f1 34
f2 23
12
59
Funcionamiento.
f1 34
f2 23
12
59
73
44
Funcionamiento.
f1 34
f2 23
12
59
73
44
8
19
Funcionamiento.
f1 34
f2 23
12
59
73
44
8
19
28
51
Funcionamiento.
Mezclar los archivos f1 y f2 combinando registros aislados (según sus claves) y formando pares ordenados que son escritos en el archivo O.
Separar pares de registros del archivo original O en los dos archivos auxiliares f1 y f2.
O 23 34 12 59 44 73 8 19 28 51
f1 23 34 44 73 28 51
f2 12 59 8 19
Funcionamiento
Mezclar los archivos f1 y f2 combinando registros aislados (según sus claves) y formando pares ordenados que son escritos en el archivo O.
O 12 23 34 59 8 4419 73 28 51
Funcionamiento.Se repiten los pasos de separación y mezcla, combinando cuádruplos para
formar óctuplos ordenados. 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, y en ese momento el archivo original O está ordenado.
Separación de cuádruplos:f1 12 23 34 59 28 51
f2 8 19 44 73
Funcionamiento.Mezcla formando óctuplos ordenados:
Separación de octuplos:
O 8 12 19 23 34 44 59 73 28 51
f1 8 12 19 23 34 44 59 73
f2 28 51
Funcionamiento.
Mezcla con la que ya se obtiene el archivo ordenado:
O 8 12 23 28 34 44 51 59 73
LISTA ORDENADA
Mezcla Natural
Mezcla Natural
El método de fusión natural mejora el tiempo de ejecución de la mezcla directa al introducir una pequeña variación respecto a la longitud de las secuencias de registros.
En el método de mezcla directa, las secuencias de registros tiene longitudes que son múltiplos de dos: 1, 2, 4,8, 16... de tal forma que el número de pasadas a realizar es fijo, dependiente del número de registros.
La mezcla directa no tiene en cuenta la circunstancia de que pueda haber, de manera natural, secuencias más largas ya ordenadas que también puedan mezclarse y dar lugar a otra secuencia ordenada.
Funcionamiento.Lista a ordenar:
Separación:
9 10 3 4 5 25 26 13 14 1
f1 9 10
f2 3 4
25
5
26 1
13 14
2
2
FuncionamientoFusión:
Separación:3 4 5 9 10 13 14 25 26 1 2
f1 3 4 5 9 10 1 2
f2 13 14 25 26
Funcionamiento.Fusión:
Separación:
3 4 5 9 10 13 14 25 1 2
f1 3 4 5 9 10 13 14 25 26
f2 1 2
Funcionamiento.
Fusión.
1 2 3 4 5 9 10 13 14 25 26
LISTA ORDENADA
Intercalación Polifásica
Intercalación Polifásica
- La idea básica de este método es aplicar una mezcla estratégica hasta vaciar el archivo
El método polifásico utiliza m archivos auxiliares para ordenar n registros de un archivo.
La característica que marca la diferencia de este método respecto a los otros es que continuamente se consideran m-1 archivos de entrada, desde los que se mezclan registros, y un archivo de salida.
En el momento en que uno de los archivos de entrada alcanza su final hay un cambio de cometido, pasa a ser considerado como archivo de salida, y el archivo que en ese momento era de salida pasa a ser de entrada y la mezcla de tramos continúa.
La sucesión de pasadas continúa hasta alcanzar el archivo ordenado.
Características - Utiliza m archivos auxiliares
- Se diferencia del resto de intercalados por la consideración de m-1 archivos
- Cuando un archivo de entrada alcanza su final, pasa a ser considerado archivo de salida
- Cabe recordar - La mezcla de k tramos de los archivos de entrada se transforman en kntramos
en el archivo de salida
Fases- Mientras existan datos de entrada en T0, se debe seguir los
siguientes pasos:- Fase 1
- Leer m llaves
- Ordenar las llaves por método interno
- Si las llaves anteriores se colocaron en T2, se procede a colocarlas en T3, caso contrario, colocarlas en T3
- Fase 2
- Intercalar el primer bloque en T2 con el primer bloque de T3
- Intercalar los siguientes arreglos en T2 y T3, dejando el resultado en T1
- Repetir los pasos anteriores hasta que T2 y T3 queden vacios
Ejemplo con m=3 archivos - Archivo original con 55 tramos
- Archivos auxiliares m=3
- 2 archivos de entrada y 1 de salida
Proceso 1.Distribuir de forma no uniforme en los archivos F1 con 34 tramos y
en F2 con 21 tramos por ejemplo
2.Se realiza la fusión de 21 tramos de F1 con los 21 tramos de F2, dando así lugar a 21 tramos en F3
55 Tramos
F1 34
F2 21
F3 0
55 Tramos
F1 34 13
F2 21 0
F3 0 21
3. F1 alcanza 13 tramos, F2 queda vacío y F3 consta con 21 tramos
4. F2 pasa a ser archivo de salida mientras que la mezcla continua entre F1 y F3
55 Tramos
F1 34 13
F2 21 0
F3 0 21
5. Se repite la mezcla pero con F1 y F3 igual a 13 tramos, los cuales se pasan al F2
6. F1 queda vacío por lo cual pasa a ser archivo de salida mientras el proceso continúa entre F2 con 13 tramos y F3 con 8
55 Tramos
F1 34 13 0
F2 21 0 13
F3 0 21 8
7. Se repite el proceso con 8 tramos, los cuales pasan a F1, dejando así a F3 como salida
8. El proceso se vuelve a repetir hasta que quede un solo tramo
55 Tramos
F1 34 13 0 8
F2 21 0 13 5
F3 0 21 8 0
55 Tramos
F1 34 13 0 8 3
F2 21 0 13 5 0
F3 0 21 8 0 5
55 Tramos
F1 34 13 0 8 3 0
F2 21 0 13 5 0 3
F3 0 21 8 0 5 2
55 Tramos
F1 34 13 0 8 3 0 2
F2 21 0 13 5 0 3 1
F3 0 21 8 0 5 2 0
55 Tramos
F1 34 13 0 8 3 0 2 1
F2 21 0 13 5 0 3 1 0
F3 0 21 8 0 5 2 0 1
55 Tramos
F1 34 13 0 8 3 0 2 1 0
F2 21 0 13 5 0 3 1 0 1
F3 0 21 8 0 5 2 0 1 0
Intercalando Mezcla Balanceado
Mezcla Balanceada
La mezcla equilibrada múltiple utiliza m archivos auxiliares, de los que m/2 son de entrada y m/2 de salida.
Inicialmente, se distribuyen los tramos del archivo de origen en los m/2 archivos auxiliares.
A partir de esta distribución, se repiten los procesos de mezcla reduciendo a la mitad el número de tramos hasta que queda un único tramo.
Características
●Evita el exceso de copiado de registros
●Una intercalación de M-vias usa 2M archivos
●La eficiencia de los métodos de ordenación externa es directamente proporcional al número de pasadas
●Para un aumento de eficiencia ○ Reducir el número de pasadas, reduciendo de esta forma la cantidad de
operaciones de entrada/salida
○ Incremento del número de archivos auxiliares
Pasos a seguir de la mezcla Balanceada
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;
4.Se repite a partir del segundo paso hasta que quede un único tramo, entonces la secuencia está ordenada.
BibliografíaJoyanes Aguilar L. (2008). Estructura de Datos en Java.Blanca
Madrid: Pecharromán.
Gomez, V., Gomez, V. and perfil, V. (2016). Técnicas de Intercalación. [online] Victorgh84.blogspot.com. Available at:
http://victorgh84.blogspot.com/2015/09/tecnicas-de-intercalacion.html?m=1.
Enlace Externohttps://github.com/Erick03Andres/IntercalacionDirecta