ordenamientos externos

45
ORDENAMIENTO DE ARCHIVOS EXTERNOS MIGUEL MACÍAS JEFFERSON ARIAS EMILY ARTEAGA

Upload: angel-vazquez-patino

Post on 12-Apr-2017

73 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Ordenamientos externos

ORDENAMIENTO DE ARCHIVOS

EXTERNOSMIGUEL MACÍASJEFFERSON ARIASEMILY ARTEAGA

Page 2: Ordenamientos externos

TIPOS DE ORDENAMIENTOS

- Directa- Natural- Balanceada- Polifase

Page 3: Ordenamientos externos

Order It

Page 4: Ordenamientos externos

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

Page 5: Ordenamientos externos

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.

Page 6: Ordenamientos externos

EjemploSe tiene un archivo con llaves de tipo entero:

Pasada 1

Page 7: Ordenamientos externos

EjemploPasada 2

Pasada 3

Page 8: Ordenamientos externos

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.

Page 9: Ordenamientos externos

Codificación

Page 10: Ordenamientos externos

Codificación

Page 11: Ordenamientos externos

Codificación

Page 12: Ordenamientos externos

Codificación

Page 13: Ordenamientos externos

Codificación

Page 14: Ordenamientos externos

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.

Page 15: Ordenamientos externos

Ejemplo

Page 16: Ordenamientos externos

Main Natural

Page 17: Ordenamientos externos

Codificación

Page 18: Ordenamientos externos

Codificación

Page 19: Ordenamientos externos

Codificación

Page 20: Ordenamientos externos

Codificación

Page 21: Ordenamientos externos

Codificación

Page 22: Ordenamientos externos

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.

Page 23: Ordenamientos externos

EjemploArchivo Original:

Partición Inicial:

Fusión Partición Inicial:

Page 24: Ordenamientos externos

EjemploPartición y Fusión 2:

Partición y Fusión 3:

Page 25: Ordenamientos externos

Codificación

Page 26: Ordenamientos externos

Codificación

Page 27: Ordenamientos externos

Codificación

Page 28: Ordenamientos externos

Codificación

Page 29: Ordenamientos externos

Codificación

Page 30: Ordenamientos externos

Codificación

Page 31: Ordenamientos externos

Codificación

Page 32: Ordenamientos externos

Codificación

Page 33: Ordenamientos externos

Main Balaceada

Page 34: Ordenamientos externos

Main Balanceada

Page 35: Ordenamientos externos

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.

Page 36: Ordenamientos externos

Pasos 1 - Intercalación Balaceada

Page 37: Ordenamientos externos

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

Page 38: Ordenamientos externos

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

Page 39: Ordenamientos externos

Paso 4 - Intercala la cinta

Page 40: Ordenamientos externos

Codificación

Page 41: Ordenamientos externos

Codificación

Page 42: Ordenamientos externos

Codificación

Page 43: Ordenamientos externos

Codificación

Page 44: Ordenamientos externos

Codificación

Page 45: Ordenamientos externos

Main Polifase