Sei sulla pagina 1di 8

Intercalacin de Archivos

I. Introduccin

Uno de los problemas fundamentales en la ciencia de la computacin es ordenar una lista de cualquier tipo de datos. Existen una infinidad de mtodos de ordenamiento, algunos son simples e intuitivos y otros son extremadamente complicados, pero producen los resultados mucho ms rpido. El ordenamiento es un proceso en el cual se adapta la informacin en un orden especfico. Es muy importante mantener el orden en datos guardados ya que siempre tendremos un acceso fcil y rpido en caso de tener grandes volmenes de informacin. Existen dos tipos de ordenamiento el ordenamiento interno y ordenamiento externo. Ordenamiento interno si los registros han de ser ordenados en la memoria principal de una computadora mientras que si se han de ordenar en algn dispositivo auxiliar es llamado ordenamiento externo. En este trabajo daremos a conocer de una forma ms comprensible el mtodo de ordenamiento externo por intercalacin de archivos y por lo cual nos planteamos los siguientes objetivos.

Pgina 1

Intercalacin de Archivos

II. Objetivos

Objetivo general:

Dar a conocer el mtodo de ordenamiento por intercalacin de archivos

(MERGE).

Objetivos especficos:

Explicar cmo trabaja el algoritmo de ordenamiento por intercalacin de

archivos.

Mostrar el desempeo del mtodo de ordenamiento por intercalacin de

archivos mediante su anlisis de eficiencia.

Presentar las ventajas y desventajas del mtodo de ordenamiento por

intercalacin de archivos.

Pgina 2

Intercalacin de Archivos

III. Desarrollo Intercalacin (MERGE) es un proceso de ordenamiento externo que consiste en combinar dos o ms archivos ordenados en un tercero. Este algoritmo de comparacin es estable ya que se mantiene el orden relativo de los registros de iguales claves. Fue inventado por el matemtico hngaro John Von Newmann en 1945.

El proceso del Merge es fusionar dos arreglos ordenados dentro de un arreglo. Sin embargo, estos arreglos tienen que ser ordenados previamente. El mtodo de ordenamiento por intercalacin de archivos obtiene un tercer archivo ordenado en tiempo proporcional a la suma de los tamaos de los dos archivos a intercalar. Este mtodo consiste en leer el primer elemento de cada archivo, los compara y copia en el tercer archivo el menor de los elementos comparados, continuando la comparacin con el elemento no enviado y con el siguiente elemento del archivo que contiene el elemento menor enviado al tercer archivo y as sucesivamente. Dado el caso en que sea el fin de algunos de los dos archivos, solo se copiaran en el tercer archivo los datos del archivo que no sea finalizado. Cada elemento se copia una sola vez y en cada comparacin se copia algn elemento.
Pgina 3

Intercalacin de Archivos

Supngase que se tiene dos archivos, F1 y F2, ordenados de acuerdo a un campo clave, he aqu un ejemplo del funcionamiento: Teniendo: F1: 06 09 18 20 35 F2: 10 16 25 28 66 82 87 Debe producirse entonces un archivo F3 ordenado, como resultado de la mezcla de F1 y F2. Solo puede ser accesadas directamente dos claves, la primera del archivo F1 y la segunda del archivo F2. Las comparaciones que se realizan para producir el archivo F3 son las siguientes. (06< 10) Si se cumple la condicin si se escribe 06 en el archivo de salida F3 y se vuelve a leer otra clave de F1 (09). (09<10) Si se cumple la condicin se escribe 09 en el archivo de salida F3 y se vuelve a leer otra clave de F1 (18). (18<10) No se cumple la condicin se escribe 10 en el archivo de salida F3 y se vuelve a leer otra clave de F2 (16) el estado de los archivos F1, F2, F3 es hasta el momento el siguiente: F1: 06 09 18 20 35 F2: 10 16 25 28 66 82 87 F3: 06 09 10 16 18 20 25 28 35 66 82 87

El proceso contina hasta que en uno u otro archivo se detecte el fin de archivo, en tal caso solo tendrn que escribir las claves del archivo no vaco al archivo de salida de F3. Este es el resultado final de la intercalacin entre los archivos F1 y F2.

A continuacin se presentara el algoritmo correspondiente al mtodo de ordenamiento por intercalacin de archivos.


Pgina 4

Intercalacin de Archivos

Procedure INTERCALACION (var Arch1, Arch2, Arch3: text); Var R1, R2: integer; Band: Boolean; Begin Reset (Arch1); Reset (Arch2); Rewrite (Arch3); Read (Arch1, R1); Read (Arch2, R2); While not (eof (Arch1)) and not (eof (Arch2)) do Begin If R1<R2 then Begin Write (Arch3, R1); Read (Arch1, R1); End Else Begin Write (Arch3, R2); Read (Arch2, R2); End; End; Band: =false; While not (eof (Arch1)) or not (eof (Arch2)) do Begin If eof (Arch1) then Begin If R1<R2 then Begin Write (Arch3, R1); Write (Arch3, R2); While not (eof (Arch2)) do Begin Read (Arch2, R2); Write (Arch3, R2); End; Band:=true; End Else Begin Write (Arch3, R2);
Pgina 5

Intercalacin de Archivos

Read (Arch2, R2); End; End Else Begin If R1<R2 then Begin Write (Arch3, R2); Read (Arch1, R1); End Else Begin Write (Arch3, R2); Write (Arch3, R1); While not (eof (Arch1)) do Begin Read (Arch1, R1); Write (Arch3, R1); End; Band:=true; End; End; If Band=false then If R1<R2 then Begin Write (Arch3, R1); Write (Arch3, R2); End Else Begin Write (Arch3, R2); Write (Arch3, R1); End; End;

Pgina 6

Intercalacin de Archivos

IV. Anlisis de eficiencia

El mtodo MERGE es de tipo logartmico. Su tiempo de ejecucin puede calcularse por medio de la formula O(n Log n), donde n es el nmero de elementos a ordenar.

V. Ventajas
Unifica dos archivos ordenados en uno sin alterar las listas originales

Es capaz de ordenar grandes volmenes de informacin. Es fcil de entender y codificar.

VI. Desventajas

No funciona con los elementos desordenados de los archivos. El acceso a los datos no es directo como en la memoria interna. Requiere de un espacio de memoria adicional del tamao de los datos a

ordenar (el archivo que guardara los datos intercalados).

Pgina 7

Intercalacin de Archivos

VII.

Conclusin

Hemos concluido que el mtodo de intercalacin consiste en tomar dos listas previamente ordenadas obteniendo as una tercera lista, en su forma iterativa es fcil de entender. Su tiempo de ejecucin se calcula mediante la frmula o(n log n), donde n es el nmero de elementos a ordenar. Es capaz de ordenar grandes volmenes de archivos eficientemente.

Pgina 8

Potrebbero piacerti anche