SlideShare una empresa de Scribd logo
9
Lo más leído
10
Lo más leído
11
Lo más leído
Métodos de Ordenamiento
Externos
Mezcla de archivos
• Mezclar significa combinar dos o mas archivos ordenados
en un archivo simple, algunos métodos dividen un archivo
en dos partes para aplicar la mezcla.
• Suponer que existen dos archivos tales que:
• Archivo A = a0<= a1<= a2<= a3<= … <= an
• Archivo B = b0 <= b1<= b2<= b3<= … <= bk
• El archivo de resultado será:
• Archivo X = x0 <= x1<= x2<= x3<= … <= xk+n donde cada
elemento xi es un elemento de A o de B
Mezcla por intercalación
• En este método de ordenamiento existen dos archivos con
llaves ordenadas, los cuales se mezclan para formar un solo
archivo.
• La longitud de los archivos puede ser diferente.
• El proceso consiste en leer un registro de cada archivo y
compararlos, el menor es almacenando en el archivo de
resultado y el otro se compara con el siguiente elemento del
archivo si existe. El proceso se repite hasta que alguno de los
archivos quede vacío y los elementos del otro archivo se
almacenan directamente en el archivo resultado.
503 573 581 625 670 762
087 512 677 694
503 573 581 625 670 762087 512 677 694
Archivo resultado
Archivo A
Archivo B
Mezcla por intercalación
Mezcla por intercalación
Inicio {
abrir archivoA
abrir archivo B
abrir archivo X
a = leer archivoA
b = leer archivo B
// procesa los dos archivos
mientras (!eof(A) && !eof(B)){
si (a < b) { almacena en X a
a = leer archivoA }
sino { almacena en X b
b = leer archivo B }
}
// procesa archivo A
mientras (!eof(A)){
almacena en X a
a = leer archivo A }
// procesa archivo B
mientras (!eof(B)){
almacena en X b
b = leer archivo B }
cerrar archivos A,B,X
}
Intercalación
• Cual es la complejidad de tiempo del algoritmo de
intercalación?
Suponer:
M es el tamaño del archivo A
N es el tamaño del archivo B
Los dos archivos se procesan al mismo tiempo hasta que uno de los dos llega a
su fin M-N o N-M
Y después se procesa el resto del archivo que no ha terminado, por lo tanto la
complejidad es el mayor de M y N
Mezcla Directa
• Este método de ordenamiento realiza sucesivamente una
partición y una fusión que produce secuencias ordenadas de
longitud cada vez mayor.
• En la primera pasada la partición es de 1 y la fusión produce
secuencias de longitud 2. Las particiones y las fusiones doblan
su tamaño en cada pasada del procesamiento hasta lograr una
partición del tamaño del archivo.
Descripción
• Este método de llama mezcla porque combina dos o mas
secuencias en una sola secuencia ordenada por medio de la
selección repetida de los componentes accesibles en ese
momento.
• Un arreglo individual puede usarse en lugar de dos secuencias
si se considera como de doble extremo. En este caso se
tomaran elementos de los dos extremos del arreglo para hacer
la mezcla. El destino de los elementos combinados se cambia
después de que cada par ha sido ordenado para llenar
uniformemente las dos secuencias que son el destino. Después
de cada pasada los dos extremos del arreglo intercambian de
papel, la fuente se convierte en el nuevo destino y viceversa.
Mezcla directa
09 75 14 68 29 17 31 25 04 05 13 18 72 46 61
09 14 29 31 04 13 72 61
75 68 17 25 05 18 46
09 75 14 68 17 29 25 31 04 05 13 18 46 72 61
Partición
Fusión
Partición 09 75 17 29 04 05 46 72
14 68 25 31 13 18 61
Mezcla natural
• Este método, conocido también como mezcla equilibrada, es
una optimización del método de mezcla directa.
• La diferencia es que las particiones se realizan en secuencias
ordenadas de tamaño variable en lugar de secuencias de
tamaño fijo. La fusión de las secuencias ordenadas se realiza
en dos archivos. El proceso termina cuando el segundo archivo
queda vacío en el proceso de fusión-partición.
Mezcla Natural
09 75 14 68 29 17 31 25 04 05 13 18 72 46 61
09 75 29 25 46
72
61
14 68 17 31 04 05
Partición inicial
Primera fusión-partición
13 18
09 75
29
25 46 726114 68
17 31
04 05 13 18
F
F2
F3
F
F1
25 46 726104 05 13 18
09 752914 6817 31
Segunda fusión-partición
Tercera fusión-partición
Archivo vacío
04 05 25 46 726113 1809 752914 6817 31
F
F1
F2
F3
F archivo original
F1, F2 y F3 archivos auxiliares para los procesos de partición y fusión
Inicio {
particionInicial (F, F2, F3) // particiona el archivo original en F2 y F3
repetir
alternar procesos{
particionFusion(F2, F3, F, F1) // particion-fusion de F2,F3 en F y F1
particionFusion(F, F1, F2, F3) // particion-fusion de F,F1 en F2 y F3
}
hasta (eof(F1) || eof(F3))
}

