Algoritmos de ordenamiento externos

3,123 views 65 slides Dec 27, 2016
Slide 1
Slide 1 of 65
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65

About This Presentation

Ordenamiento por intercalación directa
Ordenamiento por intercalación natural
Ordenamiento por intercalación balanceada
Ordenamiento por intercalación polifásica


Slide Content

Universidad De Cuenca Nombres: David Valladares Edisson Sigua Paúl Arévalo Temas: Ordenamientos Externos

Indice Proyectos en GitHub Ordenamiento por intercalación DIRECTA Ordenamiento por intercalación NATURAL Ordenamiento por intercalación BALANCEADA Ordenamiento por intercalación POLIFÁSICA

Proyectos en GitHub Intercalación Directa y Natural https://github.com/jeims17/IntercalacionDirectaNatural Intercalación Balanceada https://github.com/jeims17/IntercalacionBalanceada Intercalación Polifásica https://github.com/jeims17/IntercalacionPolifasica

ORDENAMIENTO POR INTERCALACIÓN DIRECTA

Ordenamiento por Intercalación Directa Probablemente es el método de ordenación externa más utilizado por su fácil comprensión. Su idea central está basada en la estrategia de hacer subdivisiones y fusiones sucesivas de secuencias de tamaño cada vez más grande. Este proceso se repite hasta que el número de pasadas sea la parte entera de ((n + 1)/2) siendo n el número de registros existentes en el archivo.

Ejemplo F: F1: F2: 09 75 05 68 01 25 14

Ejemplo F: F1: F2: 75 05 68 01 25 14 09´

Ejemplo F: F1: F2: 05 68 01 25 14 09´ 75´

Ejemplo F: F1: F2: 05 01 25 14 09´ 68´ 75´

Ejemplo F: F1: F2: 05 01 25 09´ 68´ 75´ 14´

Ejemplo F: F1: F2: 05 01 09´ 68´ 25´ 75´ 14´

Ejemplo F: F1: F2: 01 09´ 68´ 25´ 75´ 14´ 5´

Ejemplo F: F1: F2: 09´ 68´ 25´ 01´ 75´ 14´ 05´

Ejemplo F: F1: F2: 09 75´ 68´ 25´ 01´ 14´ 5´

Ejemplo F: F1: F2: 09 75´ 14 68´ 25´ 01´ 05´

Ejemplo F: F1: F2: 09 75´ 25´ 14 05 68´ 01´

Ejemplo F: F1: F2: 09 75´ 25´ 14 01´ 05 68´

Ejemplo F: F1: F2: 25´ 14 01´ 05 68´ 09 75´

Ejemplo F: F1: F2: 25´ 01´ 05 09 75´ 14 68´

Ejemplo F: F1: F2: 01´ 09 75´ 05 25´ 14 68´

Ejemplo F: F1: F2: 09 75´ 05 25´ 14 68´ 01´

Ejemplo F: F1: F2: 09 14 68 75´ 05 25´ 01´

Ejemplo F: F1: F2: 09 14 05 68 25´ 01 75´

Ejemplo F: F1: F2: 05 25´ 01 09 14 68 75´

Ejemplo F: F1: F2: 09 14 68 75´ 01 05 25´

Ejemplo F: F1: F2: 01 05 68 09 75´ 25 14

Archivos utilizados

Código

ORDENAMIENTO POR INTERCALACIÓN NATURAL

Ordenamiento por Intercalación Natural Este ordenamiento es una optimización del algoritmo de intercalación directa. La idea central de este ordenamiento consiste en realizar las particiones tomando secuencias ordenadas de tamaño máximo en lugar de secuencias fijas. Luego se fusiona estas particiones en el archivo original. Este ordenamiento se realiza hasta que uno de los archivos de las particiones queda vacío.

Ejemplo F: F1: F2: 09 15 30 64 01 15 20

Ejemplo F: F1: F2: 30 01 15 20 09 15 64

Ejemplo F: F1: F2: 30 01 15 09 15 64´ 20´

Ejemplo F: F1: F2: 01 09 15 64´ 30´ 15 20´

