Mezcla de archivos• Mezclar significa combinar dos o mas archivos  ordenados en un archivo simple, algunos  métodos divide...
Tipos de mezclas•   Por intercalación•   Mezcla directa•   Mezcla natural o equilibrada•   Mezcla por listas
Mezcla por intercalación• En este método de ordenamiento existen dos archivos  con llaves ordenadas, los cuales se mezclan...
Mezcla por intercalaciónArchivo A                 503   573   581   625   670   762Archivo B                 087   512   6...
Mezcla por intercalaciónInicio {                                             // procesa archivo A    abrir archivo A      ...
Intercalación• Cual es la complejidad de tiempo del  algoritmo de intercalación? Suponer: M es el tamaño del archivo A N e...
Mezcla Directa• Este método de ordenamiento realiza  sucesivamente una partición y una fusión que  produce secuencias orde...
Mezcla directa09 75 14 68 29 17 31 25 04 05 13 18 72 46 61Partición    09 14 29 31 04 13 72 61             75 68 17 25 05 ...
Mezcla natural• Este método, conocido también como mezcla  equilibrada, es una optimización del método de  mezcla directa....
Mezcla NaturalF    09 75 14 68 29 17 31 25 04 05 13 18 72 46 61     Partición inicialF2    09 75 29 25 46 61F3    14 68 17...
Segunda fusión-particiónF    09 14 17 29 31 68 75F1   04 05 13 18 25 46 61 72     Tercera fusión-particiónF2   04 05 09 13...
F archivo originalF1, F2 y F3 archivos auxiliares para los procesos de partición y fusiónInicio {    particionInicial (F, ...
Próxima SlideShare
Cargando en…5
×

Ordenamiento parte 2

409 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
409
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
9
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Ordenamiento parte 2

  1. 1. 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
  2. 2. Tipos de mezclas• Por intercalación• Mezcla directa• Mezcla natural o equilibrada• Mezcla por listas
  3. 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. 4. Mezcla por intercalaciónArchivo A 503 573 581 625 670 762Archivo B 087 512 677 694 Archivo resultado087 503 512 573 581 625 670 677 694 762
  5. 5. Mezcla por intercalaciónInicio { // procesa archivo A abrir archivo A mientras (!eof(A)){ abrir archivo B almacena en X a abrir archivo X a = leer archivo A } a = leer archivo A // procesa archivo B b = leer archivo B mientras (!eof(B)){ // procesa los dos archivos almacena en X b mientras (!eof(A) && !eof(B)){ b = leer archivo B } si (a < b) { almacena en X a cerrar archivos A,B,X a = leer archivo A } } sino { almacena en X b b = leer archivo B } }
  6. 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. 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. 8. Mezcla directa09 75 14 68 29 17 31 25 04 05 13 18 72 46 61Partición 09 14 29 31 04 13 72 61 75 68 17 25 05 18 46 Fusión09 75 14 68 17 29 25 31 04 05 13 18 46 72 61Partición 09 75 17 29 04 05 46 72 14 68 25 31 13 18 61
  9. 9. 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.
  10. 10. Mezcla NaturalF 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 Partición inicialF2 09 75 29 25 46 61F3 14 68 17 31 04 05 13 18 72 Primera fusión-particiónF 09 14 68 75 04 05 13 18 25 46 61 72F1 17 29 31
  11. 11. Segunda fusión-particiónF 09 14 17 29 31 68 75F1 04 05 13 18 25 46 61 72 Tercera fusión-particiónF2 04 05 09 13 14 17 18 25 29 31 46 61 68 72 75F3 Archivo vacío
  12. 12. F archivo originalF1, F2 y F3 archivos auxiliares para los procesos de partición y fusiónInicio { 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))}

×