Más contenido relacionado

PPTX
3. algoritmos de ordenamiento interno
PDF
Algoritmos de Ordenamiento externo
PPTX
Estructura de Datos - Unidad 6 Metodos de busqueda
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
PPTX
Cuadro comparativo algoritmos de ordenamiento
PPTX
Listas,pilas y colas Estructura de Datos
DOCX
Cuadro comparativo algoritmos de busqueda
PPTX
Estructura de Datos Unidad - V: Métodos de Ordenamiento
3. algoritmos de ordenamiento interno
Algoritmos de Ordenamiento externo
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 5 metodos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
Listas,pilas y colas Estructura de Datos
Cuadro comparativo algoritmos de busqueda
Estructura de Datos Unidad - V: Métodos de Ordenamiento

La actualidad más candente (20)

PDF
Arboles M-Way, 2-3 y 2-3-4
PPTX
Memoria Estatica
 
PPTX
Tablas Hash
PPTX
Listas doblemente enlazadas
PDF
Árboles Multicamino, B y B+
PDF
Metodo de busqueda
PDF
Algoritmo de ordenamiento: Heap Sort
PPTX
Ordenamiento parte 2
PPTX
Métodos de ordenación externa
PPTX
Pilas, colas, y listas estructura de datos
PPTX
Estructura de Datos - Unidad 4 Estructuras no lineales
PPTX
Búsqueda secuencial y binaria
DOCX
Pilas como estructura de datos..
PDF
Estructuras de datos lineales
PPTX
Programación 3: Grafos, representación y operaciones
PPTX
Unidad 3 estructura lineales
PPT
PPTX
Ordenamiento QuickSort
PDF
Arreglos en PSeInt
PPTX
Estructura de datos: lista, pilas y colas
Arboles M-Way, 2-3 y 2-3-4
Memoria Estatica
 
Tablas Hash
Listas doblemente enlazadas
Árboles Multicamino, B y B+
Metodo de busqueda
Algoritmo de ordenamiento: Heap Sort
Ordenamiento parte 2
Métodos de ordenación externa
Pilas, colas, y listas estructura de datos
Estructura de Datos - Unidad 4 Estructuras no lineales
Búsqueda secuencial y binaria
Pilas como estructura de datos..
Estructuras de datos lineales
Programación 3: Grafos, representación y operaciones
Unidad 3 estructura lineales
Ordenamiento QuickSort
Arreglos en PSeInt
Estructura de datos: lista, pilas y colas
Publicidad

Similar a 4. algoritmo de ordenamiento externo (8)