Ejemplo F: F1: F2: 09 15 64´ 30´ 15 20´ 01´

Ejemplo F: F1: F2: 09 15 20 64´ 30´ 15 01´

Ejemplo F: F1: F2: 09 15 15 20 30´ 01 64´

Ejemplo F: F1: F2: 15 30´ 01 09 15 20 64´

Ejemplo F: F1: F2: 09 15 20 64´ 01 15 30´

Ejemplo F: F1: F2: 01 09 30 15 64´ 20 15

Ejemplo F: F1: F2: 01 09 30 15 64´ 20 15

Archivos utilizados

Código

ORDENAMIENTO POR INTERCALACIÓN BALANCEADA

Método de Intercalación Balanceada Realizar particiones tomando secuencias ordenadas de máxima longitud en lugar de secuencias ordenadas de tamaño fijo previamente determinadas. La mezcla equilibrada múltiple utiliza m archivos auxiliares, de los que m/2 son de entrada y m/2 de salida. El proceso de mezcla se realiza en una sola fase en lugar de las dos fases (separación, fusión) de los algoritmos mezcla directa y fusión natural.

Pasos Distribuir registros del archivo original por tramos en los m/2 primeros archivos auxiliares. A continuación, estos se consideran archivos de entrada. Mezclar tramos de los m/2 archivos de entrada y escribirlos consecutivamente en los m/2 archivos de salida. Cambiar la finalidad de los archivos, los de entrada pasan a ser de salida y viceversa; repetir a partir del segundo paso hasta que quede un único tramo, entonces la secuencia está ordenada.

Ejemplo 15 3 18 7 18 9 19 9 7 1 3 7 19 15 9 18 18

Ejemplo 9 7 1 3 7 19 15 9 9 18 18 7 1

1 7 9 3 7 18 9 19 18 15 3 7 19 15 9 9 18 18 7 1 Inactivo Inactivo Inactivo

1 7 9 3 7 18 9 19 18 15 1 3 9 7 15 9 18 18 19 7

Archivos Utilizados

Interfaz de código

Interfaz de código

Interfaz de código

ORDENAMIENTO POR INTERCALACIÓN POLIFÁSICA

Método Ordenamiento Polifásico En este método podemos ordenar “n” registros en m archivos auxiliares m-1 Archivos de entrada 1 Archivo de Salida Archivos de Entrada: Los archivos de entrada son aquellos que contendrán la información para realizar el ordenamiento Archivos de Salida: Los archivos de Salida son aquellos en donde se guardarán los registros.

Ejemplo de Mezcla Polifásica Datos Esenciales Número de Archivos Auxiliares : 3 ---> m 2 Archivos de Entrada ---> m - 1 1 Archivo de Salida ---> Restante Salida Salida Entrada

Proceso 1 Distribución de los Registros El primer paso para realizar el ordenamiento es la de distribución de los registros del “ArchivoOriginal” a los archivos auxiliares que posteriormente entrada . Con ello conseguimos 2 objetivos El distribuir los registros del “ArchivoOriginal” a los archivos auxiliares que posteriormente serán de entrada, de forma no uniforme Obtener el número de tramos para realizar el ordenamiento. Para este ejemplo en concreto supongamos que el número de Tramos sea 55

Paso 2 Proceso 34 21 Archivos de Entrada Archivos de Salida 13 21 Archivos de Entrada Archivos de Salida

Proceso 13 21 Archivos de Entrada Archivos de Salida 8 13 Archivos de Entrada Archivos de Salida

Proceso 13 8 Archivos de Entrada Archivos de Salida 5 8 Archivos de Entrada Archivos de Salida

Proceso 5 8 Archivos de Entrada Archivos de Salida 3 5 Archivos de Entrada Archivos de Salida

Proceso 5 3 Archivos de Entrada Archivos de Salida 2 3 Archivos de Entrada Archivos de Salida

Proceso 2 3 Archivos de Entrada Archivos de Salida 1 2 Archivos de Entrada Archivos de Salida

Proceso 2 1 Archivos de Entrada Archivos de Salida 1 1 Archivos de Entrada Archivos de Salida