ordenamientos externos

Post on 12-Apr-2017

73 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ORDENAMIENTO DE ARCHIVOS

EXTERNOSMIGUEL MACÍASJEFFERSON ARIASEMILY ARTEAGA

TIPOS DE ORDENAMIENTOS

- Directa- Natural- Balanceada- Polifase

Order It

DIRECTA•En este método de ordenamiento se realiza una partición sucesiva y una fusión, lo que permite que hayan particiones ordenadas de longitud mayor en cada pasada.

Particiones

1 2 4 8 16 32 particion*2

pasada 1 pasada 2 pasada 3 pasada 4 pasada 5 pasada 6 pasada n

DIRECTA - Proceso❖ Separar los registros individuales del archivo original O en dos archivos auxiliares, F1 y F2.

❖ Mezclar los archivos F1 y F2 combinando registros aislados y formando pares ordenados que son escritos en el archivo 0.

❖ Se repiten los pasos de separación y mezcla, combinando n-tuplas para formar 2n-tuplas ordenadas. En cada paso se duplica el tamaño de las subsecuencias, hasta que la longitud de las secuencias sea mayor o igual al número de registros que tiene el archivo Original.

EjemploSe tiene un archivo con llaves de tipo entero:

Pasada 1

EjemploPasada 2

Pasada 3

EjemploPasada 4

Después de n pasadas, se tiene que el archivo O con subsecuencias ordenadas de 2^n, donde si 2^n es mayor o igual que el número de registros del archivo, entonces este se encuentra ordenado.

Codificación

Codificación

Codificación

Codificación

Codificación

Intercalación NaturalSe basa en la combinación de subsecuencias ordenadas.

Las subsecuencias ordenadas del archivo fuente, se distribuyen en dos archivos de destino auxiliares a y b.

Seguidamente se mezcla una subsecuencia ordenada de cada archivo auxiliar.

Ejemplo

Main Natural

Codificación

Codificación

Codificación

Codificación

Codificación

Intercalación BalanceadaLa idea central de este algoritmo consiste en realizar las particiones tomando secuencias ordenadas de máxima longitud en lugar de secuencias de tamaño fijo previamente determinadas. Luego se realiza la fusión de las secuencias ordenadas, en alternada, sobre dos archivos. Aplicando estas acciones en forma repetida se logrará el archivo original quede ordenado. Para la realization de este proceso de ordenación se necesitaran cuatro archivos.

El archivo original F y tres archivos auxiliares a los que se denominará F1, F2 y F3. De estos archivos, dos serán considerados de entrada y dos de salida; esto, de manera alternada, con el objeto de realizar la fusión-partición. El proceso termina cuando en la realización de una fusión-partición el segundo archivo quede vacío.

EjemploArchivo Original:

Partición Inicial:

Fusión Partición Inicial:

EjemploPartición y Fusión 2:

Partición y Fusión 3:

Codificación

Codificación

Codificación

Codificación

Codificación

Codificación

Codificación

Codificación

Main Balaceada

Main Balanceada

Intercalación PolifaseSe trata de una intercalación de m vías utiliza 2*m-1 archivos de entrada y 1 archivo de salida. Las k listas se distribuyen de manera no uniforme en los 2*m-1 archivos de entrada.

El primer archivo de entrada que queda sin registros va a ser el archivo de salida y el archivo de salida pasa a ser de entrada y así se va repitiendo hasta que uno de los archivos tenga los registros ordenados

La idea básica tras este método es aplicar una estrategia mezclar hasta vaciar el archivo, utilizando archivos auxiliares para almacenar el resultado parcial. Durante la ejecución, el archivo de entrada y alguno de salida intercambian papeles y siempre se tiene alguno vacío.

Pasos 1 - Intercalación Balaceada

Paso 2 - Intercala para la cinta 3 dejando libre la cinta 2

Paso 3 - Fusiona la cinta 1 y la 3 en la 2, dejando libre la cinta 1

Paso 4 - Intercala la cinta

Codificación

Codificación

Codificación

Codificación

Codificación

Main Polifase

top related