PPTX
Algoritmos de Ordenamiento Externo.
PDF
Presentación algoritmos ordenación externa
PPTX
Presentacion algoritmos ordenacion externa
PPTX
Ordenamientos externo
PPTX
Ordenamientos Externo
PPTX
Ordenamiento de Archivos en Java
PPTX
Ordenamietos externos
PPTX
A ED Angel Gabriel Torres Gallardo presentacion.pptx
Algoritmos de Ordenamiento Externo.
Presentación algoritmos ordenación externa
Presentacion algoritmos ordenacion externa
Ordenamientos externo
Ordenamientos Externo
Ordenamiento de Archivos en Java
Ordenamietos externos
A ED Angel Gabriel Torres Gallardo presentacion.pptx
Publicidad

Más de Fernando Solis (20)

PDF
fundamentos de programación el arte de programar
PDF
2.5 PROYECTOS DE POO
PDF
24.3.3. Strategy
PDF
TEMPLAT E
PDF
Patrón Singleton
PDF
Tipos de Patrones
PDF
Importancia de los patrones de diseño
PDF
Introduccion-a-los-Patrones-de-Comportamiento.pdf
PDF
Bajo acoplamiento.pdf
PDF
MODULARIDAD _AltaCohesion
PDF
Localización de decisiones de diseño
PDF
Código entendible, flexible y mantenible
PDF
22.5 Dependency Inversion
PDF
Segregación de Interfaces
PDF
Sustitución de Liskov
PDF
Principio Open-Closed Mantilla
PDF
Principio-de-Responsabilidad-Unica-en-Java
PDF
21.7 Integración de componentes gráficos y clases
PDF
21.6 Gestion de Eventos - Componentes y Objetos Gráficos Java
PDF
21.5 Tablas - Componentes y Objetos Gráficos Java
fundamentos de programación el arte de programar
2.5 PROYECTOS DE POO
24.3.3. Strategy
TEMPLAT E
Patrón Singleton
Tipos de Patrones
Importancia de los patrones de diseño
Introduccion-a-los-Patrones-de-Comportamiento.pdf
Bajo acoplamiento.pdf
MODULARIDAD _AltaCohesion
Localización de decisiones de diseño
Código entendible, flexible y mantenible
22.5 Dependency Inversion
Segregación de Interfaces
Sustitución de Liskov
Principio Open-Closed Mantilla
Principio-de-Responsabilidad-Unica-en-Java
21.7 Integración de componentes gráficos y clases
21.6 Gestion de Eventos - Componentes y Objetos Gráficos Java
21.5 Tablas - Componentes y Objetos Gráficos Java

Último (20)

PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
Atencion prenatal. Ginecologia y obsetricia
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 2do Secundaria Ccesa007.pdf
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
IPERC...................................
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
EL aprendizaje adaptativo bajo STEM+H.pdf
TOMO II - LITERATURA.pd plusenmas ultras
V UNIDAD - PRIMER GRADO. del mes de agosto
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Doctrina 1 Soteriologuia y sus diferente
Atencion prenatal. Ginecologia y obsetricia
Manual de Convivencia 2025 actualizado a las normas vigentes
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
Unidad de Aprendizaje 5 de Matematica 2do Secundaria Ccesa007.pdf
2.0 Introduccion a processing, y como obtenerlo
IPERC...................................
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf

