SlideShare a Scribd company logo
1 of 39
Ordenamiento de
Archivos en Java
Estructura de Archivos
Integrantes:
Erick Barzallo
David 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
Funcionamiento
Fusió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.
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
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
1. 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
Tramo
s
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ía
Joyanes 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 Externo
https://github.com/Erick03Andres/IntercalacionDirecta

More Related Content

What's hot

Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
edopaz
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
linkinpark03
 

What's hot (20)

Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externa
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Lista simple
Lista simpleLista simple
Lista simple
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Ordenamiento de Archivos Externos
Ordenamiento de Archivos ExternosOrdenamiento de Archivos Externos
Ordenamiento de Archivos Externos
 

Similar to Ordenamiento de Archivos en Java

Similar to Ordenamiento de Archivos en Java (12)

Ordenamientos externo
Ordenamientos externoOrdenamientos externo
Ordenamientos externo
 
Ordenamientos Externo
Ordenamientos ExternoOrdenamientos Externo
Ordenamientos Externo
 
Algoritmos intercalación
Algoritmos intercalaciónAlgoritmos intercalación
Algoritmos intercalación
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 
Ordenamietos externos
Ordenamietos externosOrdenamietos externos
Ordenamietos externos
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 
Presentación algoritmos ordenación externa
Presentación algoritmos ordenación externaPresentación algoritmos ordenación externa
Presentación algoritmos ordenación externa
 
Presentacion algoritmos ordenacion externa
Presentacion algoritmos ordenacion externaPresentacion algoritmos ordenacion externa
Presentacion algoritmos ordenacion externa
 
Ordenamientos Externos
Ordenamientos ExternosOrdenamientos Externos
Ordenamientos Externos
 
Guia2 ac
Guia2 acGuia2 ac
Guia2 ac
 
Pipelining
PipeliningPipelining
Pipelining
 
PLC-II EMERSON EDUARDO RODRIGUES ENGENHEIRO.pdf
PLC-II EMERSON EDUARDO RODRIGUES ENGENHEIRO.pdfPLC-II EMERSON EDUARDO RODRIGUES ENGENHEIRO.pdf
PLC-II EMERSON EDUARDO RODRIGUES ENGENHEIRO.pdf
 

Ordenamiento de Archivos en Java

  • 1. Ordenamiento de Archivos en Java Estructura de Archivos Integrantes: Erick Barzallo David Buñay Gabriela Verdugo
  • 2. 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.
  • 4. 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.
  • 5. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Funcionamiento. Mezcla con la que ya se obtiene el archivo ordenado: O 8 12 23 28 34 44 51 59 73 LISTA ORDENADA
  • 17. 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.
  • 18. 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
  • 19. Funcionamiento Fusió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
  • 20. 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
  • 21. Funcionamiento. Fusión. 1 2 3 4 5 9 10 13 14 25 26 LISTA ORDENADA
  • 23. 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.
  • 24. 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
  • 25. 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
  • 26. Ejemplo con m=3 archivos - Archivo original con 55 tramos - Archivos auxiliares m=3 - 2 archivos de entrada y 1 de salida
  • 27. Proceso 1. Distribuir de forma no uniforme en los archivos F1 con 34 tramos y en F2 con 21 tramos por ejemplo 1. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 55 Tramo s 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
  • 35. 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.
  • 36. 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
  • 37. 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.
  • 38. Bibliografía Joyanes 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.