4. algoritmo de ordenamiento externo

  • 2. Mezcla de archivos • Mezclar significa combinar dos o mas archivos ordenados en un archivo simple, algunos métodos dividen un archivo en dos partes para aplicar la mezcla. • Suponer que existen dos archivos tales que: • Archivo A = a0<= a1<= a2<= a3<= … <= an • Archivo B = b0 <= b1<= b2<= b3<= … <= bk • El archivo de resultado será: • Archivo X = x0 <= x1<= x2<= x3<= … <= xk+n donde cada elemento xi es un elemento de A o de B
  • 3. Mezcla por intercalación • En este método de ordenamiento existen dos archivos con llaves ordenadas, los cuales se mezclan para formar un solo archivo. • La longitud de los archivos puede ser diferente. • El proceso consiste en leer un registro de cada archivo y compararlos, el menor es almacenando en el archivo de resultado y el otro se compara con el siguiente elemento del archivo si existe. El proceso se repite hasta que alguno de los archivos quede vacío y los elementos del otro archivo se almacenan directamente en el archivo resultado.
  • 4. 503 573 581 625 670 762 087 512 677 694 503 573 581 625 670 762087 512 677 694 Archivo resultado Archivo A Archivo B Mezcla por intercalación
  • 5. Mezcla por intercalación Inicio { abrir archivoA abrir archivo B abrir archivo X a = leer archivoA b = leer archivo B // procesa los dos archivos mientras (!eof(A) && !eof(B)){ si (a < b) { almacena en X a a = leer archivoA } sino { almacena en X b b = leer archivo B } } // procesa archivo A mientras (!eof(A)){ almacena en X a a = leer archivo A } // procesa archivo B mientras (!eof(B)){ almacena en X b b = leer archivo B } cerrar archivos A,B,X }
  • 6. Intercalación • Cual es la complejidad de tiempo del algoritmo de intercalación? Suponer: M es el tamaño del archivo A N es el tamaño del archivo B Los dos archivos se procesan al mismo tiempo hasta que uno de los dos llega a su fin M-N o N-M Y después se procesa el resto del archivo que no ha terminado, por lo tanto la complejidad es el mayor de M y N
  • 7. Mezcla Directa • Este método de ordenamiento realiza sucesivamente una partición y una fusión que produce secuencias ordenadas de longitud cada vez mayor. • En la primera pasada la partición es de 1 y la fusión produce secuencias de longitud 2. Las particiones y las fusiones doblan su tamaño en cada pasada del procesamiento hasta lograr una partición del tamaño del archivo.
  • 8. Descripción • Este método de llama mezcla porque combina dos o mas secuencias en una sola secuencia ordenada por medio de la selección repetida de los componentes accesibles en ese momento. • Un arreglo individual puede usarse en lugar de dos secuencias si se considera como de doble extremo. En este caso se tomaran elementos de los dos extremos del arreglo para hacer la mezcla. El destino de los elementos combinados se cambia después de que cada par ha sido ordenado para llenar uniformemente las dos secuencias que son el destino. Después de cada pasada los dos extremos del arreglo intercambian de papel, la fuente se convierte en el nuevo destino y viceversa.
  • 9. Mezcla directa 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 09 14 29 31 04 13 72 61 75 68 17 25 05 18 46 09 75 14 68 17 29 25 31 04 05 13 18 46 72 61 Partición Fusión Partición 09 75 17 29 04 05 46 72 14 68 25 31 13 18 61
  • 10. Mezcla natural • Este método, conocido también como mezcla equilibrada, es una optimización del método de mezcla directa. • La diferencia es que las particiones se realizan en secuencias ordenadas de tamaño variable en lugar de secuencias de tamaño fijo. La fusión de las secuencias ordenadas se realiza en dos archivos. El proceso termina cuando el segundo archivo queda vacío en el proceso de fusión-partición.
  • 11. Mezcla Natural 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 09 75 29 25 46 72 61 14 68 17 31 04 05 Partición inicial Primera fusión-partición 13 18 09 75 29 25 46 726114 68 17 31 04 05 13 18 F F2 F3 F F1
  • 12. 25 46 726104 05 13 18 09 752914 6817 31 Segunda fusión-partición Tercera fusión-partición Archivo vacío 04 05 25 46 726113 1809 752914 6817 31 F F1 F2 F3
  • 13. F archivo original F1, F2 y F3 archivos auxiliares para los procesos de partición y fusión Inicio { particionInicial (F, F2, F3) // particiona el archivo original en F2 y F3 repetir alternar procesos{ particionFusion(F2, F3, F, F1) // particion-fusion de F2,F3 en F y F1 particionFusion(F, F1, F2, F3) // particion-fusion de F,F1 en F2 y F3 } hasta (eof(F1) || eof(F3)) }