Upload
henri-calot
View
83
Download
0
Embed Size (px)
Citation preview
Compilado de resoluciones de ejercicios de final de Algoritmos y
Programacion II del ano 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-01-20
2 1 Motivacion
1. Motivacion
El siguiente compilado cuenta con ocho resoluciones a parciales tomados por nuestra Catedra de
Algoritmos y Programacion II de la Facultad de Ingenierıa de la Universidad de Buenos Aires. Cada
examen contiene un enunciado, su resolucion y todas las posibles resoluciones que se podrıan haber
llegado a tomar. La presente compilacion fue realizada con el objetivo de que el alumno aprenda el
funcionamiento de los algoritmos en la practica, pero se recomienda fuertemente complementar el mismo
con una lectura sobre el material teorico sobre cada tema. Las resoluciones son un complemento muy
importante para el estudio y para entender los algoritmos, pero no contienen, ni pretenden contener una
explicacion completa del funcionamiento de los mismos.
2. Licencia
El presente documento esta protegido por las leyes de propiedad intelectual y sujeto a la licencia
Creative Commons CC BY-SA 3.0. Esta licencia permite Compartir –copiar, distribuir y comunicar
publicamente la obra–, hacer obras derivadas e incluso hacer un uso comercial de la misma, siempre y
cuando se atribuyan los creditos de autorıa de la obra y se comparta con una licencia compatible.
Enrique P. Calot Algoritmos y Programacion II
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 8 de Febrero de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-02-08
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 62.2.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. c. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. c. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. d. Seleccion Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6. e. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.6.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Resolucion explayada 16
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5. Merge Polifasico de las salidas por seleccion natural . . . . . . . . . . . . . . . . . . . . . 423.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 423.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 423.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.7. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 423.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 453.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 473.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.9. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 473.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 503.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.10. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 503.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 52
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.11.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.12. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 563.13.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 563.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.14. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 563.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 593.15.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 593.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.16. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 633.17.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 633.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.18. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 643.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.19. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 643.19.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 643.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.20. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 663.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 663.21.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 673.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.22. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 703.23.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 703.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.24. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 703.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 723.25.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 723.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.26. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 743.27.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 74
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.28. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.28.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.29. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.30. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.31. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.32. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.33. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
263, 267, 167, 395, 22†, 330, 49, 114†, 108†, 295, 356†, 3, 238, 224,
222, 47†, 200, 156†, 250, 162, 318†
Se pide:
a. El Sort Externo se suele utilizar cuando el tamano del lote de datos es superior al que puedealmacenar la maquina en su memoria interna, ya que en tal caso es mas util ordenar mediantetecnicas de Sort Interno. ¿en que otro caso se debe usar Sort Externo, incluso conociendo el tamanodel lote de datos y sabiendo que este es menor a la memoria interna?
b. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta habercompletado dos niveles de recursividad).
d. Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
e. Procesar el B-tree de orden tal que, con un elemento –a excepcion de la raız– hace underflow perocon 2 no, resultante de ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
222, 224†, 250†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Pregunta teorica
El Sort Externo se suele utilizar cuando el tamano del lote de datos es superior al que puede almacenarla maquina en su memoria interna, ya que en tal caso es mas util ordenar mediante tecnicas de Sort
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 b. Merge Polifasico
Fases c1 c2 c3
∑3i=1 ci < 21
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Interno. ¿en que otro caso se debe usar Sort Externo, incluso conociendo el tamano del lote de datos ysabiendo que este es menor a la memoria interna?
2.1.1. Respuesta
Influye el factor temproal, es decir cuando aun no tengo todos los elementos a ordenar, me convieneir ordenandolos a medias pese a que en suma si los ordeno todos juntos me tomarıa menos tiempo.
2.2. b. Merge Polifasico
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
2.2.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.2.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.3. c. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
2.3.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
2.4. c. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
Enrique P. Calot Algoritmos y Programacion II
2.4 c. Quick Sort 7
E1 E2 E3 S
D D D –D D D –D D D –D 263 267 –167 395 22 –330 49 114 –108 295 356 –3 238 – –224 222 – –47 200 – –156 250 – –162 – – –318 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 263 267 263, 267167 395 22 22, 167, 395330 49 114 49, 114, 330108 295 356 108, 295, 356
E1 E2 S E3
3 238 – D
224 222 – D
47 200 – D
156 250 – 263, 267162 – – 22, 167, 395318 – – 49, 114, 330– – – 108, 295, 356
Cuadro 3: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.5 d. Seleccion Natural
E1 E2 E3 S
D D D D
D D D D
D D D D
D 263 267 263, 267167 395 22 22, 167, 395330 49 114 49, 114, 330108 295 356 108, 295, 356
E1 E2 S E3
3 238 3, 238 D
224 222 222, 224 D
47 200 47, 200 D
156 250 156, 250, 263, 267 263, 267
E1 S E2 E3
162 – 3, 238 22, 167, 395318 – 222, 224 49, 114, 330– – 47, 200 108, 295, 356– – 156, 250, 263, 267 –
Cuadro 4: Fase 3
2.4.1. Desarrollo
2.5. d. Seleccion Natural
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
2.5.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
2.5.2. Salida final
p1 = {167, 263, 267, 330, 395};
p2 = {22, 49, 108, 114, 224, 238, 295, 356};
p3 = {3, 47, 156, 162, 200, 222, 250, 318}.
2.6. e. Ejercicio de B-trees
Procesar el B-tree de orden tal que, con un elemento –a excepcion de la raız– hace underflow perocon 2 no, resultante de ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
222, 224†, 250†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Ejercicio de B-trees 9
E1 E2 E3 S
D D D D
D D D D
D D D D
D 263 267 263, 267167 395 22 22, 167, 395330 49 114 49, 114, 330108 295 356 108, 295, 356
E1 E2 S E3
3 238 3, 238 D
224 222 222, 224 D
47 200 47, 200 D
156 250 156, 250, 263, 267 263, 267
E1 S E2 E3
162 3, 22, 162, 167, 238,395
3, 238 22, 167, 395
318 49, 114, 222, 224,318, 330
222, 224 49, 114, 330
S E1 E2 E3
– 3, 22, 162, 167, 238,395
47, 200 108, 295, 356
– 49, 114, 222, 224,318, 330
156, 250, 263, 267 –
Cuadro 5: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.6 e. Ejercicio de B-trees
E1 E2 E3 S
D D D D
D D D D
D D D D
D 263 267 263, 267167 395 22 22, 167, 395330 49 114 49, 114, 330108 295 356 108, 295, 356
E1 E2 S E3
3 238 3, 238 D
224 222 222, 224 D
47 200 47, 200 D
156 250 156, 250, 263, 267 263, 267
E1 S E2 E3
162 3, 22, 162, 167, 238,395
3, 238 22, 167, 395
318 49, 114, 222, 224,318, 330
222, 224 49, 114, 330
S E1 E2 E3
3, 22, 47, 108, 162,167, 200, 238, 295,356, 395
3, 22, 162, 167, 238,395
47, 200 108, 295, 356
E3 E1 E2 S
3, 22, 47, 108, 162,167, 200, 238, 295,356, 395
49, 114, 222, 224,318, 330
156, 250, 263, 267 –
Cuadro 6: Fase 5
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Ejercicio de B-trees 11
E1 E2 E3 S
D D D D
D D D D
D D D D
D 263 267 263, 267167 395 22 22, 167, 395330 49 114 49, 114, 330108 295 356 108, 295, 356
E1 E2 S E3
3 238 3, 238 D
224 222 222, 224 D
47 200 47, 200 D
156 250 156, 250, 263, 267 263, 267
E1 S E2 E3
162 3, 22, 162, 167, 238,395
3, 238 22, 167, 395
318 49, 114, 222, 224,318, 330
222, 224 49, 114, 330
S E1 E2 E3
3, 22, 47, 108, 162,167, 200, 238, 295,356, 395
3, 22, 162, 167, 238,395
47, 200 108, 295, 356
E3 E1 E2 S
3, 22, 47, 108, 162,167, 200, 238, 295,356, 395
49, 114, 222, 224,318, 330
156, 250, 263, 267 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E1 E2 E3
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 7: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.6 e. Ejercicio de B-trees
Paso 0 Paso 1 Paso 2 Paso 3263 330 200 003267 200 003 022167 250 108 047395 022 114 049022 222 318 108330 162 022 114049 263 222 156114 003 224 162108 114 330 167295 224 238 200356 395 047 222003 295 049 224238 356 250 238224 156 356 250222 267 156 263047 167 162 267200 047 263 295156 108 267 318250 238 167 330162 318 395 356318 049 295 395
Cuadro 8: Radix Sort
Paso 1 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318
Paso 2 222 162 167 250 22 156 49 114 108 200 47 3 238 224 263 356 295 330 395 267 318
Paso 3 47 162 167 3 22 156 49 114 108 200 222 250 238 224 267 295 330 318 356 395
Final 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395
Cuadro 9: Implementacion del Quick Sort
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Ejercicio de B-trees 13
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra– – – – – – – – Nada 263
263 – – – – – – – Nada 267263 267 – – – – – – Nada 167263 267 167 – – – – – Nada 395263 267 167 395 – – – – 167 22263 267 – 395 22 – – – Nada 330263 267 330 395 22 – – – 263 49– 267 330 395 22 49 – – Nada 114– 267 330 395 22 49 114 – Nada 108– 267 330 395 22 49 114 108 267 Nada– – 330 395 22 49 114 108 330 Nada– – – 395 22 49 114 108 395 Nada
22 49 114 108 – – – –Nueva particion! Se cierra la particion p1 = {167, 263, 267, 330, 395}
22 295295 49 114 108 – – – – 49 356295 356 114 108 – – – – 108 3295 356 114 – 3 – – – Nada 238295 356 114 238 3 – – – 114 224295 356 224 238 3 – – – 224 222295 356 – 238 3 222 – – Nada 47295 356 – 238 3 222 47 – Nada 200295 356 – 238 3 222 47 200 238 Nada295 356 – – 3 222 47 200 295 Nada– 356 – – 3 222 47 200 356 Nada3 222 47 200 – – – –
Nueva particion! Se cierra la particion p2 = {22, 49, 108, 114, 224, 238, 295, 356}3 156
156 222 47 200 – – – – 47 250156 222 250 200 – – – – 156 162162 222 250 200 – – – – 162 318318 222 250 200 – – – – 200 Nada318 222 250 – – – – – 222 Nada318 – 250 – – – – – 250 Nada318 – – – – – – – 318 NadaFinaliza la ultima particion en p3 = {3, 47, 156, 162, 200, 222, 250, 318}
Cuadro 10: Algoritmo de seleccion de natural
Algoritmos y Programacion II Facultad de Ingenierıa
14 2.6 e. Ejercicio de B-trees
2.6.1. Insercion
•263•
×22×167× ×267×395×
Figura 1: Insercion de 5 elementos: 263, 267, 167, 395, 22
•263•
×22×49×114×167× ×267×330×395×
Figura 2: Insercion de 3 elementos: 330, 49, 114
•108•263•
×22×49× ×114×167× ×267×330×395×
Figura 3: Insercion de 1 elemento: 108
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Ejercicio de B-trees 15
•108•263•330•
×22×49× ×114×167× ×267×295× ×356×395×
Figura 4: Insercion de 2 elementos: 295, 356
•108•222•263•330•
×3×22×47×49× ×114×167× ×224×238× ×267×295× ×356×395×
Figura 5: Insercion de 5 elementos: 3, 238, 224, 222, 47
•108•222•263•330•
×3×22×47×49× ×114×156×167×200× ×224×238× ×267×295× ×356×395×
Figura 6: Insercion de 2 elementos: 200, 156
•222•
•108•162• •263•330•
×3×22×47×49× ×114×156× ×167×200× ×224×238×250× ×267×295×318× ×356×395×
Figura 7: Insercion de 3 elementos: 250, 162, 318
Algoritmos y Programacion II Facultad de Ingenierıa
16 3 Resolucion explayada
2.6.2. Eliminacion
•108•162•263•330•
×3×22×47×49× ×114×156× ×167×200×238×250× ×267×295×318× ×356×395×
Figura 8: Eliminacion de 2 elementos: 222, 224
•108•162•263•330•
×3×22×47×49× ×114×156× ×167×200×238× ×267×295×318× ×356×395×
Figura 9: Eliminacion de 1 elemento: 250
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
3.2. Quick Sort completo
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1. Desarrollo
3.3. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 17
Paso 0 Paso 1 Paso 2 Paso 3263 049 395 395267 108 295 356167 238 267 330395 318 167 318022 267 263 295330 167 162 267049 047 356 263114 356 156 250108 156 250 238295 395 049 224356 295 047 222003 114 238 200238 224 330 167224 263 224 162222 003 022 156047 022 222 114200 222 318 108156 162 114 049250 330 108 047162 200 003 022318 250 200 003
Cuadro 11: Radix Sort
Paso 1 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318
Paso 2 222 162 167 250 22 156 49 114 108 200 47 3 238 224 263 356 295 330 395 267 318
Paso 3 47 162 167 3 22 156 49 114 108 200 222 250 238 224 267 295 330 318 356 395
Paso 4 3 22 47 167 162 156 49 114 108 200 224 238 250 267 295 330 318
Paso 5 3 22 108 162 156 49 114 167 200 224 238 295 330 318
Paso 6 49 108 156 162 114 318 330
Final 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395
Cuadro 12: Implementacion del Quick Sort
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort
263
267 167
395 22 330 49
114 108 295 356 3 238 224 222
47 200 156 250 162 318
Vector:
263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318
Figura 10: Arbol inicial y su vector asociado
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 19
263
267 167
395 22 330 49
114 108 295 356 3 238 224 222
47 200 156 250 162 318
Vector:
263 267 167 395 22 330 49 114 108 295 356
3 238 224 222 47 200 156 250 162 318
(a) Heapfy paso 0
263
267 167
395 22 330 49
200 250 318 356 3 238 224 222
47 114 156 108 162 295
Vector:
263 267 167 395 22 330 49 200 250 318 356
3 238 224 222 47 114 156 108 162 295
(b) Heapfy paso 1
263
267 167
395 356 330 224
200 250 318 22 3 238 49 222
47 114 156 108 162 295
Vector:
263 267 167 395 356 330 224 200 250 318 22
3 238 49 222 47 114 156 108 162 295
(c) Heapfy paso 2
263
395 330
267 356 238 224
200 250 318 22 3 167 49 222
47 114 156 108 162 295
Vector:
263 395 330 267 356 238 224 200 250 318 22
3 167 49 222 47 114 156 108 162 295
(d) Heapfy paso 3
395
356 330
267 318 238 224
200 250 295 22 3 167 49 222
47 114 156 108 162 263
Vector:
395 356 330 267 318 238 224 200 250 295 22
3 167 49 222 47 114 156 108 162 263
(e) Heapfy paso 4
Figura 11: Proceso de Heapfy
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort
263
356 330
267 318 238 224
200 250 295 22 3 167 49 222
47 114 156 108 162 395
Vector:
263 356 330 267 318 238 224 200 250 295 22
3 167 49 222 47 114 156 108 162 395
(a) Intercambio y congelamiento
356
318 330
267 295 238 224
200 250 263 22 3 167 49 222
47 114 156 108 162 395
Vector:
356 318 330 267 295 238 224 200 250 263 22
3 167 49 222 47 114 156 108 162 395
(b) Swapdown
Figura 12: Paso 1
162
318 330
267 295 238 224
200 250 263 22 3 167 49 222
47 114 156 108 356 395
Vector:
162 318 330 267 295 238 224 200 250 263 22
3 167 49 222 47 114 156 108 356 395
(a) Intercambio y congelamiento
330
318 238
267 295 167 224
200 250 263 22 3 162 49 222
47 114 156 108 356 395
Vector:
330 318 238 267 295 167 224 200 250 263 22
3 162 49 222 47 114 156 108 356 395
(b) Swapdown
Figura 13: Paso 2
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 21
108
318 238
267 295 167 224
200 250 263 22 3 162 49 222
47 114 156 330 356 395
Vector:
108 318 238 267 295 167 224 200 250 263 22
3 162 49 222 47 114 156 330 356 395
(a) Intercambio y congelamiento
318
295 238
267 263 167 224
200 250 108 22 3 162 49 222
47 114 156 330 356 395
Vector:
318 295 238 267 263 167 224 200 250 108 22
3 162 49 222 47 114 156 330 356 395
(b) Swapdown
Figura 14: Paso 3
156
295 238
267 263 167 224
200 250 108 22 3 162 49 222
47 114 318 330 356 395
Vector:
156 295 238 267 263 167 224 200 250 108 22
3 162 49 222 47 114 318 330 356 395
(a) Intercambio y congelamiento
295
267 238
250 263 167 224
200 156 108 22 3 162 49 222
47 114 318 330 356 395
Vector:
295 267 238 250 263 167 224 200 156 108 22
3 162 49 222 47 114 318 330 356 395
(b) Swapdown
Figura 15: Paso 4
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort
114
267 238
250 263 167 224
200 156 108 22 3 162 49 222
47 295 318 330 356 395
Vector:
114 267 238 250 263 167 224 200 156 108 22
3 162 49 222 47 295 318 330 356 395
(a) Intercambio y congelamiento
267
263 238
250 114 167 224
200 156 108 22 3 162 49 222
47 295 318 330 356 395
Vector:
267 263 238 250 114 167 224 200 156 108 22
3 162 49 222 47 295 318 330 356 395
(b) Swapdown
Figura 16: Paso 5
47
263 238
250 114 167 224
200 156 108 22 3 162 49 222
267 295 318 330 356 395
Vector:
47 263 238 250 114 167 224 200 156 108 22
3 162 49 222 267 295 318 330 356 395
(a) Intercambio y congelamiento
263
250 238
200 114 167 224
47 156 108 22 3 162 49 222
267 295 318 330 356 395
Vector:
263 250 238 200 114 167 224 47 156 108 22
3 162 49 222 267 295 318 330 356 395
(b) Swapdown
Figura 17: Paso 6
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 23
222
250 238
200 114 167 224
47 156 108 22 3 162 49 263
267 295 318 330 356 395
Vector:
222 250 238 200 114 167 224 47 156 108 22
3 162 49 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
250
222 238
200 114 167 224
47 156 108 22 3 162 49 263
267 295 318 330 356 395
Vector:
250 222 238 200 114 167 224 47 156 108 22
3 162 49 263 267 295 318 330 356 395
(b) Swapdown
Figura 18: Paso 7
49
222 238
200 114 167 224
47 156 108 22 3 162 250 263
267 295 318 330 356 395
Vector:
49 222 238 200 114 167 224 47 156 108 22
3 162 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
238
222 224
200 114 167 49
47 156 108 22 3 162 250 263
267 295 318 330 356 395
Vector:
238 222 224 200 114 167 49 47 156 108 22
3 162 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 19: Paso 8
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort
162
222 224
200 114 167 49
47 156 108 22 3 238 250 263
267 295 318 330 356 395
Vector:
162 222 224 200 114 167 49 47 156 108 22
3 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
224
222 167
200 114 162 49
47 156 108 22 3 238 250 263
267 295 318 330 356 395
Vector:
224 222 167 200 114 162 49 47 156 108 22
3 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 20: Paso 9
3
222 167
200 114 162 49
47 156 108 22 224 238 250 263
267 295 318 330 356 395
Vector:
3 222 167 200 114 162 49 47 156 108 22
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
222
200 167
156 114 162 49
47 3 108 22 224 238 250 263
267 295 318 330 356 395
Vector:
222 200 167 156 114 162 49 47 3 108 22
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 21: Paso 10
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 25
22
200 167
156 114 162 49
47 3 108 222 224 238 250 263
267 295 318 330 356 395
Vector:
22 200 167 156 114 162 49 47 3 108 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
200
156 167
47 114 162 49
22 3 108 222 224 238 250 263
267 295 318 330 356 395
Vector:
200 156 167 47 114 162 49 22 3 108 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 22: Paso 11
108
156 167
47 114 162 49
22 3 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
108 156 167 47 114 162 49 22 3 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
167
156 162
47 114 108 49
22 3 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
167 156 162 47 114 108 49 22 3 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 23: Paso 12
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort
3
156 162
47 114 108 49
22 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
3 156 162 47 114 108 49 22 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
162
156 108
47 114 3 49
22 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
162 156 108 47 114 3 49 22 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 24: Paso 13
22
156 108
47 114 3 49
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
22 156 108 47 114 3 49 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
156
114 108
47 22 3 49
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
156 114 108 47 22 3 49 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 25: Paso 14
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 27
49
114 108
47 22 3 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
49 114 108 47 22 3 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
114
49 108
47 22 3 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
114 49 108 47 22 3 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 26: Paso 15
3
49 108
47 22 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
3 49 108 47 22 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
108
49 3
47 22 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
108 49 3 47 22 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 27: Paso 16
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort
22
49 3
47 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
22 49 3 47 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
49
47 3
22 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
49 47 3 22 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 28: Paso 17
22
47 3
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
22 47 3 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
47
22 3
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
47 22 3 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 29: Paso 18
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort 29
3
22 47
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
3 22 47 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
22
3 47
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
22 3 47 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 30: Paso 19
3
22 47
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
3 22 47 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(a) Intercambio y congelamiento
3
22 47
49 108 114 156
162 167 200 222 224 238 250 263
267 295 318 330 356 395
Vector:
3 22 47 49 108 114 156 162 167 200 222
224 238 250 263 267 295 318 330 356 395
(b) Swapdown
Figura 31: Paso 20
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.4 Heap Sort descendente
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
3.4.1. Arbol inicial
263
267 167
395 22 330 49
114 108 295 356 3 238 224 222
47 200 156 250 162 318
Vector:
263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318
Figura 32: Arbol inicial y su vector asociado
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
263
267 167
395 22 330 49
114 108 295 356 3 238 224 222
47 200 156 250 162 318
Vector:
263 267 167 395 22 330 49 114 108 295 356
3 238 224 222 47 200 156 250 162 318
(a) Heapfy paso 0
263
267 167
395 22 330 49
47 108 162 356 3 238 224 222
114 200 156 250 295 318
Vector:
263 267 167 395 22 330 49 47 108 162 356
3 238 224 222 114 200 156 250 295 318
(b) Heapfy paso 1
263
267 167
47 22 3 49
114 108 162 356 330 238 224 222
395 200 156 250 295 318
Vector:
263 267 167 47 22 3 49 114 108 162 356
330 238 224 222 395 200 156 250 295 318
(c) Heapfy paso 2
263
22 3
47 162 167 49
114 108 267 356 330 238 224 222
395 200 156 250 295 318
Vector:
263 22 3 47 162 167 49 114 108 267 356
330 238 224 222 395 200 156 250 295 318
(d) Heapfy paso 3
3
22 49
47 162 167 222
114 108 267 356 330 238 224 263
395 200 156 250 295 318
Vector:
3 22 49 47 162 167 222 114 108 267 356
330 238 224 263 395 200 156 250 295 318
(e) Heapfy paso 4
Figura 33: Proceso de Heapfy
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
318
22 49
47 162 167 222
114 108 267 356 330 238 224 263
395 200 156 250 295 3
Vector:
318 22 49 47 162 167 222 114 108 267 356
330 238 224 263 395 200 156 250 295 3
(a) Intercambio y congelamiento
22
47 49
108 162 167 222
114 156 267 356 330 238 224 263
395 200 318 250 295 3
Vector:
22 47 49 108 162 167 222 114 156 267 356
330 238 224 263 395 200 318 250 295 3
(b) Swapdown
Figura 34: Paso 1
295
47 49
108 162 167 222
114 156 267 356 330 238 224 263
395 200 318 250 22 3
Vector:
295 47 49 108 162 167 222 114 156 267 356
330 238 224 263 395 200 318 250 22 3
(a) Intercambio y congelamiento
47
108 49
114 162 167 222
200 156 267 356 330 238 224 263
395 295 318 250 22 3
Vector:
47 108 49 114 162 167 222 200 156 267 356
330 238 224 263 395 295 318 250 22 3
(b) Swapdown
Figura 35: Paso 2
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
250
108 49
114 162 167 222
200 156 267 356 330 238 224 263
395 295 318 47 22 3
Vector:
250 108 49 114 162 167 222 200 156 267 356
330 238 224 263 395 295 318 47 22 3
(a) Intercambio y congelamiento
49
108 167
114 162 238 222
200 156 267 356 330 250 224 263
395 295 318 47 22 3
Vector:
49 108 167 114 162 238 222 200 156 267 356
330 250 224 263 395 295 318 47 22 3
(b) Swapdown
Figura 36: Paso 3
318
108 167
114 162 238 222
200 156 267 356 330 250 224 263
395 295 49 47 22 3
Vector:
318 108 167 114 162 238 222 200 156 267 356
330 250 224 263 395 295 49 47 22 3
(a) Intercambio y congelamiento
108
114 167
156 162 238 222
200 318 267 356 330 250 224 263
395 295 49 47 22 3
Vector:
108 114 167 156 162 238 222 200 318 267 356
330 250 224 263 395 295 49 47 22 3
(b) Swapdown
Figura 37: Paso 4
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
295
114 167
156 162 238 222
200 318 267 356 330 250 224 263
395 108 49 47 22 3
Vector:
295 114 167 156 162 238 222 200 318 267 356
330 250 224 263 395 108 49 47 22 3
(a) Intercambio y congelamiento
114
156 167
200 162 238 222
295 318 267 356 330 250 224 263
395 108 49 47 22 3
Vector:
114 156 167 200 162 238 222 295 318 267 356
330 250 224 263 395 108 49 47 22 3
(b) Swapdown
Figura 38: Paso 5
395
156 167
200 162 238 222
295 318 267 356 330 250 224 263
114 108 49 47 22 3
Vector:
395 156 167 200 162 238 222 295 318 267 356
330 250 224 263 114 108 49 47 22 3
(a) Intercambio y congelamiento
156
162 167
200 267 238 222
295 318 395 356 330 250 224 263
114 108 49 47 22 3
Vector:
156 162 167 200 267 238 222 295 318 395 356
330 250 224 263 114 108 49 47 22 3
(b) Swapdown
Figura 39: Paso 6
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
263
162 167
200 267 238 222
295 318 395 356 330 250 224 156
114 108 49 47 22 3
Vector:
263 162 167 200 267 238 222 295 318 395 356
330 250 224 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
162
200 167
263 267 238 222
295 318 395 356 330 250 224 156
114 108 49 47 22 3
Vector:
162 200 167 263 267 238 222 295 318 395 356
330 250 224 156 114 108 49 47 22 3
(b) Swapdown
Figura 40: Paso 7
224
200 167
263 267 238 222
295 318 395 356 330 250 162 156
114 108 49 47 22 3
Vector:
224 200 167 263 267 238 222 295 318 395 356
330 250 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
167
200 222
263 267 238 224
295 318 395 356 330 250 162 156
114 108 49 47 22 3
Vector:
167 200 222 263 267 238 224 295 318 395 356
330 250 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 41: Paso 8
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
250
200 222
263 267 238 224
295 318 395 356 330 167 162 156
114 108 49 47 22 3
Vector:
250 200 222 263 267 238 224 295 318 395 356
330 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
200
250 222
263 267 238 224
295 318 395 356 330 167 162 156
114 108 49 47 22 3
Vector:
200 250 222 263 267 238 224 295 318 395 356
330 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 42: Paso 9
330
250 222
263 267 238 224
295 318 395 356 200 167 162 156
114 108 49 47 22 3
Vector:
330 250 222 263 267 238 224 295 318 395 356
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
222
250 224
263 267 238 330
295 318 395 356 200 167 162 156
114 108 49 47 22 3
Vector:
222 250 224 263 267 238 330 295 318 395 356
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 43: Paso 10
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
356
250 224
263 267 238 330
295 318 395 222 200 167 162 156
114 108 49 47 22 3
Vector:
356 250 224 263 267 238 330 295 318 395 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
224
250 238
263 267 356 330
295 318 395 222 200 167 162 156
114 108 49 47 22 3
Vector:
224 250 238 263 267 356 330 295 318 395 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 44: Paso 11
395
250 238
263 267 356 330
295 318 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 250 238 263 267 356 330 295 318 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
238
250 330
263 267 356 395
295 318 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
238 250 330 263 267 356 395 295 318 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 45: Paso 12
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
318
250 330
263 267 356 395
295 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
318 250 330 263 267 356 395 295 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
250
263 330
295 267 356 395
318 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
250 263 330 295 267 356 395 318 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 46: Paso 13
318
263 330
295 267 356 395
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
318 263 330 295 267 356 395 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
263
267 330
295 318 356 395
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
263 267 330 295 318 356 395 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 47: Paso 14
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
395
267 330
295 318 356 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 267 330 295 318 356 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
267
295 330
395 318 356 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
267 295 330 395 318 356 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 48: Paso 15
356
295 330
395 318 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
356 295 330 395 318 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
295
318 330
395 356 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
295 318 330 395 356 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 49: Paso 16
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
356
318 330
395 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
356 318 330 395 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
318
356 330
395 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
318 356 330 395 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 50: Paso 17
395
356 330
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 356 330 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
330
356 395
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
330 356 395 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 51: Paso 18
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
395
356 330
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 356 330 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
356
395 330
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
356 395 330 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 52: Paso 19
395
356 330
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 356 330 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(a) Intercambio y congelamiento
395
356 330
318 295 267 263
250 238 224 222 200 167 162 156
114 108 49 47 22 3
Vector:
395 356 330 318 295 267 263 250 238 224 222
200 167 162 156 114 108 49 47 22 3
(b) Swapdown
Figura 53: Paso 20
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.5 Merge Polifasico de las salidas por seleccion natural
3.5. Merge Polifasico de las salidas por seleccion natural
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 3 = 1 + 1 + 1 = 3 + 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {22, 167, 263, 267, 395}; p2 = {49, 114, 330}; . . . ; p6 = {156, 200}; p7 = {162, 250, 318}.
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 9 = 4 + 3 + 2 = 7 + 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.7. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {263, 267}; p2 = {167, 395}; . . . ; p10 = {162, 250}; p11 = {318}.
Fases c1 c2 c3
∑3i=1 ci < 3
0 1 0 0 1 Si1 1 1 1 3 No
Cuadro 13: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico con particiones formadas de 2 elementos 43
E1 E2 E3 S
167, 263, 267, 330,395
22, 49, 108, 114, 224,238, 295, 356
3, 47, 156, 162, 200,222, 250, 318
–
Cuadro 14: Fase 1
E1 E2 E3 S
167, 263, 267, 330,395
22, 49, 108, 114, 224,238, 295, 356
3, 47, 156, 162, 200,222, 250, 318
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E2 E3 E1
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 15: Fase final
Fases c1 c2 c3
∑3i=1 ci < 7
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 16: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 22, 167, 263, 267, 395 –49, 114, 330 108 295, 356 –3, 47, 222, 224, 238 156, 200 – –162, 250, 318 – – –
Cuadro 17: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.7 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D 22, 167, 263, 267, 395 22, 167, 263, 267, 39549, 114, 330 108 295, 356 49, 108, 114, 295,
330, 356
E1 E2 S E3
3, 47, 222, 224, 238 156, 200 – 22, 167, 263, 267, 395162, 250, 318 – – 49, 108, 114, 295,
330, 356
Cuadro 18: Fase 2
E1 E2 E3 S
D D 22, 167, 263, 267, 395 22, 167, 263, 267, 39549, 114, 330 108 295, 356 49, 108, 114, 295,
330, 356
E1 E2 S E3
3, 47, 222, 224, 238 156, 200 3, 22, 47, 156, 167,200, 222, 224, 238,263, 267, 395
22, 167, 263, 267, 395
E1 S E2 E3
162, 250, 318 – 3, 22, 47, 156, 167,200, 222, 224, 238,263, 267, 395
49, 108, 114, 295,330, 356
Cuadro 19: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico con particiones formadas de 2 elementos 45
E1 E2 E3 S
D D 22, 167, 263, 267, 395 22, 167, 263, 267, 39549, 114, 330 108 295, 356 49, 108, 114, 295,
330, 356
E1 E2 S E3
3, 47, 222, 224, 238 156, 200 3, 22, 47, 156, 167,200, 222, 224, 238,263, 267, 395
22, 167, 263, 267, 395
E1 S E2 E3
162, 250, 318 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
3, 22, 47, 156, 167,200, 222, 224, 238,263, 267, 395
49, 108, 114, 295,330, 356
S E1 E2 E3
– 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– –
Cuadro 20: Fase final
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
Fases c1 c2 c3
∑3i=1 ci < 11
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 21: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.7 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D –D D D –263, 267 167, 395 22, 330 –49, 114 108, 295 3, 356 –224, 238 47, 222 – –156, 200 162, 250 – –318 – – –
Cuadro 22: Fase 1
E1 E2 E3 S
D D D D
D D D D
263, 267 167, 395 22, 330 22, 167, 263, 267,330, 395
49, 114 108, 295 3, 356 3, 49, 108, 114, 295,356
E1 E2 S E3
224, 238 47, 222 – D
156, 200 162, 250 – D
318 – – 22, 167, 263, 267,330, 395
– – – 3, 49, 108, 114, 295,356
Cuadro 23: Fase 2
E1 E2 E3 S
D D D D
D D D D
263, 267 167, 395 22, 330 22, 167, 263, 267,330, 395
49, 114 108, 295 3, 356 3, 49, 108, 114, 295,356
E1 E2 S E3
224, 238 47, 222 47, 222, 224, 238 D
156, 200 162, 250 156, 162, 200, 250 D
E1 S E2 E3
318 – 47, 222, 224, 238 22, 167, 263, 267,330, 395
– – 156, 162, 200, 250 3, 49, 108, 114, 295,356
Cuadro 24: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 47
E1 E2 E3 S
D D D D
D D D D
263, 267 167, 395 22, 330 22, 167, 263, 267,330, 395
49, 114 108, 295 3, 356 3, 49, 108, 114, 295,356
E1 E2 S E3
224, 238 47, 222 47, 222, 224, 238 D
156, 200 162, 250 156, 162, 200, 250 D
E1 S E2 E3
318 22, 47, 167, 222, 224,238, 263, 267, 318,330, 395
47, 222, 224, 238 22, 167, 263, 267,330, 395
S E1 E2 E3
– 22, 47, 167, 222, 224,238, 263, 267, 318,330, 395
156, 162, 200, 250 3, 49, 108, 114, 295,356
Cuadro 25: Fase 4
3.8. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {167, 263, 267}; p2 = {22, 330, 395}; . . . ; p6 = {47, 156, 200}; p7 = {162, 250, 318}.
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 9 = 4 + 3 + 2 = 7 + 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {167, 263, 267, 395}; p2 = {22, 49, 114, 330}; p3 = {3, 108, 295, 356}; p4 ={47, 222, 224, 238}; p5 = {156, 162, 200, 250}; p6 = {318}.
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.9 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
D D D D
263, 267 167, 395 22, 330 22, 167, 263, 267,330, 395
49, 114 108, 295 3, 356 3, 49, 108, 114, 295,356
E1 E2 S E3
224, 238 47, 222 47, 222, 224, 238 D
156, 200 162, 250 156, 162, 200, 250 D
E1 S E2 E3
318 22, 47, 167, 222, 224,238, 263, 267, 318,330, 395
47, 222, 224, 238 22, 167, 263, 267,330, 395
S E1 E2 E3
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
22, 47, 167, 222, 224,238, 263, 267, 318,330, 395
156, 162, 200, 250 3, 49, 108, 114, 295,356
E1 S E2 E3
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– – –
Cuadro 26: Fase final
Fases c1 c2 c3
∑3i=1 ci < 7
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 27: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 167, 263, 267 –22, 330, 395 49, 108, 114 3, 295, 356 –222, 224, 238 47, 156, 200 – –162, 250, 318 – – –
Cuadro 28: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 4 elementos 49
E1 E2 E3 S
D D 167, 263, 267 167, 263, 26722, 330, 395 49, 108, 114 3, 295, 356 3, 22, 49, 108, 114,
295, 330, 356, 395
E1 E2 S E3
222, 224, 238 47, 156, 200 – 167, 263, 267162, 250, 318 – – 3, 22, 49, 108, 114,
295, 330, 356, 395
Cuadro 29: Fase 2
E1 E2 E3 S
D D 167, 263, 267 167, 263, 26722, 330, 395 49, 108, 114 3, 295, 356 3, 22, 49, 108, 114,
295, 330, 356, 395
E1 E2 S E3
222, 224, 238 47, 156, 200 47, 156, 167, 200,222, 224, 238, 263,267
167, 263, 267
E1 S E2 E3
162, 250, 318 – 47, 156, 167, 200,222, 224, 238, 263,267
3, 22, 49, 108, 114,295, 330, 356, 395
Cuadro 30: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.10 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 167, 263, 267 167, 263, 26722, 330, 395 49, 108, 114 3, 295, 356 3, 22, 49, 108, 114,
295, 330, 356, 395
E1 E2 S E3
222, 224, 238 47, 156, 200 47, 156, 167, 200,222, 224, 238, 263,267
167, 263, 267
E1 S E2 E3
162, 250, 318 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
47, 156, 167, 200,222, 224, 238, 263,267
3, 22, 49, 108, 114,295, 330, 356, 395
S E1 E2 E3
– 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– –
Cuadro 31: Fase final
Fases c1 c2 c3
∑3i=1 ci < 6
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 32: Calculo de la distribucion de columnas y dummies
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 9 = 4 + 3 + 2 = 6 + 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.10. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
Enrique P. Calot Algoritmos y Programacion II
3.10 Seleccion de reemplazo con buffer de tamano 2 51
E1 E2 E3 S
D D D –167, 263, 267, 395 22, 49, 114, 330 3, 108, 295, 356 –47, 222, 224, 238 156, 162, 200, 250 – –318 – – –
Cuadro 33: Fase 1
E1 E2 E3 S
D D D D
167, 263, 267, 395 22, 49, 114, 330 3, 108, 295, 356 3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
E1 E2 S E3
47, 222, 224, 238 156, 162, 200, 250 – D
318 – – 3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
Cuadro 34: Fase 2
E1 E2 E3 S
D D D D
167, 263, 267, 395 22, 49, 114, 330 3, 108, 295, 356 3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
E1 E2 S E3
47, 222, 224, 238 156, 162, 200, 250 47, 156, 162, 200,222, 224, 238, 250
D
E1 S E2 E3
318 – 47, 156, 162, 200,222, 224, 238, 250
3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
Cuadro 35: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.11 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
E1 E2 E3 S
D D D D
167, 263, 267, 395 22, 49, 114, 330 3, 108, 295, 356 3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
E1 E2 S E3
47, 222, 224, 238 156, 162, 200, 250 47, 156, 162, 200,222, 224, 238, 250
D
E1 S E2 E3
318 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
47, 156, 162, 200,222, 224, 238, 250
3, 22, 49, 108, 114,167, 263, 267, 295,330, 356, 395
S E1 E2 E3
– 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– –
Cuadro 36: Fase final
3.10.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
3.10.2. Salida final
p1 = {263, 267, 395};
p2 = {22, 167, 330};
p3 = {49, 108, 114, 295, 356};
p4 = {3, 224, 238};
p5 = {47, 200, 222, 250};
p6 = {156, 162, 318}.
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.11 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 53
b1 b2 Sale Entra– – Nada 263
263 – Nada 267263 267 263 167167 267 267 395167 395 395 22167 22
Nueva particion! Se cierra la particion p1 = {263, 267, 395}22 330
167 330 167 4949 330 330 11449 114
Nueva particion! Se cierra la particion p2 = {22, 167, 330}49 108
108 114 108 295295 114 114 356295 356 295 33 356 356 2383 238
Nueva particion! Se cierra la particion p3 = {49, 108, 114, 295, 356}3 224
224 238 224 222222 238 238 47222 47
Nueva particion! Se cierra la particion p4 = {3, 224, 238}47 200
222 200 200 156222 156 222 250250 156 250 162162 156
Nueva particion! Se cierra la particion p5 = {47, 200, 222, 250}156 318
162 318 162 Nada– 318 318 Nada
Finaliza la ultima particion en p6 = {156, 162, 318}
Cuadro 37: Algoritmo de seleccion de reemplazo
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.12 Seleccion Natural con buffers de tamano 2
Fases c1 c2 c3
∑3i=1 ci < 6
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 38: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 –3, 224, 238 47, 200, 222, 250 – –156, 162, 318 – – –
Cuadro 39: Fase 1
3.11.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.11.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 9 = 4 + 3 + 2 = 6 + 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.12. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 – D
156, 162, 318 – – 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
Cuadro 40: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.12 Seleccion Natural con buffers de tamano 2 55
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 3, 47, 200, 222, 224,238, 250
D
E1 S E2 E3
156, 162, 318 – 3, 47, 200, 222, 224,238, 250
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
Cuadro 41: Fase 3
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 3, 47, 200, 222, 224,238, 250
D
E1 S E2 E3
156, 162, 318 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
3, 47, 200, 222, 224,238, 250
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
S E1 E2 E3
– 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– –
Cuadro 42: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.13 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
3.12.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
3.12.2. Salida final
p1 = {263, 267, 395};
p2 = {22, 167, 330};
p3 = {49, 108, 114, 295, 356};
p4 = {3, 224, 238};
p5 = {47, 200, 222, 250};
p6 = {156, 162, 318}.
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.13.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.13.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 9 = 4 + 3 + 2 = 6 + 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.14. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
3.14.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
3.14.2. Salida final
p1 = {167, 263, 267, 330, 395};
p2 = {22, 49, 108, 114, 295, 356};
p3 = {3, 222, 224, 238};
p4 = {47, 156, 162, 200, 250, 318}.
Enrique P. Calot Algoritmos y Programacion II
3.14 Seleccion de reemplazo con buffer de tamano 3 57
b1 b2 a1 a2 Sale Entra– – – – Nada 263
263 – – – Nada 267263 267 – – 263 167– 267 167 – Nada 395
395 267 167 – 267 22395 – 167 22 395 Nada167 22 – –Nueva particion! Se cierra la particion p1 = {263, 267, 395}
22 330167 330 – – 167 49– 330 49 – Nada 114– 330 49 114 330 Nada
49 114 – –Nueva particion! Se cierra la particion p2 = {22, 167, 330}
49 108108 114 – – 108 295295 114 – – 114 356295 356 – – 295 3– 356 3 – Nada 238– 356 3 238 356 Nada3 238 – –
Nueva particion! Se cierra la particion p3 = {49, 108, 114, 295, 356}3 224
224 238 – – 224 222– 238 222 – Nada 47– 238 222 47 238 Nada
222 47 – –Nueva particion! Se cierra la particion p4 = {3, 224, 238}
47 200222 200 – – 200 156222 – 156 – Nada 250222 250 156 – 222 162– 250 156 162 250 Nada
156 162 – –Nueva particion! Se cierra la particion p5 = {47, 200, 222, 250}
156 318318 162 – – 162 Nada318 – – – 318 NadaFinaliza la ultima particion en p6 = {156, 162, 318}
Cuadro 43: Algoritmo de seleccion de natural
Fases c1 c2 c3
∑3i=1 ci < 6
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 44: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.14 Seleccion de reemplazo con buffer de tamano 3
E1 E2 E3 S
D D D –263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 –3, 224, 238 47, 200, 222, 250 – –156, 162, 318 – – –
Cuadro 45: Fase 1
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 – D
156, 162, 318 – – 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
Cuadro 46: Fase 2
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 3, 47, 200, 222, 224,238, 250
D
E1 S E2 E3
156, 162, 318 – 3, 47, 200, 222, 224,238, 250
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
Cuadro 47: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.15 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 59
E1 E2 E3 S
D D D D
263, 267, 395 22, 167, 330 49, 108, 114, 295, 356 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 224, 238 47, 200, 222, 250 3, 47, 200, 222, 224,238, 250
D
E1 S E2 E3
156, 162, 318 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
3, 47, 200, 222, 224,238, 250
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
S E1 E2 E3
– 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
– –
Cuadro 48: Fase final
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.15.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.15.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 5 = 2 + 2 + 1 = 4 + 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.16. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.16 Seleccion Natural con buffers de tamano 3
b1 b2 b3 Sale Entra– – – Nada 263
263 – – Nada 267263 267 – Nada 167263 267 167 167 395263 267 395 263 2222 267 395 267 33022 330 395 330 4922 49 395 395 11422 49 114
Nueva particion! Se cierra la particion p1 = {167, 263, 267, 330, 395}22 108
108 49 114 49 295108 295 114 108 356356 295 114 114 3356 295 3 295 238356 238 3 356 224224 238 3
Nueva particion! Se cierra la particion p2 = {22, 49, 108, 114, 295, 356}3 222
224 238 222 222 47224 238 47 224 200200 238 47 238 156200 156 47
Nueva particion! Se cierra la particion p3 = {3, 222, 224, 238}47 250
200 156 250 156 162200 162 250 162 318200 318 250 200 Nada– 318 250 250 Nada– 318 – 318 Nada
Finaliza la ultima particion en p4 = {47, 156, 162, 200, 250, 318}
Cuadro 49: Algoritmo de seleccion de reemplazo
Fases c1 c2 c3
∑3i=1 ci < 4
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 50: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 295,356
–
3, 222, 224, 238 47, 156, 162, 200,250, 318
– –
Cuadro 51: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.16 Seleccion Natural con buffers de tamano 3 61
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 295,356
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 222, 224, 238 47, 156, 162, 200,250, 318
– 22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
Cuadro 52: Fase 2
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 295,356
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
E1 E2 S E3
3, 222, 224, 238 47, 156, 162, 200,250, 318
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
22, 49, 108, 114, 167,263, 267, 295, 330,356, 395
S E2 E1 E3
– – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
–
Cuadro 53: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.16 Seleccion Natural con buffers de tamano 3
b1 b2 b3 a1 a2 a3 Sale Entra– – – – – – Nada 263
263 – – – – – Nada 267263 267 – – – – Nada 167263 267 167 – – – 167 395263 267 395 – – – 263 22– 267 395 22 – – Nada 330
330 267 395 22 – – 267 49330 – 395 22 49 – Nada 114330 – 395 22 49 114 330 Nada– – 395 22 49 114 395 Nada
22 49 114 – – –Nueva particion! Se cierra la particion p1 = {167, 263, 267, 330, 395}
22 108108 49 114 – – – 49 295108 295 114 – – – 108 356356 295 114 – – – 114 3356 295 – 3 – – Nada 238356 295 238 3 – – 238 224356 295 – 3 224 – Nada 222356 295 – 3 224 222 295 Nada356 – – 3 224 222 356 Nada3 224 222 – – –
Nueva particion! Se cierra la particion p2 = {22, 49, 108, 114, 238, 295, 356}3 47
47 224 222 – – – 47 200200 224 222 – – – 200 156– 224 222 156 – – Nada 250
250 224 222 156 – – 222 162250 224 – 156 162 – Nada 318250 224 318 156 162 – 224 Nada250 – 318 156 162 – 250 Nada– – 318 156 162 – 318 Nada
156 162 – – – –Nueva particion! Se cierra la particion p3 = {3, 47, 200, 222, 224, 250, 318}
156 Nada– 162 – – – – 162 Nada
Finaliza la ultima particion en p4 = {156, 162}
Cuadro 54: Algoritmo de seleccion de natural
3.16.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
3.16.2. Salida final
p1 = {167, 263, 267, 330, 395};
p2 = {22, 49, 108, 114, 238, 295, 356};
p3 = {3, 47, 200, 222, 224, 250, 318};
p4 = {156, 162}.
Enrique P. Calot Algoritmos y Programacion II
3.17 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 63
Fases c1 c2 c3
∑3i=1 ci < 4
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
–
3, 47, 200, 222, 224,250, 318
156, 162 – –
Cuadro 56: Fase 1
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.17.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.17.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 5 = 2 + 2 + 1 = 4 + 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
E1 E2 S E3
3, 47, 200, 222, 224,250, 318
156, 162 – 22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
Cuadro 57: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.18 Seleccion de reemplazo con buffer de tamano 4
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
E1 E2 S E3
3, 47, 200, 222, 224,250, 318
156, 162 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
S E2 E1 E3
– – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
–
Cuadro 58: Fase final
3.18. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
3.18.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
3.18.2. Salida final
p1 = {167, 263, 267, 330, 395};
p2 = {22, 49, 108, 114, 238, 295, 356};
p3 = {3, 47, 156, 200, 222, 224, 250, 318};
p4 = {162}.
3.19. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.19.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.19 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 65
b1 b2 b3 b4 Sale Entra– – – – Nada 263
263 – – – Nada 267263 267 – – Nada 167263 267 167 – Nada 395263 267 167 395 167 22263 267 22 395 263 330330 267 22 395 267 49330 49 22 395 330 114114 49 22 395 395 108114 49 22 108
Nueva particion! Se cierra la particion p1 = {167, 263, 267, 330, 395}22 295
114 49 295 108 49 356114 356 295 108 108 3114 356 295 3 114 238238 356 295 3 238 224224 356 295 3 295 222224 356 222 3 356 47224 47 222 3
Nueva particion! Se cierra la particion p2 ={22, 49, 108, 114, 238, 295, 356}
3 200224 47 222 200 47 156224 156 222 200 156 250224 250 222 200 200 162224 250 222 162 222 318224 250 318 162 224 Nada– 250 318 162 250 Nada– – 318 162 318 Nada– – – 162
Nueva particion! Se cierra la particion p3 ={3, 47, 156, 200, 222, 224, 250, 318}
162 NadaFinaliza la ultima particion en p4 = {162}
Cuadro 59: Algoritmo de seleccion de reemplazo
Fases c1 c2 c3
∑3i=1 ci < 4
0 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 60: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.20 Seleccion de reemplazo con buffer de tamano 5
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
–
3, 47, 156, 200, 222,224, 250, 318
162 – –
Cuadro 61: Fase 1
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
E1 E2 S E3
3, 47, 156, 200, 222,224, 250, 318
162 – 22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
Cuadro 62: Fase 2
3.19.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 5 = 2 + 2 + 1 = 4 + 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.20. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.20.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
3.20.2. Salida final
p1 = {22, 167, 263, 267, 330, 395};
p2 = {49, 108, 114, 224, 238, 295, 356};
p3 = {3, 47, 156, 162, 200, 222, 250, 318}.
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.22 Seleccion Natural con buffers de tamano 5 67
E1 E2 E3 S
D 167, 263, 267, 330,395
22, 49, 108, 114, 238,295, 356
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
E1 E2 S E3
3, 47, 156, 200, 222,224, 250, 318
162 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
22, 49, 108, 114, 167,238, 263, 267, 295,330, 356, 395
S E2 E1 E3
– – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
–
Cuadro 63: Fase final
3.21.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.21.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 3 = 1 + 1 + 1 = 3 + 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.22. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.22.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
3.22.2. Salida final
p1 = {22, 167, 263, 267, 295, 330, 356, 395};
p2 = {3, 49, 108, 114, 156, 200, 222, 224, 238, 250, 318};
p3 = {47, 162}.
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.22 Seleccion Natural con buffers de tamano 5
b1 b2 b3 b4 b5 Sale Entra– – – – – Nada 263
263 – – – – Nada 267263 267 – – – Nada 167263 267 167 – – Nada 395263 267 167 395 – Nada 22263 267 167 395 22 22 330263 267 167 395 330 167 49263 267 49 395 330 263 114114 267 49 395 330 267 108114 108 49 395 330 330 295114 108 49 395 295 395 356114 108 49 356 295
Nueva particion! Se cierra la particion p1 ={22, 167, 263, 267, 330, 395}
49 3114 108 3 356 295 108 238114 238 3 356 295 114 224224 238 3 356 295 224 222222 238 3 356 295 238 47222 47 3 356 295 295 200222 47 3 356 200 356 156222 47 3 156 200
Nueva particion! Se cierra la particion p2 ={49, 108, 114, 224, 238, 295, 356}
3 250222 47 250 156 200 47 162222 162 250 156 200 156 318222 162 250 318 200 162 Nada222 – 250 318 200 200 Nada222 – 250 318 – 222 Nada– – 250 318 – 250 Nada– – – 318 – 318 Nada
Finaliza la ultima particion en p3 = {3, 47, 156, 162, 200, 222, 250, 318}
Cuadro 64: Algoritmo de seleccion de reemplazo
Fases c1 c2 c3
∑3i=1 ci < 3
0 1 0 0 1 Si1 1 1 1 3 No
Cuadro 65: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 167, 263, 267,330, 395
49, 108, 114, 224,238, 295, 356
3, 47, 156, 162, 200,222, 250, 318
–
Cuadro 66: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.22 Seleccion Natural con buffers de tamano 5 69
E1 E2 E3 S
22, 167, 263, 267,330, 395
49, 108, 114, 224,238, 295, 356
3, 47, 156, 162, 200,222, 250, 318
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E2 E3 E1
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 67: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra– – – – – – – – – – Nada 263
263 – – – – – – – – – Nada 267263 267 – – – – – – – – Nada 167263 267 167 – – – – – – – Nada 395263 267 167 395 – – – – – – Nada 22263 267 167 395 22 – – – – – 22 330263 267 167 395 330 – – – – – 167 49263 267 – 395 330 49 – – – – Nada 114263 267 – 395 330 49 114 – – – Nada 108263 267 – 395 330 49 114 108 – – Nada 295263 267 295 395 330 49 114 108 – – 263 356356 267 295 395 330 49 114 108 – – 267 3356 – 295 395 330 49 114 108 3 – Nada 238356 – 295 395 330 49 114 108 3 238 295 Nada356 – – 395 330 49 114 108 3 238 330 Nada356 – – 395 – 49 114 108 3 238 356 Nada– – – 395 – 49 114 108 3 238 395 Nada
49 114 108 3 238 – – – – –Nueva particion! Se cierra la particion p1 = {22, 167, 263, 267, 295, 330, 356, 395}
3 22449 114 108 224 238 – – – – – 49 222222 114 108 224 238 – – – – – 108 47222 114 – 224 238 47 – – – – Nada 200222 114 200 224 238 47 – – – – 114 156222 156 200 224 238 47 – – – – 156 250222 250 200 224 238 47 – – – – 200 162222 250 – 224 238 47 162 – – – Nada 318222 250 318 224 238 47 162 – – – 222 Nada– 250 318 224 238 47 162 – – – 224 Nada– 250 318 – 238 47 162 – – – 238 Nada– 250 318 – – 47 162 – – – 250 Nada– – 318 – – 47 162 – – – 318 Nada
47 162 – – – – – – – –Nueva particion! Se cierra la particion p2 = {3, 49, 108, 114, 156, 200, 222, 224, 238, 250, 318}
47 Nada– 162 – – – – – – – – 162 Nada
Finaliza la ultima particion en p3 = {47, 162}
Cuadro 68: Algoritmo de seleccion de natural
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.23 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3
∑3i=1 ci < 3
0 1 0 0 1 Si1 1 1 1 3 No
Cuadro 69: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 167, 263, 267,295, 330, 356, 395
3, 49, 108, 114, 156,200, 222, 224, 238,250, 318
47, 162 –
Cuadro 70: Fase 1
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.23.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.23.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 3 = 1 + 1 + 1 = 3 + 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.24. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.24.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
3.24.2. Salida final
p1 = {22, 49, 114, 167, 263, 267, 295, 330, 356, 395};
p2 = {3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}.
Enrique P. Calot Algoritmos y Programacion II
3.24 Seleccion de reemplazo con buffer de tamano 6 71
E1 E2 E3 S
22, 167, 263, 267,295, 330, 356, 395
3, 49, 108, 114, 156,200, 222, 224, 238,250, 318
47, 162 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E2 E3 E1
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 71: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra– – – – – – Nada 263
263 – – – – – Nada 267263 267 – – – – Nada 167263 267 167 – – – Nada 395263 267 167 395 – – Nada 22263 267 167 395 22 – Nada 330263 267 167 395 22 330 22 49263 267 167 395 49 330 49 114263 267 167 395 114 330 114 108263 267 167 395 108 330 167 295263 267 295 395 108 330 263 356356 267 295 395 108 330 267 3356 3 295 395 108 330 295 238356 3 238 395 108 330 330 224356 3 238 395 108 224 356 222222 3 238 395 108 224 395 47222 3 238 47 108 224
Nueva particion! Se cierra la particion p1 ={22, 49, 114, 167, 263, 267, 295, 330, 356, 395}
3 200222 200 238 47 108 224 47 156222 200 238 156 108 224 108 250222 200 238 156 250 224 156 162222 200 238 162 250 224 162 318222 200 238 318 250 224 200 Nada222 – 238 318 250 224 222 Nada– – 238 318 250 224 224 Nada– – 238 318 250 – 238 Nada– – – 318 250 – 250 Nada– – – 318 – – 318 Nada
Finaliza la ultima particion en p2 ={3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}
Cuadro 72: Algoritmo de seleccion de reemplazo
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.25 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3
∑3i=1 ci < 2
0 1 0 0 1 Si1 1 1 1 3 No
Cuadro 73: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 49, 114, 167, 263,267, 295, 330, 356,395
3, 47, 108, 156, 162,200, 222, 224, 238,250, 318
–
Cuadro 74: Fase 1
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.25.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.25.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 3 = 1 + 1 + 1 = 2 + 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.26. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.26.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
3.26.2. Salida final
p1 = {22, 49, 114, 167, 263, 267, 295, 330, 356, 395};
p2 = {3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}.
Enrique P. Calot Algoritmos y Programacion II
3.26 Seleccion Natural con buffers de tamano 6 73
E1 E2 E3 S
D 22, 49, 114, 167, 263,267, 295, 330, 356,395
3, 47, 108, 156, 162,200, 222, 224, 238,250, 318
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E2 E3 E1
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 75: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra– – – – – – – – – – – – Nada 263
263 – – – – – – – – – – – Nada 267263 267 – – – – – – – – – – Nada 167263 267 167 – – – – – – – – – Nada 395263 267 167 395 – – – – – – – – Nada 22263 267 167 395 22 – – – – – – – Nada 330263 267 167 395 22 330 – – – – – – 22 49263 267 167 395 49 330 – – – – – – 49 114263 267 167 395 114 330 – – – – – – 114 108263 267 167 395 – 330 108 – – – – – Nada 295263 267 167 395 295 330 108 – – – – – 167 356263 267 356 395 295 330 108 – – – – – 263 3– 267 356 395 295 330 108 3 – – – – Nada 238– 267 356 395 295 330 108 3 238 – – – Nada 224– 267 356 395 295 330 108 3 238 224 – – Nada 222– 267 356 395 295 330 108 3 238 224 222 – Nada 47– 267 356 395 295 330 108 3 238 224 222 47 267 Nada– – 356 395 295 330 108 3 238 224 222 47 295 Nada– – 356 395 – 330 108 3 238 224 222 47 330 Nada– – 356 395 – – 108 3 238 224 222 47 356 Nada– – – 395 – – 108 3 238 224 222 47 395 Nada
108 3 238 224 222 47 – – – – – –Nueva particion! Se cierra la particion p1 = {22, 49, 114, 167, 263, 267, 295, 330, 356, 395}
3 200108 200 238 224 222 47 – – – – – – 47 156108 200 238 224 222 156 – – – – – – 108 250250 200 238 224 222 156 – – – – – – 156 162250 200 238 224 222 162 – – – – – – 162 318250 200 238 224 222 318 – – – – – – 200 Nada250 – 238 224 222 318 – – – – – – 222 Nada250 – 238 224 – 318 – – – – – – 224 Nada250 – 238 – – 318 – – – – – – 238 Nada250 – – – – 318 – – – – – – 250 Nada– – – – – 318 – – – – – – 318 Nada
Finaliza la ultima particion en p2 = {3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}
Cuadro 76: Algoritmo de seleccion de natural
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.27 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3
∑3i=1 ci < 2
0 1 0 0 1 Si1 1 1 1 3 No
Cuadro 77: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 49, 114, 167, 263,267, 295, 330, 356,395
3, 47, 108, 156, 162,200, 222, 224, 238,250, 318
–
Cuadro 78: Fase 1
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.27.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.27.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 3 = 1 + 1 + 1 = 2 + 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.28. Bubble Sort ascendente
3.28.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.28 Bubble Sort ascendente 75
E1 E2 E3 S
D 22, 49, 114, 167, 263,267, 295, 330, 356,395
3, 47, 108, 156, 162,200, 222, 224, 238,250, 318
3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
S E2 E3 E1
– – – 3, 22, 47, 49, 108,114, 156, 162, 167,200, 222, 224, 238,250, 263, 267, 295,318, 330, 356, 395
Cuadro 79: Fase final
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 18/20
1 263 167 267 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 395 16/19
2 167 263 22 267 49 114 108 295 330 3 238 224 222 47 200 156 250 162 318 356 395 14/18
3 167 22 263 49 114 108 267 295 3 238 224 222 47 200 156 250 162 318 330 356 395 13/17
4 22 167 49 114 108 263 267 3 238 224 222 47 200 156 250 162 295 318 330 356 395 12/16
5 22 49 114 108 167 263 3 238 224 222 47 200 156 250 162 267 295 318 330 356 395 10/15
6 22 49 108 114 167 3 238 224 222 47 200 156 250 162 263 267 295 318 330 356 395 7/14
7 22 49 108 114 3 167 224 222 47 200 156 238 162 250 263 267 295 318 330 356 395 6/13
8 22 49 108 3 114 167 222 47 200 156 224 162 238 250 263 267 295 318 330 356 395 5/12
9 22 49 3 108 114 167 47 200 156 222 162 224 238 250 263 267 295 318 330 356 395 4/11
10 22 3 49 108 114 47 167 156 200 162 222 224 238 250 263 267 295 318 330 356 395 4/10
11 3 22 49 108 47 114 156 167 162 200 222 224 238 250 263 267 295 318 330 356 395 2/9
12 3 22 49 47 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 1/8
13 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/7
14 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/6
15 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/5
16 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/4
17 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/3
18 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/2
19 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/1
20 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/0
Cuadro 80: Ordenamiento ascendente por bubble sort
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.29 Bubble Sort descendente
3.29. Bubble Sort descendente
3.29.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.29 Bubble Sort descendente 77
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 17/20
1 267 263 395 167 330 49 114 108 295 356 22 238 224 222 47 200 156 250 162 318 3 15/19
2 267 395 263 330 167 114 108 295 356 49 238 224 222 47 200 156 250 162 318 22 3 12/18
3 395 267 330 263 167 114 295 356 108 238 224 222 49 200 156 250 162 318 47 22 3 11/17
4 395 330 267 263 167 295 356 114 238 224 222 108 200 156 250 162 318 49 47 22 3 10/16
5 395 330 267 263 295 356 167 238 224 222 114 200 156 250 162 318 108 49 47 22 3 10/15
6 395 330 267 295 356 263 238 224 222 167 200 156 250 162 318 114 108 49 47 22 3 6/14
7 395 330 295 356 267 263 238 224 222 200 167 250 162 318 156 114 108 49 47 22 3 3/13
8 395 330 356 295 267 263 238 224 222 200 250 167 318 162 156 114 108 49 47 22 3 3/12
9 395 356 330 295 267 263 238 224 222 250 200 318 167 162 156 114 108 49 47 22 3 2/11
10 395 356 330 295 267 263 238 224 250 222 318 200 167 162 156 114 108 49 47 22 3 2/10
11 395 356 330 295 267 263 238 250 224 318 222 200 167 162 156 114 108 49 47 22 3 2/9
12 395 356 330 295 267 263 250 238 318 224 222 200 167 162 156 114 108 49 47 22 3 1/8
13 395 356 330 295 267 263 250 318 238 224 222 200 167 162 156 114 108 49 47 22 3 1/7
14 395 356 330 295 267 263 318 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/6
15 395 356 330 295 267 318 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/5
16 395 356 330 295 318 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/4
17 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/3
18 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/2
19 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/1
20 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/0
Cuadro 81: Ordenamiento descendente por bubble sort
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.30 Bilateral Bubble Sort ascendente
3.30. Bilateral Bubble Sort ascendente
3.30.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.30 Bilateral Bubble Sort ascendente 79
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 18/20
1 263 167 267 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 395 15/20
2 3 263 167 267 22 330 49 114 108 295 356 47 238 224 222 156 200 162 250 318 395 15/18
3 3 167 263 22 267 49 114 108 295 330 47 238 224 222 156 200 162 250 318 356 395 12/18
4 3 22 167 263 47 267 49 114 108 295 330 156 238 224 222 162 200 250 318 356 395 12/16
5 3 22 167 47 263 49 114 108 267 295 156 238 224 222 162 200 250 318 330 356 395 8/16
6 3 22 47 167 49 263 108 114 156 267 295 162 238 224 222 200 250 318 330 356 395 10/14
7 3 22 47 49 167 108 114 156 263 267 162 238 224 222 200 250 295 318 330 356 395 6/14
8 3 22 47 49 108 167 114 156 162 263 267 200 238 224 222 250 295 318 330 356 395 8/12
9 3 22 47 49 108 114 156 162 167 263 200 238 224 222 250 267 295 318 330 356 395 3/12
10 3 22 47 49 108 114 156 162 167 200 263 222 238 224 250 267 295 318 330 356 395 4/10
11 3 22 47 49 108 114 156 162 167 200 222 238 224 250 263 267 295 318 330 356 395 1/10
12 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/8
13 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/8
14 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/6
15 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/6
16 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/4
17 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/4
18 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/2
19 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/2
20 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 0/0
Cuadro 82: Ordenamiento ascendente por bubble sort bilaeral
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.31 Bilateral Bubble Sort descendente
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.31 Bilateral Bubble Sort descendente 81
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 17/20
1 267 263 395 167 330 49 114 108 295 356 22 238 224 222 47 200 156 250 162 318 3 17/20
2 395 267 263 356 167 330 49 114 108 295 318 22 238 224 222 47 200 156 250 162 3 14/18
3 395 267 356 263 330 167 114 108 295 318 49 238 224 222 47 200 156 250 162 22 3 13/18
4 395 356 267 330 263 318 167 114 108 295 250 49 238 224 222 47 200 156 162 22 3 10/16
5 395 356 330 267 318 263 167 114 295 250 108 238 224 222 49 200 156 162 47 22 3 7/16
6 395 356 330 318 267 295 263 167 114 250 238 108 224 222 200 49 162 156 47 22 3 8/14
7 395 356 330 318 295 267 263 167 250 238 114 224 222 200 108 162 156 49 47 22 3 3/14
8 395 356 330 318 295 267 263 250 167 238 224 114 222 200 162 108 156 49 47 22 3 6/12
9 395 356 330 318 295 267 263 250 238 224 167 222 200 162 114 156 108 49 47 22 3 2/12
10 395 356 330 318 295 267 263 250 238 224 222 167 200 162 156 114 108 49 47 22 3 1/10
11 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/10
12 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/8
13 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/8
14 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/6
15 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/6
16 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/4
17 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/4
18 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/2
19 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/2
20 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 0/0
Cuadro 83: Ordenamiento descendente por bubble sort bilaeral
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.32 Selection Sort ascendente
3.32. Selection Sort ascendente
3.32.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.32 Selection Sort ascendente 83
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 1/20
1 3 267 167 395 22 330 49 114 108 295 356 263 238 224 222 47 200 156 250 162 318 1/19
2 3 22 167 395 267 330 49 114 108 295 356 263 238 224 222 47 200 156 250 162 318 1/18
3 3 22 47 395 267 330 49 114 108 295 356 263 238 224 222 167 200 156 250 162 318 1/17
4 3 22 47 49 267 330 395 114 108 295 356 263 238 224 222 167 200 156 250 162 318 1/16
5 3 22 47 49 108 330 395 114 267 295 356 263 238 224 222 167 200 156 250 162 318 1/15
6 3 22 47 49 108 114 395 330 267 295 356 263 238 224 222 167 200 156 250 162 318 1/14
7 3 22 47 49 108 114 156 330 267 295 356 263 238 224 222 167 200 395 250 162 318 1/13
8 3 22 47 49 108 114 156 162 267 295 356 263 238 224 222 167 200 395 250 330 318 1/12
9 3 22 47 49 108 114 156 162 167 295 356 263 238 224 222 267 200 395 250 330 318 1/11
10 3 22 47 49 108 114 156 162 167 200 356 263 238 224 222 267 295 395 250 330 318 1/10
11 3 22 47 49 108 114 156 162 167 200 222 263 238 224 356 267 295 395 250 330 318 1/9
12 3 22 47 49 108 114 156 162 167 200 222 224 238 263 356 267 295 395 250 330 318 1/8
13 3 22 47 49 108 114 156 162 167 200 222 224 238 263 356 267 295 395 250 330 318 1/7
14 3 22 47 49 108 114 156 162 167 200 222 224 238 250 356 267 295 395 263 330 318 1/6
15 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318 1/5
16 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318 1/4
17 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318 1/3
18 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 356 330 395 1/2
19 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 1/1
20 3 22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395 1/0
Cuadro 84: Ordenamiento ascendente por seleccion
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.33 Selection Sort descendente
3.33. Selection Sort descendente
3.33.1. Desarrollo
Enrique P. Calot Algoritmos y Programacion II
3.33 Selection Sort descendente 85
0 263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 1/20
1 395 267 167 263 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 1/19
2 395 356 167 263 22 330 49 114 108 295 267 3 238 224 222 47 200 156 250 162 318 1/18
3 395 356 330 263 22 167 49 114 108 295 267 3 238 224 222 47 200 156 250 162 318 1/17
4 395 356 330 318 22 167 49 114 108 295 267 3 238 224 222 47 200 156 250 162 263 1/16
5 395 356 330 318 295 167 49 114 108 22 267 3 238 224 222 47 200 156 250 162 263 1/15
6 395 356 330 318 295 267 49 114 108 22 167 3 238 224 222 47 200 156 250 162 263 1/14
7 395 356 330 318 295 267 263 114 108 22 167 3 238 224 222 47 200 156 250 162 49 1/13
8 395 356 330 318 295 267 263 250 108 22 167 3 238 224 222 47 200 156 114 162 49 1/12
9 395 356 330 318 295 267 263 250 238 22 167 3 108 224 222 47 200 156 114 162 49 1/11
10 395 356 330 318 295 267 263 250 238 224 167 3 108 22 222 47 200 156 114 162 49 1/10
11 395 356 330 318 295 267 263 250 238 224 222 3 108 22 167 47 200 156 114 162 49 1/9
12 395 356 330 318 295 267 263 250 238 224 222 200 108 22 167 47 3 156 114 162 49 1/8
13 395 356 330 318 295 267 263 250 238 224 222 200 167 22 108 47 3 156 114 162 49 1/7
14 395 356 330 318 295 267 263 250 238 224 222 200 167 162 108 47 3 156 114 22 49 1/6
15 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 47 3 108 114 22 49 1/5
16 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 3 108 47 22 49 1/4
17 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 3 47 22 49 1/3
18 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/2
19 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/1
20 395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22 3 1/0
Cuadro 85: Ordenamiento descendente por seleccion
Algoritmos y Programacion II Facultad de Ingenierıa
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-02-08
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
263, 267, 167, 395, 22†, 330, 49, 114†, 108†, 295, 356†, 3, 238, 224, 222, 47†, 200,
156†, 250, 162, 318†
Se pide:
a. El Sort Externo se suele utilizar cuando el tamano del lote de datos es superior al que puede almacenar lamaquina en su memoria interna, ya que en tal caso es mas util ordenar mediante tecnicas de Sort Interno.¿en que otro caso se debe usar Sort Externo, incluso conociendo el tamano del lote de datos y sabiendoque este es menor a la memoria interna?
b. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber comple-tado dos niveles de recursividad).
d. Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
e. Procesar el B-tree de orden tal que, con un elemento –a excepcion de la raız– hace underflow pero con 2no, resultante de ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
222, 224†, 250†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 5 de Julio de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-07-05
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. a. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. b. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. c. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 102.4.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. d. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6. e. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Resolucion explayada 13
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 453.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 463.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6. Merge Polifasico con particiones formadas de 1 elemento . . . . . . . . . . . . . . . . . . . 463.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 473.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 493.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.9. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 543.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.10. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 543.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 60
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.11.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 613.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.12. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 643.13.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 643.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.14. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 643.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 663.15.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 663.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.16. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 693.17.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 693.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.18. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.19. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 713.19.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 723.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.20. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 723.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 743.21.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 743.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.22. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 763.23.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 763.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.24. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 763.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 783.25.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.26. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 803.27.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.28. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.29. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.30. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.31. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.32. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.33. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
385, 196, 25, 315, 321†, 143, 37, 375†, 79†, 347, 376†, 218, 30, 213, 19,
231†, 206, 151†, 367, 171, 313†
Se pide:
a. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown) y RadixSort en orden ascendente (entero).
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
218, 213†, 313†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 parti-ciones correspondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {25, 196, 315, 321, 385}; p2 = {37, 143, 375}; . . . ; p6 = {151, 206}; p7 = {171, 313, 367}.
d. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
e. ¿Cual es el peor caso posible para ser ordenado ascendentemente con el algoritmo de Quick Sort?Suponiendo que existen 40000 elementos, ¿cual es el maximo de ejecuciones recursivas anidadas quepueden llegar a ser ejecutadas en ese caso?
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 a. Heap Sort
2.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Paso 0 Paso 1 Paso 2 Paso 3385 030 206 019196 321 213 025025 231 313 030315 151 315 037321 171 218 079143 143 019 143037 213 321 151375 313 025 171079 385 030 196347 025 231 206376 315 037 213218 375 143 218030 196 347 231213 376 151 313019 206 367 315231 037 171 321206 347 375 347151 367 376 367367 218 079 375171 079 385 376313 019 196 385
2.2. a. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
2.2.1. Arbol inicial
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
2.2 a. Heap Sort 7
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376
218 30 213 19 231 206 151 367 171 313
Heapfy paso 1
385
196 25
315 321 143 37
375 367 347 376 218 30 213 19
231 206 151 79 171 313
Vector:
385 196 25 315 321 143 37 375 367 347 376
218 30 213 19 231 206 151 79 171 313
Heapfy paso 2
385
196 25
375 376 218 213
315 367 347 321 143 30 37 19
231 206 151 79 171 313
Vector:
385 196 25 375 376 218 213 315 367 347 321
143 30 37 19 231 206 151 79 171 313
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.3 b. Ejercicio de B-trees
385
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 196
Vector:
385 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 196
Heapfy paso 4
385
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 196
Vector:
385 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 196
196
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 385
Vector:
196 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 385
Paso 1: ultimo congelado pedido antes del corte
2.3. b. Ejercicio de B-trees
Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
Enrique P. Calot Algoritmos y Programacion II
2.3 b. Ejercicio de B-trees 9
218, 213†, 313†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.3.1. Insercion
•315•
×25×196× ×321×385×
Insercion de 5 elementos: 385, 196, 25, 315, 321
•315•
×25×37×143×196× ×321×375×385×
Insercion de 3 elementos: 143, 37, 375
•79•315•
×25×37× ×143×196× ×321×375×385×
Insercion de 1 elemento: 79
•79•315•375•
×25×37× ×143×196× ×321×347× ×376×385×
Insercion de 2 elementos: 347, 376
•79•213•315•375•
×19×25×30×37× ×143×196× ×218×231× ×321×347× ×376×385×
Insercion de 5 elementos: 218, 30, 213, 19, 231
•79•213•315•375•
×19×25×30×37× ×143×151×196×206× ×218×231× ×321×347× ×376×385×
Insercion de 2 elementos: 206, 151
•213•
•79•171• •315•375•
×19×25×30×37× ×143×151× ×196×206× ×218×231×313× ×321×347×367× ×376×385×
Insercion de 3 elementos: 367, 171, 313
2.3.2. Eliminacion
•79•171•315•375•
×19×25×30×37× ×143×151× ×196×206×231×313× ×321×347×367× ×376×385×
Eliminacion de 2 elementos: 218, 213
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.4 c. Merge Polifasico
•79•171•315•375•
×19×25×30×37× ×143×151× ×196×206×231× ×321×347×367× ×376×385×
Eliminacion de 1 elemento: 313
2.4. c. Merge Polifasico
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {25, 196, 315, 321, 385}; p2 = {37, 143, 375}; . . . ; p6 = {151, 206}; p7 = {171, 313, 367}.
2.4.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.4.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
2.5. d. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
2.5.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
2.5 d. Seleccion de reemplazo 11
E1 E2 E3 S
D D 25, 196, 315, 321, 385 –37, 143, 375 79 347, 376 –19, 30, 213, 218, 231 151, 206 – –171, 313, 367 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D 25, 196, 315, 321, 385 25, 196, 315, 321, 38537, 143, 375 79 347, 376 37, 79, 143, 347, 375,
376
E1 E2 S E3
19, 30, 213, 218, 231 151, 206 – 25, 196, 315, 321, 385171, 313, 367 – – 37, 79, 143, 347, 375,
376
Cuadro 3: Fase 2
E1 E2 E3 S
D D 25, 196, 315, 321, 385 25, 196, 315, 321, 38537, 143, 375 79 347, 376 37, 79, 143, 347, 375,
376
E1 E2 S E3
19, 30, 213, 218, 231 151, 206 19, 25, 30, 151, 196,206, 213, 218, 231,315, 321, 385
25, 196, 315, 321, 385
E1 S E2 E3
171, 313, 367 – 19, 25, 30, 151, 196,206, 213, 218, 231,315, 321, 385
37, 79, 143, 347, 375,376
Cuadro 4: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.5 d. Seleccion de reemplazo
E1 E2 E3 S
D D 25, 196, 315, 321, 385 25, 196, 315, 321, 38537, 143, 375 79 347, 376 37, 79, 143, 347, 375,
376
E1 E2 S E3
19, 30, 213, 218, 231 151, 206 19, 25, 30, 151, 196,206, 213, 218, 231,315, 321, 385
25, 196, 315, 321, 385
E1 S E2 E3
171, 313, 367 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
19, 25, 30, 151, 196,206, 213, 218, 231,315, 321, 385
37, 79, 143, 347, 375,376
S E1 E2 E3
– 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
– –
Cuadro 5: Fase final
b1 b2 b3 b4 Sale Entra
– – – – Nada 385
385 – – – Nada 196
385 196 – – Nada 25
385 196 25 – Nada 315
385 196 25 315 25 321
385 196 321 315 196 143
385 143 321 315 315 37
385 143 321 37 321 375
385 143 375 37 375 79
385 143 79 37 385 347
347 143 79 37
Nueva particion! Se cierra la particion p1 =
{25, 196, 315, 321, 375, 385}37 376
347 143 79 376 79 218
347 143 218 376 143 30
347 30 218 376 218 213
347 30 213 376 347 19
19 30 213 376 376 231
19 30 213 231
Nueva particion! Se cierra la particion p2 = {37, 79, 143, 218, 347, 376}19 206
206 30 213 231 30 151
206 151 213 231 151 367
206 367 213 231 206 171
171 367 213 231 213 313
171 367 313 231 231 Nada
171 367 313 – 313 Nada
171 367 – – 367 Nada
171 – – –
Nueva particion! Se cierra la particion p3 =
{19, 30, 151, 206, 213, 231, 313, 367}171 Nada
Finaliza la ultima particion en p4 = {171}
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Pregunta teorica 13
2.5.2. Salida final
p1 = {25, 196, 315, 321, 375, 385};
p2 = {37, 79, 143, 218, 347, 376};
p3 = {19, 30, 151, 206, 213, 231, 313, 367};
p4 = {171}.
2.6. e. Pregunta teorica
¿Cual es el peor caso posible para ser ordenado ascendentemente con el algoritmo de Quick Sort?Suponiendo que existen 40000 elementos, ¿cual es el maximo de ejecuciones recursivas anidadas quepueden llegar a ser ejecutadas en ese caso?
2.6.1. Respuesta
Que el arreglo ya venga ordenado. Si viene ordenado en orden ascendente tomando el primero comopivote se obtienen n pasos (k = n). Si el orden es contrario, hay intercambios, pero tambien ocurren npasos. El orden entonces serıa de n2 y si existiesen 40000 elementos, la pila recursiva llegarıa a 40000ejecuciones simultaneas.
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Algoritmos y Programacion II Facultad de Ingenierıa
14 3.2 Quick Sort
Paso 0 Paso 1 Paso 2 Paso 3385 079 196 385196 019 385 376025 218 079 375315 037 376 367321 347 375 347143 367 171 321037 196 367 315375 376 151 313079 206 347 231347 385 143 218376 025 037 213218 315 231 206030 375 030 196213 143 025 171019 213 321 151231 313 019 143206 321 218 079151 231 315 037367 151 213 030171 171 313 025313 030 206 019
3.2. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1. Desarrollo
Paso 1 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313
Paso 2 313 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 385
Paso 3 213 196 25 171 151 143 37 206 79 231 19 218 30 313 376 347 375 321 367 315
Paso 4 19 196 25 171 151 143 37 206 79 30 213 218 231 315 347 375 321 367 376
Paso 5 19 196 25 171 151 143 37 206 79 30 218 231 315 347 375 321 367
Paso 6 79 25 171 151 143 37 30 196 206 321 347 375 367
Paso 7 37 25 30 79 143 151 171 367 375
Paso 8 30 25 37 143 151 171
Final 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 15
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313
Arbol inicial y su vector asociadoHeapfy paso 0
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376
218 30 213 19 231 206 151 367 171 313
Heapfy paso 1
385
196 25
315 321 143 37
375 367 347 376 218 30 213 19
231 206 151 79 171 313
Vector:
385 196 25 315 321 143 37 375 367 347 376
218 30 213 19 231 206 151 79 171 313
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
Heapfy paso 2
385
196 25
375 376 218 213
315 367 347 321 143 30 37 19
231 206 151 79 171 313
Vector:
385 196 25 375 376 218 213 315 367 347 321
143 30 37 19 231 206 151 79 171 313
Heapfy paso 3
385
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 196
Vector:
385 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 196
Heapfy paso 4
385
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 196
Vector:
385 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 196
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
196
376 218
375 347 143 213
315 367 313 321 25 30 37 19
231 206 151 79 171 385
Vector:
196 376 218 375 347 143 213 315 367 313 321
25 30 37 19 231 206 151 79 171 385
Swapdown
376
375 218
367 347 143 213
315 196 313 321 25 30 37 19
231 206 151 79 171 385
Vector:
376 375 218 367 347 143 213 315 196 313 321
25 30 37 19 231 206 151 79 171 385
Intercambio y congelamiento
171
375 218
367 347 143 213
315 196 313 321 25 30 37 19
231 206 151 79 376 385
Vector:
171 375 218 367 347 143 213 315 196 313 321
25 30 37 19 231 206 151 79 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
375
367 218
315 347 143 213
231 196 313 321 25 30 37 19
171 206 151 79 376 385
Vector:
375 367 218 315 347 143 213 231 196 313 321
25 30 37 19 171 206 151 79 376 385
Intercambio y congelamiento
79
367 218
315 347 143 213
231 196 313 321 25 30 37 19
171 206 151 375 376 385
Vector:
79 367 218 315 347 143 213 231 196 313 321
25 30 37 19 171 206 151 375 376 385
Swapdown
367
347 218
315 321 143 213
231 196 313 79 25 30 37 19
171 206 151 375 376 385
Vector:
367 347 218 315 321 143 213 231 196 313 79
25 30 37 19 171 206 151 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
151
347 218
315 321 143 213
231 196 313 79 25 30 37 19
171 206 367 375 376 385
Vector:
151 347 218 315 321 143 213 231 196 313 79
25 30 37 19 171 206 367 375 376 385
Swapdown
347
321 218
315 313 143 213
231 196 151 79 25 30 37 19
171 206 367 375 376 385
Vector:
347 321 218 315 313 143 213 231 196 151 79
25 30 37 19 171 206 367 375 376 385
Intercambio y congelamiento
206
321 218
315 313 143 213
231 196 151 79 25 30 37 19
171 347 367 375 376 385
Vector:
206 321 218 315 313 143 213 231 196 151 79
25 30 37 19 171 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
321
315 218
231 313 143 213
206 196 151 79 25 30 37 19
171 347 367 375 376 385
Vector:
321 315 218 231 313 143 213 206 196 151 79
25 30 37 19 171 347 367 375 376 385
Intercambio y congelamiento
171
315 218
231 313 143 213
206 196 151 79 25 30 37 19
321 347 367 375 376 385
Vector:
171 315 218 231 313 143 213 206 196 151 79
25 30 37 19 321 347 367 375 376 385
Swapdown
315
313 218
231 171 143 213
206 196 151 79 25 30 37 19
321 347 367 375 376 385
Vector:
315 313 218 231 171 143 213 206 196 151 79
25 30 37 19 321 347 367 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
19
313 218
231 171 143 213
206 196 151 79 25 30 37 315
321 347 367 375 376 385
Vector:
19 313 218 231 171 143 213 206 196 151 79
25 30 37 315 321 347 367 375 376 385
Swapdown
313
231 218
206 171 143 213
19 196 151 79 25 30 37 315
321 347 367 375 376 385
Vector:
313 231 218 206 171 143 213 19 196 151 79
25 30 37 315 321 347 367 375 376 385
Intercambio y congelamiento
37
231 218
206 171 143 213
19 196 151 79 25 30 313 315
321 347 367 375 376 385
Vector:
37 231 218 206 171 143 213 19 196 151 79
25 30 313 315 321 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
231
206 218
196 171 143 213
19 37 151 79 25 30 313 315
321 347 367 375 376 385
Vector:
231 206 218 196 171 143 213 19 37 151 79
25 30 313 315 321 347 367 375 376 385
Intercambio y congelamiento
30
206 218
196 171 143 213
19 37 151 79 25 231 313 315
321 347 367 375 376 385
Vector:
30 206 218 196 171 143 213 19 37 151 79
25 231 313 315 321 347 367 375 376 385
Swapdown
218
206 213
196 171 143 30
19 37 151 79 25 231 313 315
321 347 367 375 376 385
Vector:
218 206 213 196 171 143 30 19 37 151 79
25 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
25
206 213
196 171 143 30
19 37 151 79 218 231 313 315
321 347 367 375 376 385
Vector:
25 206 213 196 171 143 30 19 37 151 79
218 231 313 315 321 347 367 375 376 385
Swapdown
213
206 143
196 171 25 30
19 37 151 79 218 231 313 315
321 347 367 375 376 385
Vector:
213 206 143 196 171 25 30 19 37 151 79
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
79
206 143
196 171 25 30
19 37 151 213 218 231 313 315
321 347 367 375 376 385
Vector:
79 206 143 196 171 25 30 19 37 151 213
218 231 313 315 321 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
206
196 143
79 171 25 30
19 37 151 213 218 231 313 315
321 347 367 375 376 385
Vector:
206 196 143 79 171 25 30 19 37 151 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
151
196 143
79 171 25 30
19 37 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
151 196 143 79 171 25 30 19 37 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
196
171 143
79 151 25 30
19 37 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
196 171 143 79 151 25 30 19 37 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
37
171 143
79 151 25 30
19 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
37 171 143 79 151 25 30 19 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
171
151 143
79 37 25 30
19 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
171 151 143 79 37 25 30 19 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
19
151 143
79 37 25 30
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
19 151 143 79 37 25 30 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
151
79 143
19 37 25 30
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
151 79 143 19 37 25 30 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
30
79 143
19 37 25 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
30 79 143 19 37 25 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
143
79 30
19 37 25 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
143 79 30 19 37 25 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
25
79 30
19 37 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
25 79 30 19 37 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
79
37 30
19 25 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
79 37 30 19 25 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
25
37 30
19 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
25 37 30 19 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
37
25 30
19 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
37 25 30 19 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
19
25 30
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
19 25 30 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
30
25 19
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
30 25 19 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
19
25 30
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
19 25 30 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
25
19 30
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
25 19 30 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Intercambio y congelamiento
19
25 30
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
19 25 30 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.4 Heap Sort descendente
19
25 30
37 79 143 151
171 196 206 213 218 231 313 315
321 347 367 375 376 385
Vector:
19 25 30 37 79 143 151 171 196 206 213
218 231 313 315 321 347 367 375 376 385
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
3.4.1. Arbol inicial
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
385
196 25
315 321 143 37
375 79 347 376 218 30 213 19
231 206 151 367 171 313
Vector:
385 196 25 315 321 143 37 375 79 347 376
218 30 213 19 231 206 151 367 171 313
Heapfy paso 1
385
196 25
315 321 143 37
206 79 171 376 218 30 213 19
231 375 151 367 347 313
Vector:
385 196 25 315 321 143 37 206 79 171 376
218 30 213 19 231 375 151 367 347 313
Heapfy paso 2
385
196 25
79 171 30 19
206 151 313 376 218 143 213 37
231 375 315 367 347 321
Vector:
385 196 25 79 171 30 19 206 151 313 376
218 143 213 37 231 375 315 367 347 321
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
385
79 19
151 171 30 25
206 196 313 376 218 143 213 37
231 375 315 367 347 321
Vector:
385 79 19 151 171 30 25 206 196 313 376
218 143 213 37 231 375 315 367 347 321
Heapfy paso 4
19
79 25
151 171 30 37
206 196 313 376 218 143 213 385
231 375 315 367 347 321
Vector:
19 79 25 151 171 30 37 206 196 313 376
218 143 213 385 231 375 315 367 347 321
Intercambio y congelamiento
321
79 25
151 171 30 37
206 196 313 376 218 143 213 385
231 375 315 367 347 19
Vector:
321 79 25 151 171 30 37 206 196 313 376
218 143 213 385 231 375 315 367 347 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
25
79 30
151 171 143 37
206 196 313 376 218 321 213 385
231 375 315 367 347 19
Vector:
25 79 30 151 171 143 37 206 196 313 376
218 321 213 385 231 375 315 367 347 19
Intercambio y congelamiento
347
79 30
151 171 143 37
206 196 313 376 218 321 213 385
231 375 315 367 25 19
Vector:
347 79 30 151 171 143 37 206 196 313 376
218 321 213 385 231 375 315 367 25 19
Swapdown
30
79 37
151 171 143 213
206 196 313 376 218 321 347 385
231 375 315 367 25 19
Vector:
30 79 37 151 171 143 213 206 196 313 376
218 321 347 385 231 375 315 367 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
367
79 37
151 171 143 213
206 196 313 376 218 321 347 385
231 375 315 30 25 19
Vector:
367 79 37 151 171 143 213 206 196 313 376
218 321 347 385 231 375 315 30 25 19
Swapdown
37
79 143
151 171 218 213
206 196 313 376 367 321 347 385
231 375 315 30 25 19
Vector:
37 79 143 151 171 218 213 206 196 313 376
367 321 347 385 231 375 315 30 25 19
Intercambio y congelamiento
315
79 143
151 171 218 213
206 196 313 376 367 321 347 385
231 375 37 30 25 19
Vector:
315 79 143 151 171 218 213 206 196 313 376
367 321 347 385 231 375 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
79
151 143
196 171 218 213
206 315 313 376 367 321 347 385
231 375 37 30 25 19
Vector:
79 151 143 196 171 218 213 206 315 313 376
367 321 347 385 231 375 37 30 25 19
Intercambio y congelamiento
375
151 143
196 171 218 213
206 315 313 376 367 321 347 385
231 79 37 30 25 19
Vector:
375 151 143 196 171 218 213 206 315 313 376
367 321 347 385 231 79 37 30 25 19
Swapdown
143
151 213
196 171 218 347
206 315 313 376 367 321 375 385
231 79 37 30 25 19
Vector:
143 151 213 196 171 218 347 206 315 313 376
367 321 375 385 231 79 37 30 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
231
151 213
196 171 218 347
206 315 313 376 367 321 375 385
143 79 37 30 25 19
Vector:
231 151 213 196 171 218 347 206 315 313 376
367 321 375 385 143 79 37 30 25 19
Swapdown
151
171 213
196 231 218 347
206 315 313 376 367 321 375 385
143 79 37 30 25 19
Vector:
151 171 213 196 231 218 347 206 315 313 376
367 321 375 385 143 79 37 30 25 19
Intercambio y congelamiento
385
171 213
196 231 218 347
206 315 313 376 367 321 375 151
143 79 37 30 25 19
Vector:
385 171 213 196 231 218 347 206 315 313 376
367 321 375 151 143 79 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
171
196 213
206 231 218 347
385 315 313 376 367 321 375 151
143 79 37 30 25 19
Vector:
171 196 213 206 231 218 347 385 315 313 376
367 321 375 151 143 79 37 30 25 19
Intercambio y congelamiento
375
196 213
206 231 218 347
385 315 313 376 367 321 171 151
143 79 37 30 25 19
Vector:
375 196 213 206 231 218 347 385 315 313 376
367 321 171 151 143 79 37 30 25 19
Swapdown
196
206 213
315 231 218 347
385 375 313 376 367 321 171 151
143 79 37 30 25 19
Vector:
196 206 213 315 231 218 347 385 375 313 376
367 321 171 151 143 79 37 30 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
321
206 213
315 231 218 347
385 375 313 376 367 196 171 151
143 79 37 30 25 19
Vector:
321 206 213 315 231 218 347 385 375 313 376
367 196 171 151 143 79 37 30 25 19
Swapdown
206
231 213
315 313 218 347
385 375 321 376 367 196 171 151
143 79 37 30 25 19
Vector:
206 231 213 315 313 218 347 385 375 321 376
367 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
367
231 213
315 313 218 347
385 375 321 376 206 196 171 151
143 79 37 30 25 19
Vector:
367 231 213 315 313 218 347 385 375 321 376
206 196 171 151 143 79 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
213
231 218
315 313 367 347
385 375 321 376 206 196 171 151
143 79 37 30 25 19
Vector:
213 231 218 315 313 367 347 385 375 321 376
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
376
231 218
315 313 367 347
385 375 321 213 206 196 171 151
143 79 37 30 25 19
Vector:
376 231 218 315 313 367 347 385 375 321 213
206 196 171 151 143 79 37 30 25 19
Swapdown
218
231 347
315 313 367 376
385 375 321 213 206 196 171 151
143 79 37 30 25 19
Vector:
218 231 347 315 313 367 376 385 375 321 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
321
231 347
315 313 367 376
385 375 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
321 231 347 315 313 367 376 385 375 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
231
313 347
315 321 367 376
385 375 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
231 313 347 315 321 367 376 385 375 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
375
313 347
315 321 367 376
385 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
375 313 347 315 321 367 376 385 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
313
315 347
375 321 367 376
385 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
313 315 347 375 321 367 376 385 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
385
315 347
375 321 367 376
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
385 315 347 375 321 367 376 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
315
321 347
375 385 367 376
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
315 321 347 375 385 367 376 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
376
321 347
375 385 367 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
376 321 347 375 385 367 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
321
375 347
376 385 367 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
321 375 347 376 385 367 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
367
375 347
376 385 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
367 375 347 376 385 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
347
375 367
376 385 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
347 375 367 376 385 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
385
375 367
376 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
385 375 367 376 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
367
375 385
376 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
367 375 385 376 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
376
375 385
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
376 375 385 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
375
376 385
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
375 376 385 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
385
376 375
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
385 376 375 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion de reemplazo 45
376
385 375
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
376 385 375 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Intercambio y congelamiento
385
376 375
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
385 376 375 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
Swapdown
385
376 375
367 347 321 315
313 231 218 213 206 196 171 151
143 79 37 30 25 19
Vector:
385 376 375 367 347 321 315 313 231 218 213
206 196 171 151 143 79 37 30 25 19
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.6 Merge Polifasico con particiones formadas de 1 elemento
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 6: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
–
19, 30, 151, 206, 213,231, 313, 367
171 – –
Cuadro 7: Fase 1
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.6. Merge Polifasico con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 151, 206, 213,231, 313, 367
171 – 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
Cuadro 8: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico con particiones formadas de 2 elementos 47
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 151, 206, 213,231, 313, 367
171 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
S E2 E1 E3
– – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
–
Cuadro 9: Fase final
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 10: Calculo de la distribucion de columnas y dummies
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.7. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {196, 385}; p2 = {25, 315}; . . . ; p10 = {171, 367}; p11 = {313}.
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.7 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D –D D D –D D D –D 385 196 –25 315 321 –143 37 375 –79 347 376 –218 30 – –213 19 – –231 206 – –151 367 – –171 – – –313 – – –
Cuadro 11: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 385 196 196, 38525 315 321 25, 315, 321143 37 375 37, 143, 37579 347 376 79, 347, 376
E1 E2 S E3
218 30 – D
213 19 – D
231 206 – D
151 367 – 196, 385171 – – 25, 315, 321313 – – 37, 143, 375– – – 79, 347, 376
Cuadro 12: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 49
E1 E2 E3 S
D D D D
D D D D
D D D D
D 385 196 196, 38525 315 321 25, 315, 321143 37 375 37, 143, 37579 347 376 79, 347, 376
E1 E2 S E3
218 30 30, 218 D
213 19 19, 213 D
231 206 206, 231 D
151 367 151, 196, 367, 385 196, 385
E1 S E2 E3
171 – 30, 218 25, 315, 321313 – 19, 213 37, 143, 375– – 206, 231 79, 347, 376– – 151, 196, 367, 385 –
Cuadro 13: Fase 3
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {25, 196, 385}; p2 = {143, 315, 321}; . . . ; p6 = {151, 206, 231}; p7 = {171, 313, 367}.
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de las
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.8 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 385 196 196, 38525 315 321 25, 315, 321143 37 375 37, 143, 37579 347 376 79, 347, 376
E1 E2 S E3
218 30 30, 218 D
213 19 19, 213 D
231 206 206, 231 D
151 367 151, 196, 367, 385 196, 385
E1 S E2 E3
171 25, 30, 171, 218, 315,321
30, 218 25, 315, 321
313 19, 37, 143, 213, 313,375
19, 213 37, 143, 375
S E1 E2 E3
– 25, 30, 171, 218, 315,321
206, 231 79, 347, 376
– 19, 37, 143, 213, 313,375
151, 196, 367, 385 –
Cuadro 14: Fase 4
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 51
E1 E2 E3 S
D D D D
D D D D
D D D D
D 385 196 196, 38525 315 321 25, 315, 321143 37 375 37, 143, 37579 347 376 79, 347, 376
E1 E2 S E3
218 30 30, 218 D
213 19 19, 213 D
231 206 206, 231 D
151 367 151, 196, 367, 385 196, 385
E1 S E2 E3
171 25, 30, 171, 218, 315,321
30, 218 25, 315, 321
313 19, 37, 143, 213, 313,375
19, 213 37, 143, 375
S E1 E2 E3
25, 30, 79, 171, 206,218, 231, 315, 321,347, 376
25, 30, 171, 218, 315,321
206, 231 79, 347, 376
E3 E1 E2 S
25, 30, 79, 171, 206,218, 231, 315, 321,347, 376
19, 37, 143, 213, 313,375
151, 196, 367, 385 –
Cuadro 15: Fase 5
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.8 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 385 196 196, 38525 315 321 25, 315, 321143 37 375 37, 143, 37579 347 376 79, 347, 376
E1 E2 S E3
218 30 30, 218 D
213 19 19, 213 D
231 206 206, 231 D
151 367 151, 196, 367, 385 196, 385
E1 S E2 E3
171 25, 30, 171, 218, 315,321
30, 218 25, 315, 321
313 19, 37, 143, 213, 313,375
19, 213 37, 143, 375
S E1 E2 E3
25, 30, 79, 171, 206,218, 231, 315, 321,347, 376
25, 30, 171, 218, 315,321
206, 231 79, 347, 376
E3 E1 E2 S
25, 30, 79, 171, 206,218, 231, 315, 321,347, 376
19, 37, 143, 213, 313,375
151, 196, 367, 385 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E1 E2 E3
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 16: Fase final
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 17: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 53
E1 E2 E3 S
D D D –D D D –196, 385 25, 315 143, 321 –37, 375 79, 347 218, 376 –30, 213 19, 231 – –151, 206 171, 367 – –313 – – –
Cuadro 18: Fase 1
E1 E2 E3 S
D D D D
D D D D
196, 385 25, 315 143, 321 25, 143, 196, 315,321, 385
37, 375 79, 347 218, 376 37, 79, 218, 347, 375,376
E1 E2 S E3
30, 213 19, 231 – D
151, 206 171, 367 – D
313 – – 25, 143, 196, 315,321, 385
– – – 37, 79, 218, 347, 375,376
Cuadro 19: Fase 2
E1 E2 E3 S
D D D D
D D D D
196, 385 25, 315 143, 321 25, 143, 196, 315,321, 385
37, 375 79, 347 218, 376 37, 79, 218, 347, 375,376
E1 E2 S E3
30, 213 19, 231 19, 30, 213, 231 D
151, 206 171, 367 151, 171, 206, 367 D
E1 S E2 E3
313 – 19, 30, 213, 231 25, 143, 196, 315,321, 385
– – 151, 171, 206, 367 37, 79, 218, 347, 375,376
Cuadro 20: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
D D D D
196, 385 25, 315 143, 321 25, 143, 196, 315,321, 385
37, 375 79, 347 218, 376 37, 79, 218, 347, 375,376
E1 E2 S E3
30, 213 19, 231 19, 30, 213, 231 D
151, 206 171, 367 151, 171, 206, 367 D
E1 S E2 E3
313 19, 25, 30, 143, 196,213, 231, 313, 315,321, 385
19, 30, 213, 231 25, 143, 196, 315,321, 385
S E1 E2 E3
– 19, 25, 30, 143, 196,213, 231, 313, 315,321, 385
151, 171, 206, 367 37, 79, 218, 347, 375,376
Cuadro 21: Fase 4
cuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {25, 196, 315, 385}; p2 = {37, 143, 321, 375}; p3 = {79, 218, 347, 376}; p4 ={19, 30, 213, 231}; p5 = {151, 171, 206, 367}; p6 = {313}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.10. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
Enrique P. Calot Algoritmos y Programacion II
3.10 Seleccion de reemplazo con buffer de tamano 2 55
E1 E2 E3 S
D D D D
D D D D
196, 385 25, 315 143, 321 25, 143, 196, 315,321, 385
37, 375 79, 347 218, 376 37, 79, 218, 347, 375,376
E1 E2 S E3
30, 213 19, 231 19, 30, 213, 231 D
151, 206 171, 367 151, 171, 206, 367 D
E1 S E2 E3
313 19, 25, 30, 143, 196,213, 231, 313, 315,321, 385
19, 30, 213, 231 25, 143, 196, 315,321, 385
S E1 E2 E3
19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
19, 25, 30, 143, 196,213, 231, 313, 315,321, 385
151, 171, 206, 367 37, 79, 218, 347, 375,376
E1 S E2 E3
19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
– – –
Cuadro 22: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 23: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 25, 196, 385 –143, 315, 321 37, 79, 375 218, 347, 376 –19, 30, 213 151, 206, 231 – –171, 313, 367 – – –
Cuadro 24: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.10 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 25, 196, 385 25, 196, 385143, 315, 321 37, 79, 375 218, 347, 376 37, 79, 143, 218, 315,
321, 347, 375, 376
E1 E2 S E3
19, 30, 213 151, 206, 231 – 25, 196, 385171, 313, 367 – – 37, 79, 143, 218, 315,
321, 347, 375, 376
Cuadro 25: Fase 2
E1 E2 E3 S
D D 25, 196, 385 25, 196, 385143, 315, 321 37, 79, 375 218, 347, 376 37, 79, 143, 218, 315,
321, 347, 375, 376
E1 E2 S E3
19, 30, 213 151, 206, 231 19, 25, 30, 151, 196,206, 213, 231, 385
25, 196, 385
E1 S E2 E3
171, 313, 367 – 19, 25, 30, 151, 196,206, 213, 231, 385
37, 79, 143, 218, 315,321, 347, 375, 376
Cuadro 26: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Seleccion de reemplazo con buffer de tamano 2 57
E1 E2 E3 S
D D 25, 196, 385 25, 196, 385143, 315, 321 37, 79, 375 218, 347, 376 37, 79, 143, 218, 315,
321, 347, 375, 376
E1 E2 S E3
19, 30, 213 151, 206, 231 19, 25, 30, 151, 196,206, 213, 231, 385
25, 196, 385
E1 S E2 E3
171, 313, 367 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
19, 25, 30, 151, 196,206, 213, 231, 385
37, 79, 143, 218, 315,321, 347, 375, 376
S E1 E2 E3
– 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
– –
Cuadro 27: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 28: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –25, 196, 315, 385 37, 143, 321, 375 79, 218, 347, 376 –19, 30, 213, 231 151, 171, 206, 367 – –313 – – –
Cuadro 29: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.10 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
25, 196, 315, 385 37, 143, 321, 375 79, 218, 347, 376 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 213, 231 151, 171, 206, 367 – D
313 – – 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
Cuadro 30: Fase 2
E1 E2 E3 S
D D D D
25, 196, 315, 385 37, 143, 321, 375 79, 218, 347, 376 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 213, 231 151, 171, 206, 367 19, 30, 151, 171, 206,213, 231, 367
D
E1 S E2 E3
313 – 19, 30, 151, 171, 206,213, 231, 367
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
Cuadro 31: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D D D
25, 196, 315, 385 37, 143, 321, 375 79, 218, 347, 376 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 213, 231 151, 171, 206, 367 19, 30, 151, 171, 206,213, 231, 367
D
E1 S E2 E3
313 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
19, 30, 151, 171, 206,213, 231, 367
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
S E1 E2 E3
– 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
– –
Cuadro 32: Fase final
3.10.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
b1 b2 Sale Entra
– – Nada 385
385 – Nada 196
385 196 196 25
385 25 385 315
315 25
Nueva particion! Se cierra la particion p1 = {196, 385}25 321
315 321 315 143
143 321 321 37
143 37
Nueva particion! Se cierra la particion p2 = {25, 315, 321}37 375
143 375 143 79
79 375 375 347
79 347
Nueva particion! Se cierra la particion p3 = {37, 143, 375}79 376
376 347 347 218
376 218 376 30
30 218
Nueva particion! Se cierra la particion p4 = {79, 347, 376}30 213
213 218 213 19
19 218 218 231
19 231 231 206
19 206
Nueva particion! Se cierra la particion p5 = {30, 213, 218, 231}19 151
151 206 151 367
367 206 206 171
367 171 367 313
313 171
Nueva particion! Se cierra la particion p6 = {19, 151, 206, 367}171 Nada
313 – 313 Nada
Finaliza la ultima particion en p7 = {171, 313}
3.10.2. Salida final
p1 = {196, 385};
p2 = {25, 315, 321};
p3 = {37, 143, 375};
p4 = {79, 347, 376};
p5 = {30, 213, 218, 231};
p6 = {19, 151, 206, 367};
p7 = {171, 313}.
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.12 Seleccion Natural con buffers de tamano 2 61
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 33: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 196, 385 –25, 315, 321 37, 143, 375 79, 347, 376 –30, 213, 218, 231 19, 151, 206, 367 – –171, 313 – – –
Cuadro 34: Fase 1
3.11.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.11.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.12. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D 196, 385 196, 38525, 315, 321 37, 143, 375 79, 347, 376 25, 37, 79, 143, 315,
321, 347, 375, 376
E1 E2 S E3
30, 213, 218, 231 19, 151, 206, 367 – 196, 385171, 313 – – 25, 37, 79, 143, 315,
321, 347, 375, 376
Cuadro 35: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.12 Seleccion Natural con buffers de tamano 2
E1 E2 E3 S
D D 196, 385 196, 38525, 315, 321 37, 143, 375 79, 347, 376 25, 37, 79, 143, 315,
321, 347, 375, 376
E1 E2 S E3
30, 213, 218, 231 19, 151, 206, 367 19, 30, 151, 196, 206,213, 218, 231, 367,385
196, 385
E1 S E2 E3
171, 313 – 19, 30, 151, 196, 206,213, 218, 231, 367,385
25, 37, 79, 143, 315,321, 347, 375, 376
Cuadro 36: Fase 3
E1 E2 E3 S
D D 196, 385 196, 38525, 315, 321 37, 143, 375 79, 347, 376 25, 37, 79, 143, 315,
321, 347, 375, 376
E1 E2 S E3
30, 213, 218, 231 19, 151, 206, 367 19, 30, 151, 196, 206,213, 218, 231, 367,385
196, 385
E1 S E2 E3
171, 313 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
19, 30, 151, 196, 206,213, 218, 231, 367,385
25, 37, 79, 143, 315,321, 347, 375, 376
S E1 E2 E3
– 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
– –
Cuadro 37: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.12 Seleccion Natural con buffers de tamano 2 63
3.12.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 385
385 – – – Nada 196
385 196 – – 196 25
385 – 25 – Nada 315
385 315 25 – 315 321
385 321 25 – 321 143
385 – 25 143 385 Nada
25 143 – –
Nueva particion! Se cierra la particion p1 = {196, 315, 321, 385}25 37
37 143 – – 37 375
375 143 – – 143 79
375 – 79 – Nada 347
375 347 79 – 347 376
375 376 79 – 375 218
– 376 79 218 376 Nada
79 218 – –
Nueva particion! Se cierra la particion p2 = {25, 37, 143, 347, 375, 376}79 30
– 218 30 – Nada 213
213 218 30 – 213 19
– 218 30 19 218 Nada
30 19 – –
Nueva particion! Se cierra la particion p3 = {79, 213, 218}19 231
30 231 – – 30 206
206 231 – – 206 151
– 231 151 – Nada 367
367 231 151 – 231 171
367 – 151 171 367 Nada
151 171 – –
Nueva particion! Se cierra la particion p4 = {19, 30, 206, 231, 367}151 313
313 171 – – 171 Nada
313 – – – 313 Nada
Finaliza la ultima particion en p5 = {151, 171, 313}
3.12.2. Salida final
p1 = {196, 315, 321, 385};
p2 = {25, 37, 143, 347, 375, 376};
p3 = {79, 213, 218};
p4 = {19, 30, 206, 231, 367};
p5 = {151, 171, 313}.
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 38: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
196, 315, 321, 385 25, 37, 143, 347, 375,376
79, 213, 218 –
19, 30, 206, 231, 367 151, 171, 313 – –
Cuadro 39: Fase 1
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.13.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.13.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
3.14. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
E1 E2 E3 S
196, 315, 321, 385 25, 37, 143, 347, 375,376
79, 213, 218 25, 37, 79, 143, 196,213, 218, 315, 321,347, 375, 376, 385
E1 E2 S E3
19, 30, 206, 231, 367 151, 171, 313 – 25, 37, 79, 143, 196,213, 218, 315, 321,347, 375, 376, 385
Cuadro 40: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.14 Seleccion de reemplazo con buffer de tamano 3 65
E1 E2 E3 S
196, 315, 321, 385 25, 37, 143, 347, 375,376
79, 213, 218 25, 37, 79, 143, 196,213, 218, 315, 321,347, 375, 376, 385
E1 E2 S E3
19, 30, 206, 231, 367 151, 171, 313 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
25, 37, 79, 143, 196,213, 218, 315, 321,347, 375, 376, 385
S E2 E1 E3
– – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
–
Cuadro 41: Fase final
3.14.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.15 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3
b1 b2 b3 Sale Entra
– – – Nada 385
385 – – Nada 196
385 196 – Nada 25
385 196 25 25 315
385 196 315 196 321
385 321 315 315 143
385 321 143 321 37
385 37 143 385 375
375 37 143
Nueva particion! Se cierra la particion p1 = {25, 196, 315, 321, 385}37 79
375 79 143 79 347
375 347 143 143 376
375 347 376 347 218
375 218 376 375 30
30 218 376 376 213
30 218 213
Nueva particion! Se cierra la particion p2 = {37, 79, 143, 347, 375, 376}30 19
19 218 213 213 231
19 218 231 218 206
19 206 231 231 151
19 206 151
Nueva particion! Se cierra la particion p3 = {30, 213, 218, 231}19 367
367 206 151 151 171
367 206 171 171 313
367 206 313 206 Nada
367 – 313 313 Nada
367 – – 367 Nada
Finaliza la ultima particion en p4 = {19, 151, 171, 206, 313, 367}
3.14.2. Salida final
p1 = {25, 196, 315, 321, 385};
p2 = {37, 79, 143, 347, 375, 376};
p3 = {30, 213, 218, 231};
p4 = {19, 151, 171, 206, 313, 367}.
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.15.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.15.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de las
Enrique P. Calot Algoritmos y Programacion II
3.16 Seleccion Natural con buffers de tamano 3 67
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 42: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 25, 196, 315, 321, 385 37, 79, 143, 347, 375,376
–
30, 213, 218, 231 19, 151, 171, 206,313, 367
– –
Cuadro 43: Fase 1
cuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.16. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.16.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
D 25, 196, 315, 321, 385 37, 79, 143, 347, 375,376
25, 37, 79, 143, 196,315, 321, 347, 375,376, 385
E1 E2 S E3
30, 213, 218, 231 19, 151, 171, 206,313, 367
– 25, 37, 79, 143, 196,315, 321, 347, 375,376, 385
Cuadro 44: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.16 Seleccion Natural con buffers de tamano 3
E1 E2 E3 S
D 25, 196, 315, 321, 385 37, 79, 143, 347, 375,376
25, 37, 79, 143, 196,315, 321, 347, 375,376, 385
E1 E2 S E3
30, 213, 218, 231 19, 151, 171, 206,313, 367
19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
25, 37, 79, 143, 196,315, 321, 347, 375,376, 385
S E2 E1 E3
– – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
–
Cuadro 45: Fase final
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 385
385 – – – – – Nada 196
385 196 – – – – Nada 25
385 196 25 – – – 25 315
385 196 315 – – – 196 321
385 321 315 – – – 315 143
385 321 – 143 – – Nada 37
385 321 – 143 37 – Nada 375
385 321 375 143 37 – 321 79
385 – 375 143 37 79 375 Nada
385 – – 143 37 79 385 Nada
143 37 79 – – –
Nueva particion! Se cierra la particion p1 = {25, 196, 315, 321, 375, 385}37 347
143 347 79 – – – 79 376
143 347 376 – – – 143 218
218 347 376 – – – 218 30
– 347 376 30 – – Nada 213
– 347 376 30 213 – Nada 19
– 347 376 30 213 19 347 Nada
– – 376 30 213 19 376 Nada
30 213 19 – – –
Nueva particion! Se cierra la particion p2 = {37, 79, 143, 218, 347, 376}19 231
30 213 231 – – – 30 206
206 213 231 – – – 206 151
– 213 231 151 – – Nada 367
367 213 231 151 – – 213 171
367 – 231 151 171 – Nada 313
367 313 231 151 171 – 231 Nada
367 313 – 151 171 – 313 Nada
367 – – 151 171 – 367 Nada
151 171 – – – –
Nueva particion! Se cierra la particion p3 = {19, 30, 206, 213, 231, 313, 367}151 Nada
– 171 – – – – 171 Nada
Finaliza la ultima particion en p4 = {151, 171}Enrique P. Calot Algoritmos y Programacion II
3.17 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 69
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 46: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
–
19, 30, 206, 213, 231,313, 367
151, 171 – –
Cuadro 47: Fase 1
3.16.2. Salida final
p1 = {25, 196, 315, 321, 375, 385};
p2 = {37, 79, 143, 218, 347, 376};
p3 = {19, 30, 206, 213, 231, 313, 367};
p4 = {151, 171}.
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.17.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.17.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.18. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.18 Seleccion Natural con buffers de tamano 4
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 206, 213, 231,313, 367
151, 171 – 25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
Cuadro 48: Fase 2
E1 E2 E3 S
D 25, 196, 315, 321,375, 385
37, 79, 143, 218, 347,376
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
E1 E2 S E3
19, 30, 206, 213, 231,313, 367
151, 171 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
25, 37, 79, 143, 196,218, 315, 321, 347,375, 376, 385
S E2 E1 E3
– – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
–
Cuadro 49: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.19 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 71
3.18.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 385
385 – – – – – – – Nada 196
385 196 – – – – – – Nada 25
385 196 25 – – – – – Nada 315
385 196 25 315 – – – – 25 321
385 196 321 315 – – – – 196 143
385 – 321 315 143 – – – Nada 37
385 – 321 315 143 37 – – Nada 375
385 375 321 315 143 37 – – 315 79
385 375 321 – 143 37 79 – Nada 347
385 375 321 347 143 37 79 – 321 376
385 375 376 347 143 37 79 – 347 218
385 375 376 – 143 37 79 218 375 Nada
385 – 376 – 143 37 79 218 376 Nada
385 – – – 143 37 79 218 385 Nada
143 37 79 218 – – – –
Nueva particion! Se cierra la particion p1 = {25, 196, 315, 321, 347, 375, 376, 385}37 30
143 – 79 218 30 – – – Nada 213
143 213 79 218 30 – – – 79 19
143 213 – 218 30 19 – – Nada 231
143 213 231 218 30 19 – – 143 206
206 213 231 218 30 19 – – 206 151
– 213 231 218 30 19 151 – Nada 367
367 213 231 218 30 19 151 – 213 171
367 – 231 218 30 19 151 171 218 Nada
367 – 231 – 30 19 151 171 231 Nada
367 – – – 30 19 151 171 367 Nada
30 19 151 171 – – – –
Nueva particion! Se cierra la particion p2 = {37, 79, 143, 206, 213, 218, 231, 367}19 313
30 313 151 171 – – – – 30 Nada
– 313 151 171 – – – – 151 Nada
– 313 – 171 – – – – 171 Nada
– 313 – – – – – – 313 Nada
Finaliza la ultima particion en p3 = {19, 30, 151, 171, 313}
3.18.2. Salida final
p1 = {25, 196, 315, 321, 347, 375, 376, 385};
p2 = {37, 79, 143, 206, 213, 218, 231, 367};
p3 = {19, 30, 151, 171, 313}.
3.19. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.20 Seleccion de reemplazo con buffer de tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 50: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
25, 196, 315, 321,347, 375, 376, 385
37, 79, 143, 206, 213,218, 231, 367
19, 30, 151, 171, 313 –
Cuadro 51: Fase 1
3.19.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.19.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.20. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.20.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.20 Seleccion de reemplazo con buffer de tamano 5 73
E1 E2 E3 S
25, 196, 315, 321,347, 375, 376, 385
37, 79, 143, 206, 213,218, 231, 367
19, 30, 151, 171, 313 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E2 E3 E1
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 52: Fase final
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 385
385 – – – – Nada 196
385 196 – – – Nada 25
385 196 25 – – Nada 315
385 196 25 315 – Nada 321
385 196 25 315 321 25 143
385 196 143 315 321 143 37
385 196 37 315 321 196 375
385 375 37 315 321 315 79
385 375 37 79 321 321 347
385 375 37 79 347 347 376
385 375 37 79 376 375 218
385 218 37 79 376 376 30
385 218 37 79 30 385 213
213 218 37 79 30
Nueva particion! Se cierra la particion p1 =
{25, 143, 196, 315, 321, 347, 375, 376, 385}30 19
213 218 37 79 19 37 231
213 218 231 79 19 79 206
213 218 231 206 19 206 151
213 218 231 151 19 213 367
367 218 231 151 19 218 171
367 171 231 151 19 231 313
367 171 313 151 19 313 Nada
367 171 – 151 19 367 Nada
– 171 – 151 19
Nueva particion! Se cierra la particion p2 =
{30, 37, 79, 206, 213, 218, 231, 313, 367}19 Nada
– 171 – 151 – 151 Nada
– 171 – – – 171 Nada
Finaliza la ultima particion en p3 = {19, 151, 171}
3.20.2. Salida final
p1 = {25, 143, 196, 315, 321, 347, 375, 376, 385};
p2 = {30, 37, 79, 206, 213, 218, 231, 313, 367};
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.21 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 53: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
25, 143, 196, 315,321, 347, 375, 376,385
30, 37, 79, 206, 213,218, 231, 313, 367
19, 151, 171 –
Cuadro 54: Fase 1
p3 = {19, 151, 171}.
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.21.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.21.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.22. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.22.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.22 Seleccion Natural con buffers de tamano 5 75
E1 E2 E3 S
25, 143, 196, 315,321, 347, 375, 376,385
30, 37, 79, 206, 213,218, 231, 313, 367
19, 151, 171 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E2 E3 E1
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 55: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 385
385 – – – – – – – – – Nada 196
385 196 – – – – – – – – Nada 25
385 196 25 – – – – – – – Nada 315
385 196 25 315 – – – – – – Nada 321
385 196 25 315 321 – – – – – 25 143
385 196 143 315 321 – – – – – 143 37
385 196 – 315 321 37 – – – – Nada 375
385 196 375 315 321 37 – – – – 196 79
385 – 375 315 321 37 79 – – – Nada 347
385 347 375 315 321 37 79 – – – 315 376
385 347 375 376 321 37 79 – – – 321 218
385 347 375 376 – 37 79 218 – – Nada 30
385 347 375 376 – 37 79 218 30 – Nada 213
385 347 375 376 – 37 79 218 30 213 347 Nada
385 – 375 376 – 37 79 218 30 213 375 Nada
385 – – 376 – 37 79 218 30 213 376 Nada
385 – – – – 37 79 218 30 213 385 Nada
37 79 218 30 213 – – – – –
Nueva particion! Se cierra la particion p1 = {25, 143, 196, 315, 321, 347, 375, 376, 385}30 19
37 79 218 – 213 19 – – – – Nada 231
37 79 218 231 213 19 – – – – 37 206
206 79 218 231 213 19 – – – – 79 151
206 151 218 231 213 19 – – – – 151 367
206 367 218 231 213 19 – – – – 206 171
– 367 218 231 213 19 171 – – – Nada 313
313 367 218 231 213 19 171 – – – 213 Nada
313 367 218 231 – 19 171 – – – 218 Nada
313 367 – 231 – 19 171 – – – 231 Nada
313 367 – – – 19 171 – – – 313 Nada
– 367 – – – 19 171 – – – 367 Nada
19 171 – – – – – – – –
Nueva particion! Se cierra la particion p2 = {30, 37, 79, 151, 206, 213, 218, 231, 313, 367}19 Nada
– 171 – – – – – – – – 171 Nada
Finaliza la ultima particion en p3 = {19, 171}
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.23 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 56: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
25, 143, 196, 315,321, 347, 375, 376,385
30, 37, 79, 151, 206,213, 218, 231, 313,367
19, 171 –
Cuadro 57: Fase 1
3.22.2. Salida final
p1 = {25, 143, 196, 315, 321, 347, 375, 376, 385};
p2 = {30, 37, 79, 151, 206, 213, 218, 231, 313, 367};
p3 = {19, 171}.
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.23.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.23.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.24. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.24.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.24 Seleccion de reemplazo con buffer de tamano 6 77
E1 E2 E3 S
25, 143, 196, 315,321, 347, 375, 376,385
30, 37, 79, 151, 206,213, 218, 231, 313,367
19, 171 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E2 E3 E1
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 58: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 385
385 – – – – – Nada 196
385 196 – – – – Nada 25
385 196 25 – – – Nada 315
385 196 25 315 – – Nada 321
385 196 25 315 321 – Nada 143
385 196 25 315 321 143 25 37
385 196 37 315 321 143 37 375
385 196 375 315 321 143 143 79
385 196 375 315 321 79 196 347
385 347 375 315 321 79 315 376
385 347 375 376 321 79 321 218
385 347 375 376 218 79 347 30
385 30 375 376 218 79 375 213
385 30 213 376 218 79 376 19
385 30 213 19 218 79 385 231
231 30 213 19 218 79
Nueva particion! Se cierra la particion p1 =
{25, 37, 143, 196, 315, 321, 347, 375, 376, 385}19 206
231 30 213 206 218 79 30 151
231 151 213 206 218 79 79 367
231 151 213 206 218 367 151 171
231 171 213 206 218 367 171 313
231 313 213 206 218 367 206 Nada
231 313 213 – 218 367 213 Nada
231 313 – – 218 367 218 Nada
231 313 – – – 367 231 Nada
– 313 – – – 367 313 Nada
– – – – – 367 367 Nada
Finaliza la ultima particion en p2 =
{19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}
3.24.2. Salida final
p1 = {25, 37, 143, 196, 315, 321, 347, 375, 376, 385};
p2 = {19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}.
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.25 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 59: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 25, 37, 143, 196, 315,321, 347, 375, 376,385
19, 30, 79, 151, 171,206, 213, 218, 231,313, 367
–
Cuadro 60: Fase 1
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.25.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.25.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.26. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.26.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.26 Seleccion Natural con buffers de tamano 6 79
E1 E2 E3 S
D 25, 37, 143, 196, 315,321, 347, 375, 376,385
19, 30, 79, 151, 171,206, 213, 218, 231,313, 367
19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E2 E3 E1
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 61: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 385
385 – – – – – – – – – – – Nada 196
385 196 – – – – – – – – – – Nada 25
385 196 25 – – – – – – – – – Nada 315
385 196 25 315 – – – – – – – – Nada 321
385 196 25 315 321 – – – – – – – Nada 143
385 196 25 315 321 143 – – – – – – 25 37
385 196 37 315 321 143 – – – – – – 37 375
385 196 375 315 321 143 – – – – – – 143 79
385 196 375 315 321 – 79 – – – – – Nada 347
385 196 375 315 321 347 79 – – – – – 196 376
385 376 375 315 321 347 79 – – – – – 315 218
385 376 375 – 321 347 79 218 – – – – Nada 30
385 376 375 – 321 347 79 218 30 – – – Nada 213
385 376 375 – 321 347 79 218 30 213 – – Nada 19
385 376 375 – 321 347 79 218 30 213 19 – Nada 231
385 376 375 – 321 347 79 218 30 213 19 231 321 Nada
385 376 375 – – 347 79 218 30 213 19 231 347 Nada
385 376 375 – – – 79 218 30 213 19 231 375 Nada
385 376 – – – – 79 218 30 213 19 231 376 Nada
385 – – – – – 79 218 30 213 19 231 385 Nada
79 218 30 213 19 231 – – – – – –
Nueva particion! Se cierra la particion p1 = {25, 37, 143, 196, 315, 321, 347, 375, 376, 385}19 206
79 218 30 213 206 231 – – – – – – 30 151
79 218 151 213 206 231 – – – – – – 79 367
367 218 151 213 206 231 – – – – – – 151 171
367 218 171 213 206 231 – – – – – – 171 313
367 218 313 213 206 231 – – – – – – 206 Nada
367 218 313 213 – 231 – – – – – – 213 Nada
367 218 313 – – 231 – – – – – – 218 Nada
367 – 313 – – 231 – – – – – – 231 Nada
367 – 313 – – – – – – – – – 313 Nada
367 – – – – – – – – – – – 367 Nada
Finaliza la ultima particion en p2 = {19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}
3.26.2. Salida final
p1 = {25, 37, 143, 196, 315, 321, 347, 375, 376, 385};
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.27 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 62: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 25, 37, 143, 196, 315,321, 347, 375, 376,385
19, 30, 79, 151, 171,206, 213, 218, 231,313, 367
–
Cuadro 63: Fase 1
p2 = {19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}.
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.27.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.27.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.28 Bubble Sort ascendente 81
E1 E2 E3 S
D 25, 37, 143, 196, 315,321, 347, 375, 376,385
19, 30, 79, 151, 171,206, 213, 218, 231,313, 367
19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
S E2 E3 E1
– – – 19, 25, 30, 37, 79,143, 151, 171, 196,206, 213, 218, 231,313, 315, 321, 347,367, 375, 376, 385
Cuadro 64: Fase final
3.28. Bubble Sort ascendente
3.28.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 20/20
1 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 385 15/19
2 25 196 315 143 37 321 79 347 375 218 30 213 19 231 206 151 367 171 313 376 385 13/18
3 25 196 143 37 315 79 321 347 218 30 213 19 231 206 151 367 171 313 375 376 385 12/17
4 25 143 37 196 79 315 321 218 30 213 19 231 206 151 347 171 313 367 375 376 385 11/16
5 25 37 143 79 196 315 218 30 213 19 231 206 151 321 171 313 347 367 375 376 385 10/15
6 25 37 79 143 196 218 30 213 19 231 206 151 315 171 313 321 347 367 375 376 385 7/14
7 25 37 79 143 196 30 213 19 218 206 151 231 171 313 315 321 347 367 375 376 385 5/13
8 25 37 79 143 30 196 19 213 206 151 218 171 231 313 315 321 347 367 375 376 385 5/12
9 25 37 79 30 143 19 196 206 151 213 171 218 231 313 315 321 347 367 375 376 385 4/11
10 25 37 30 79 19 143 196 151 206 171 213 218 231 313 315 321 347 367 375 376 385 4/10
11 25 30 37 19 79 143 151 196 171 206 213 218 231 313 315 321 347 367 375 376 385 2/9
12 25 30 19 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 1/8
13 25 19 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 1/7
14 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/6
15 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/5
16 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/4
17 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/3
18 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/2
19 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/1
20 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.29 Bubble Sort descendente
3.29. Bubble Sort descendente
3.29.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 17/20
1 385 196 315 321 143 37 375 79 347 376 218 30 213 25 231 206 151 367 171 313 19 14/19
2 385 315 321 196 143 375 79 347 376 218 37 213 30 231 206 151 367 171 313 25 19 12/18
3 385 321 315 196 375 143 347 376 218 79 213 37 231 206 151 367 171 313 30 25 19 11/17
4 385 321 315 375 196 347 376 218 143 213 79 231 206 151 367 171 313 37 30 25 19 11/16
5 385 321 375 315 347 376 218 196 213 143 231 206 151 367 171 313 79 37 30 25 19 10/15
6 385 375 321 347 376 315 218 213 196 231 206 151 367 171 313 143 79 37 30 25 19 7/14
7 385 375 347 376 321 315 218 213 231 206 196 367 171 313 151 143 79 37 30 25 19 4/13
8 385 375 376 347 321 315 218 231 213 206 367 196 313 171 151 143 79 37 30 25 19 4/12
9 385 376 375 347 321 315 231 218 213 367 206 313 196 171 151 143 79 37 30 25 19 2/11
10 385 376 375 347 321 315 231 218 367 213 313 206 196 171 151 143 79 37 30 25 19 2/10
11 385 376 375 347 321 315 231 367 218 313 213 206 196 171 151 143 79 37 30 25 19 2/9
12 385 376 375 347 321 315 367 231 313 218 213 206 196 171 151 143 79 37 30 25 19 2/8
13 385 376 375 347 321 367 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 1/7
14 385 376 375 347 367 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 1/6
15 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/5
16 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/4
17 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/3
18 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/2
19 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/1
20 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/0
Enrique P. Calot Algoritmos y Programacion II
3.30 Bilateral Bubble Sort ascendente 83
3.30. Bilateral Bubble Sort ascendente
3.30.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 20/20
1 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 385 16/20
2 19 196 25 315 321 143 37 375 79 347 376 218 30 213 151 231 206 171 367 313 385 14/18
3 19 25 196 315 143 37 321 79 347 375 218 30 213 151 231 206 171 367 313 376 385 13/18
4 19 25 30 196 315 143 37 321 79 347 375 218 151 213 171 231 206 313 367 376 385 11/16
5 19 25 30 196 143 37 315 79 321 347 218 151 213 171 231 206 313 367 375 376 385 8/16
6 19 25 30 37 196 143 79 315 151 321 347 218 171 213 206 231 313 367 375 376 385 9/14
7 19 25 30 37 143 79 196 151 315 321 218 171 213 206 231 313 347 367 375 376 385 6/14
8 19 25 30 37 79 143 151 196 171 315 321 218 206 213 231 313 347 367 375 376 385 6/12
9 19 25 30 37 79 143 151 171 196 315 218 206 213 231 313 321 347 367 375 376 385 2/12
10 19 25 30 37 79 143 151 171 196 206 315 218 213 231 313 321 347 367 375 376 385 4/10
11 19 25 30 37 79 143 151 171 196 206 218 213 231 313 315 321 347 367 375 376 385 1/10
12 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/8
13 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/8
14 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/6
15 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/6
16 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/4
17 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/4
18 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/2
19 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/2
20 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.31 Bilateral Bubble Sort descendente
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 17/20
1 385 196 315 321 143 37 375 79 347 376 218 30 213 25 231 206 151 367 171 313 19 16/20
2 385 376 196 315 321 143 37 375 79 347 367 218 30 213 25 231 206 151 313 171 19 13/18
3 385 376 315 321 196 143 375 79 347 367 218 37 213 30 231 206 151 313 171 25 19 13/18
4 385 376 375 315 321 196 143 367 79 347 313 218 37 213 30 231 206 151 171 25 19 10/16
5 385 376 375 321 315 196 367 143 347 313 218 79 213 37 231 206 151 171 30 25 19 9/16
6 385 376 375 367 321 315 196 347 143 313 231 218 79 213 37 206 171 151 30 25 19 8/14
7 385 376 375 367 321 315 347 196 313 231 218 143 213 79 206 171 151 37 30 25 19 5/14
8 385 376 375 367 347 321 315 313 196 231 218 213 143 206 79 171 151 37 30 25 19 6/12
9 385 376 375 367 347 321 315 313 231 218 213 196 206 143 171 151 79 37 30 25 19 2/12
10 385 376 375 367 347 321 315 313 231 218 213 206 196 171 143 151 79 37 30 25 19 1/10
11 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/10
12 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/8
13 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/8
14 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/6
15 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/6
16 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/4
17 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/4
18 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/2
19 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/2
20 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 0/0
Enrique P. Calot Algoritmos y Programacion II
3.32 Selection Sort ascendente 85
3.32. Selection Sort ascendente
3.32.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 1/20
1 19 196 25 315 321 143 37 375 79 347 376 218 30 213 385 231 206 151 367 171 313 1/19
2 19 25 196 315 321 143 37 375 79 347 376 218 30 213 385 231 206 151 367 171 313 1/18
3 19 25 30 315 321 143 37 375 79 347 376 218 196 213 385 231 206 151 367 171 313 1/17
4 19 25 30 37 321 143 315 375 79 347 376 218 196 213 385 231 206 151 367 171 313 1/16
5 19 25 30 37 79 143 315 375 321 347 376 218 196 213 385 231 206 151 367 171 313 1/15
6 19 25 30 37 79 143 315 375 321 347 376 218 196 213 385 231 206 151 367 171 313 1/14
7 19 25 30 37 79 143 151 375 321 347 376 218 196 213 385 231 206 315 367 171 313 1/13
8 19 25 30 37 79 143 151 171 321 347 376 218 196 213 385 231 206 315 367 375 313 1/12
9 19 25 30 37 79 143 151 171 196 347 376 218 321 213 385 231 206 315 367 375 313 1/11
10 19 25 30 37 79 143 151 171 196 206 376 218 321 213 385 231 347 315 367 375 313 1/10
11 19 25 30 37 79 143 151 171 196 206 213 218 321 376 385 231 347 315 367 375 313 1/9
12 19 25 30 37 79 143 151 171 196 206 213 218 321 376 385 231 347 315 367 375 313 1/8
13 19 25 30 37 79 143 151 171 196 206 213 218 231 376 385 321 347 315 367 375 313 1/7
14 19 25 30 37 79 143 151 171 196 206 213 218 231 313 385 321 347 315 367 375 376 1/6
15 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 385 367 375 376 1/5
16 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 385 367 375 376 1/4
17 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 385 367 375 376 1/3
18 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 385 375 376 1/2
19 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 385 376 1/1
20 19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.33 Selection Sort descendente
3.33. Selection Sort descendente
3.33.1. Desarrollo
0 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 1/20
1 385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 1/19
2 385 376 25 315 321 143 37 375 79 347 196 218 30 213 19 231 206 151 367 171 313 1/18
3 385 376 375 315 321 143 37 25 79 347 196 218 30 213 19 231 206 151 367 171 313 1/17
4 385 376 375 367 321 143 37 25 79 347 196 218 30 213 19 231 206 151 315 171 313 1/16
5 385 376 375 367 347 143 37 25 79 321 196 218 30 213 19 231 206 151 315 171 313 1/15
6 385 376 375 367 347 321 37 25 79 143 196 218 30 213 19 231 206 151 315 171 313 1/14
7 385 376 375 367 347 321 315 25 79 143 196 218 30 213 19 231 206 151 37 171 313 1/13
8 385 376 375 367 347 321 315 313 79 143 196 218 30 213 19 231 206 151 37 171 25 1/12
9 385 376 375 367 347 321 315 313 231 143 196 218 30 213 19 79 206 151 37 171 25 1/11
10 385 376 375 367 347 321 315 313 231 218 196 143 30 213 19 79 206 151 37 171 25 1/10
11 385 376 375 367 347 321 315 313 231 218 213 143 30 196 19 79 206 151 37 171 25 1/9
12 385 376 375 367 347 321 315 313 231 218 213 206 30 196 19 79 143 151 37 171 25 1/8
13 385 376 375 367 347 321 315 313 231 218 213 206 196 30 19 79 143 151 37 171 25 1/7
14 385 376 375 367 347 321 315 313 231 218 213 206 196 171 19 79 143 151 37 30 25 1/6
15 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 79 143 19 37 30 25 1/5
16 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 19 37 30 25 1/4
17 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 19 37 30 25 1/3
18 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 19 30 25 1/2
19 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 19 25 1/1
20 385 376 375 367 347 321 315 313 231 218 213 206 196 171 151 143 79 37 30 25 19 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-07-05
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
385, 196, 25, 315, 321†, 143, 37, 375†, 79†, 347, 376†, 218, 30, 213, 19, 231†, 206,
151†, 367, 171, 313†
Se pide:
a. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente(hacer al menos 1 swapdown).
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
218, 213†, 313†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {25, 196, 315, 321, 385}; p2 = {37, 143, 375}; . . . ; p6 = {151, 206}; p7 = {171, 313, 367}.
d. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
e. ¿Cual es el peor caso posible para ser ordenado ascendentemente con el algoritmo de Quick Sort? Suponien-do que existen 40000 elementos, ¿cual es el maximo de ejecuciones recursivas anidadas que pueden llegara ser ejecutadas en ese caso?
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 12 de Julio de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-07-12
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. c. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. c. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. c. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6. d. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 112.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7. e. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Resolucion explayada 13
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 453.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 463.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 463.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 463.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.7. Merge Polifasico completo con particiones formadas de 1 elemento . . . . . . . . . . . . . 463.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 483.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.8. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 483.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 483.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.9. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 503.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 503.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.10. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 553.10.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 55
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.11. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 55
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 613.12.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 623.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.13. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 653.14.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 653.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.15. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 663.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 673.16.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 673.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.17. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 703.18.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 703.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.19. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 703.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 723.20.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 733.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.21. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 753.22.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 753.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.23. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 783.24.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.25. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 783.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 803.26.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 803.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 823.28.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 823.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
366, 225, 108, 233, 59†, 68, 98, 344†, 91†, 254, 353†, 65, 196, 198, 48,
179†, 128, 104†, 205, 106, 281†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
196, 179†, 205†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero), Heap Sort en orden ascen-dente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursivi-dad).
d. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
e. ¿por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion dereemplazo con un buffer que mide el doble (tamano del original + tamano del auxiliar)?
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 b. Ejercicio de B-trees
2.1.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 366
366 – – – – Nada 225
366 225 – – – Nada 108
366 225 108 – – Nada 233
366 225 108 233 – Nada 59
366 225 108 233 59 59 68
366 225 108 233 68 68 98
366 225 108 233 98 98 344
366 225 108 233 344 108 91
366 225 91 233 344 225 254
366 254 91 233 344 233 353
366 254 91 353 344 254 65
366 65 91 353 344 344 196
366 65 91 353 196 353 198
366 65 91 198 196 366 48
48 65 91 198 196
Nueva particion! Se cierra la particion p1 =
{59, 68, 98, 108, 225, 233, 254, 344, 353, 366}48 179
179 65 91 198 196 65 128
179 128 91 198 196 91 104
179 128 104 198 196 104 205
179 128 205 198 196 128 106
179 106 205 198 196 179 281
281 106 205 198 196 196 Nada
281 106 205 198 – 198 Nada
281 106 205 – – 205 Nada
281 106 – – – 281 Nada
– 106 – – –
Nueva particion! Se cierra la particion p2 =
{48, 65, 91, 104, 128, 179, 196, 198, 205, 281}106 Nada
Finaliza la ultima particion en p3 = {106}
2.1.2. Salida final
p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366};
p2 = {48, 65, 91, 104, 128, 179, 196, 198, 205, 281};
p3 = {106}.
2.2. b. Ejercicio de B-trees
Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
196, 179†, 205†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
Enrique P. Calot Algoritmos y Programacion II
2.2 b. Ejercicio de B-trees 7
2.2.1. Insercion
•225•
×59×108× ×233×366×
Insercion de 5 elementos: 366, 225, 108, 233, 59
•225•
×59×68×98×108× ×233×344×366×
Insercion de 3 elementos: 68, 98, 344
•91•225•
×59×68× ×98×108× ×233×344×366×
Insercion de 1 elemento: 91
•91•225•344•
×59×68× ×98×108× ×233×254× ×353×366×
Insercion de 2 elementos: 254, 353
•91•179•225•344•
×48×59×65×68× ×98×108× ×196×198× ×233×254× ×353×366×
Insercion de 5 elementos: 65, 196, 198, 48, 179
•91•179•225•344•
×48×59×65×68× ×98×104×108×128× ×196×198× ×233×254× ×353×366×
Insercion de 2 elementos: 128, 104
•179•
•91•106• •225•344•
×48×59×65×68× ×98×104× ×108×128× ×196×198×205× ×233×254×281× ×353×366×
Insercion de 3 elementos: 205, 106, 281
2.2.2. Eliminacion
•91•106•225•344•
×48×59×65×68× ×98×104× ×108×128×198×205× ×233×254×281× ×353×366×
Eliminacion de 2 elementos: 196, 179
•91•106•225•344•
×48×59×65×68× ×98×104× ×108×128×198× ×233×254×281× ×353×366×
Eliminacion de 1 elemento: 205
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.3 c. Radix Sort
2.3. c. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
2.3.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Paso 0 Paso 1 Paso 2 Paso 3366 091 104 048225 281 205 059108 233 106 065233 353 108 068059 344 225 091068 254 128 098098 104 233 104344 225 344 106091 065 048 108254 205 353 128353 366 254 179065 196 059 196196 106 065 198198 108 366 205048 068 068 225179 098 179 233128 198 281 254104 048 091 281205 128 196 344106 059 098 353281 179 198 366
2.4. c. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.4.1. Desarrollo
Paso 1 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281
Paso 2 281 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 366
Paso 3 104 225 108 233 59 68 98 106 91 254 205 65 196 198 48 179 128 281 353 344
Final 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366
2.5. c. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
Enrique P. Calot Algoritmos y Programacion II
2.5 c. Heap Sort 9
2.5.1. Arbol inicial
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281
Arbol inicial y su vector asociadoHeapfy paso 0
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353
65 196 198 48 179 128 104 205 106 281
Heapfy paso 1
366
225 108
233 59 68 98
344 205 281 353 65 196 198 48
179 128 104 91 106 254
Vector:
366 225 108 233 59 68 98 344 205 281 353
65 196 198 48 179 128 104 91 106 254
Heapfy paso 2
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.5 c. Heap Sort
366
225 108
344 353 196 198
233 205 281 59 65 68 98 48
179 128 104 91 106 254
Vector:
366 225 108 344 353 196 198 233 205 281 59
65 68 98 48 179 128 104 91 106 254
Heapfy paso 3
366
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 225
Vector:
366 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 225
Heapfy paso 4
366
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 225
Vector:
366 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 225
Enrique P. Calot Algoritmos y Programacion II
2.6 d. Merge Polifasico 11
225
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 366
Vector:
225 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 366
Paso 1: ultimo congelado pedido antes del corte
2.6. d. Merge Polifasico
Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones orde-nadas tomadas del lote de datos.
2.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.7. e. Pregunta teorica
¿por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion dereemplazo con un buffer que mide el doble (tamano del original + tamano del auxiliar)?
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.7 e. Pregunta teorica
E1 E2 E3 S
D D D –D D D –D D D –D 366 225 –108 233 59 –68 98 344 –91 254 353 –65 196 – –198 48 – –179 128 – –104 205 – –106 – – –281 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 – D
198 48 – D
179 128 – D
104 205 – 225, 366106 – – 59, 108, 233281 – – 68, 98, 344– – – 91, 254, 353
Cuadro 3: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3 Resolucion explayada 13
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 65, 196 D
198 48 48, 198 D
179 128 128, 179 D
104 205 104, 205, 225, 366 225, 366
E1 S E2 E3
106 – 65, 196 59, 108, 233281 – 48, 198 68, 98, 344– – 128, 179 91, 254, 353– – 104, 205, 225, 366 –
Cuadro 4: Fase 3
2.7.1. Respuesta
Porque el buffer auxiliar esta en disco. La memoria interna es mas cara que la memoria en disco porlo que justifica incrementarla.
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Algoritmos y Programacion II Facultad de Ingenierıa
14 3.2 Quick Sort completo
Paso 0 Paso 1 Paso 2 Paso 3366 059 098 366225 179 198 353108 108 196 344233 068 091 281059 098 281 254068 198 179 233098 048 068 225344 128 366 205091 366 065 198254 196 059 196353 106 254 179065 225 353 128196 065 048 108198 205 344 106048 344 233 104179 254 128 098128 104 225 091104 233 108 068205 353 106 065106 091 205 059281 281 104 048
3.2. Quick Sort completo
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1. Desarrollo
Paso 1 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281
Paso 2 281 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 366
Paso 3 104 225 108 233 59 68 98 106 91 254 205 65 196 198 48 179 128 281 353 344
Paso 4 98 48 65 91 59 68 104 106 233 254 205 108 196 198 225 179 128 344 353
Paso 5 68 48 65 91 59 98 106 233 254 205 108 196 198 225 179 128
Paso 6 59 48 65 68 91 179 128 205 108 196 198 225 233 254
Paso 7 48 59 65 108 128 179 205 196 198 225
Paso 8 108 128 198 196 205 225
Final 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 15
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281
Arbol inicial y su vector asociadoHeapfy paso 0
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353
65 196 198 48 179 128 104 205 106 281
Heapfy paso 1
366
225 108
233 59 68 98
344 205 281 353 65 196 198 48
179 128 104 91 106 254
Vector:
366 225 108 233 59 68 98 344 205 281 353
65 196 198 48 179 128 104 91 106 254
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
Heapfy paso 2
366
225 108
344 353 196 198
233 205 281 59 65 68 98 48
179 128 104 91 106 254
Vector:
366 225 108 344 353 196 198 233 205 281 59
65 68 98 48 179 128 104 91 106 254
Heapfy paso 3
366
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 225
Vector:
366 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 225
Heapfy paso 4
366
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 225
Vector:
366 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 225
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
225
353 198
344 281 196 108
233 205 254 59 65 68 98 48
179 128 104 91 106 366
Vector:
225 353 198 344 281 196 108 233 205 254 59
65 68 98 48 179 128 104 91 106 366
Swapdown
353
344 198
233 281 196 108
225 205 254 59 65 68 98 48
179 128 104 91 106 366
Vector:
353 344 198 233 281 196 108 225 205 254 59
65 68 98 48 179 128 104 91 106 366
Intercambio y congelamiento
106
344 198
233 281 196 108
225 205 254 59 65 68 98 48
179 128 104 91 353 366
Vector:
106 344 198 233 281 196 108 225 205 254 59
65 68 98 48 179 128 104 91 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
344
281 198
233 254 196 108
225 205 106 59 65 68 98 48
179 128 104 91 353 366
Vector:
344 281 198 233 254 196 108 225 205 106 59
65 68 98 48 179 128 104 91 353 366
Intercambio y congelamiento
91
281 198
233 254 196 108
225 205 106 59 65 68 98 48
179 128 104 344 353 366
Vector:
91 281 198 233 254 196 108 225 205 106 59
65 68 98 48 179 128 104 344 353 366
Swapdown
281
254 198
233 106 196 108
225 205 91 59 65 68 98 48
179 128 104 344 353 366
Vector:
281 254 198 233 106 196 108 225 205 91 59
65 68 98 48 179 128 104 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
104
254 198
233 106 196 108
225 205 91 59 65 68 98 48
179 128 281 344 353 366
Vector:
104 254 198 233 106 196 108 225 205 91 59
65 68 98 48 179 128 281 344 353 366
Swapdown
254
233 198
225 106 196 108
179 205 91 59 65 68 98 48
104 128 281 344 353 366
Vector:
254 233 198 225 106 196 108 179 205 91 59
65 68 98 48 104 128 281 344 353 366
Intercambio y congelamiento
128
233 198
225 106 196 108
179 205 91 59 65 68 98 48
104 254 281 344 353 366
Vector:
128 233 198 225 106 196 108 179 205 91 59
65 68 98 48 104 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
233
225 198
205 106 196 108
179 128 91 59 65 68 98 48
104 254 281 344 353 366
Vector:
233 225 198 205 106 196 108 179 128 91 59
65 68 98 48 104 254 281 344 353 366
Intercambio y congelamiento
104
225 198
205 106 196 108
179 128 91 59 65 68 98 48
233 254 281 344 353 366
Vector:
104 225 198 205 106 196 108 179 128 91 59
65 68 98 48 233 254 281 344 353 366
Swapdown
225
205 198
179 106 196 108
104 128 91 59 65 68 98 48
233 254 281 344 353 366
Vector:
225 205 198 179 106 196 108 104 128 91 59
65 68 98 48 233 254 281 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
48
205 198
179 106 196 108
104 128 91 59 65 68 98 225
233 254 281 344 353 366
Vector:
48 205 198 179 106 196 108 104 128 91 59
65 68 98 225 233 254 281 344 353 366
Swapdown
205
179 198
128 106 196 108
104 48 91 59 65 68 98 225
233 254 281 344 353 366
Vector:
205 179 198 128 106 196 108 104 48 91 59
65 68 98 225 233 254 281 344 353 366
Intercambio y congelamiento
98
179 198
128 106 196 108
104 48 91 59 65 68 205 225
233 254 281 344 353 366
Vector:
98 179 198 128 106 196 108 104 48 91 59
65 68 205 225 233 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
198
179 196
128 106 98 108
104 48 91 59 65 68 205 225
233 254 281 344 353 366
Vector:
198 179 196 128 106 98 108 104 48 91 59
65 68 205 225 233 254 281 344 353 366
Intercambio y congelamiento
68
179 196
128 106 98 108
104 48 91 59 65 198 205 225
233 254 281 344 353 366
Vector:
68 179 196 128 106 98 108 104 48 91 59
65 198 205 225 233 254 281 344 353 366
Swapdown
196
179 108
128 106 98 68
104 48 91 59 65 198 205 225
233 254 281 344 353 366
Vector:
196 179 108 128 106 98 68 104 48 91 59
65 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
65
179 108
128 106 98 68
104 48 91 59 196 198 205 225
233 254 281 344 353 366
Vector:
65 179 108 128 106 98 68 104 48 91 59
196 198 205 225 233 254 281 344 353 366
Swapdown
179
128 108
104 106 98 68
65 48 91 59 196 198 205 225
233 254 281 344 353 366
Vector:
179 128 108 104 106 98 68 65 48 91 59
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
59
128 108
104 106 98 68
65 48 91 179 196 198 205 225
233 254 281 344 353 366
Vector:
59 128 108 104 106 98 68 65 48 91 179
196 198 205 225 233 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
128
106 108
104 91 98 68
65 48 59 179 196 198 205 225
233 254 281 344 353 366
Vector:
128 106 108 104 91 98 68 65 48 59 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
59
106 108
104 91 98 68
65 48 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
59 106 108 104 91 98 68 65 48 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
108
106 98
104 91 59 68
65 48 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
108 106 98 104 91 59 68 65 48 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
48
106 98
104 91 59 68
65 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 106 98 104 91 59 68 65 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
106
104 98
65 91 59 68
48 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
106 104 98 65 91 59 68 48 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
48
104 98
65 91 59 68
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 104 98 65 91 59 68 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
104
91 98
65 48 59 68
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
104 91 98 65 48 59 68 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
68
91 98
65 48 59 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
68 91 98 65 48 59 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
98
91 68
65 48 59 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
98 91 68 65 48 59 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
59
91 68
65 48 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
59 91 68 65 48 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
91
65 68
59 48 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
91 65 68 59 48 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
48
65 68
59 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 65 68 59 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
68
65 48
59 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
68 65 48 59 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
59
65 48
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
59 65 48 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
65
59 48
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
65 59 48 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
48
59 65
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 59 65 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
59
48 65
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
59 48 65 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Intercambio y congelamiento
48
59 65
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 59 65 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.4 Heap Sort descendente
48
59 65
68 91 98 104
106 108 128 179 196 198 205 225
233 254 281 344 353 366
Vector:
48 59 65 68 91 98 104 106 108 128 179
196 198 205 225 233 254 281 344 353 366
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
3.4.1. Arbol inicial
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
366
225 108
233 59 68 98
344 91 254 353 65 196 198 48
179 128 104 205 106 281
Vector:
366 225 108 233 59 68 98 344 91 254 353
65 196 198 48 179 128 104 205 106 281
Heapfy paso 1
366
225 108
233 59 68 98
128 91 106 353 65 196 198 48
179 344 104 205 254 281
Vector:
366 225 108 233 59 68 98 128 91 106 353
65 196 198 48 179 344 104 205 254 281
Heapfy paso 2
366
225 108
91 59 65 48
128 104 106 353 68 196 198 98
179 344 233 205 254 281
Vector:
366 225 108 91 59 65 48 128 104 106 353
68 196 198 98 179 344 233 205 254 281
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
366
59 48
91 106 65 98
128 104 225 353 68 196 198 108
179 344 233 205 254 281
Vector:
366 59 48 91 106 65 98 128 104 225 353
68 196 198 108 179 344 233 205 254 281
Heapfy paso 4
48
59 65
91 106 68 98
128 104 225 353 366 196 198 108
179 344 233 205 254 281
Vector:
48 59 65 91 106 68 98 128 104 225 353
366 196 198 108 179 344 233 205 254 281
Intercambio y congelamiento
281
59 65
91 106 68 98
128 104 225 353 366 196 198 108
179 344 233 205 254 48
Vector:
281 59 65 91 106 68 98 128 104 225 353
366 196 198 108 179 344 233 205 254 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
59
91 65
104 106 68 98
128 205 225 353 366 196 198 108
179 344 233 281 254 48
Vector:
59 91 65 104 106 68 98 128 205 225 353
366 196 198 108 179 344 233 281 254 48
Intercambio y congelamiento
254
91 65
104 106 68 98
128 205 225 353 366 196 198 108
179 344 233 281 59 48
Vector:
254 91 65 104 106 68 98 128 205 225 353
366 196 198 108 179 344 233 281 59 48
Swapdown
65
91 68
104 106 196 98
128 205 225 353 366 254 198 108
179 344 233 281 59 48
Vector:
65 91 68 104 106 196 98 128 205 225 353
366 254 198 108 179 344 233 281 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
281
91 68
104 106 196 98
128 205 225 353 366 254 198 108
179 344 233 65 59 48
Vector:
281 91 68 104 106 196 98 128 205 225 353
366 254 198 108 179 344 233 65 59 48
Swapdown
68
91 98
104 106 196 108
128 205 225 353 366 254 198 281
179 344 233 65 59 48
Vector:
68 91 98 104 106 196 108 128 205 225 353
366 254 198 281 179 344 233 65 59 48
Intercambio y congelamiento
233
91 98
104 106 196 108
128 205 225 353 366 254 198 281
179 344 68 65 59 48
Vector:
233 91 98 104 106 196 108 128 205 225 353
366 254 198 281 179 344 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
91
104 98
128 106 196 108
179 205 225 353 366 254 198 281
233 344 68 65 59 48
Vector:
91 104 98 128 106 196 108 179 205 225 353
366 254 198 281 233 344 68 65 59 48
Intercambio y congelamiento
344
104 98
128 106 196 108
179 205 225 353 366 254 198 281
233 91 68 65 59 48
Vector:
344 104 98 128 106 196 108 179 205 225 353
366 254 198 281 233 91 68 65 59 48
Swapdown
98
104 108
128 106 196 198
179 205 225 353 366 254 344 281
233 91 68 65 59 48
Vector:
98 104 108 128 106 196 198 179 205 225 353
366 254 344 281 233 91 68 65 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
233
104 108
128 106 196 198
179 205 225 353 366 254 344 281
98 91 68 65 59 48
Vector:
233 104 108 128 106 196 198 179 205 225 353
366 254 344 281 98 91 68 65 59 48
Swapdown
104
106 108
128 225 196 198
179 205 233 353 366 254 344 281
98 91 68 65 59 48
Vector:
104 106 108 128 225 196 198 179 205 233 353
366 254 344 281 98 91 68 65 59 48
Intercambio y congelamiento
281
106 108
128 225 196 198
179 205 233 353 366 254 344 104
98 91 68 65 59 48
Vector:
281 106 108 128 225 196 198 179 205 233 353
366 254 344 104 98 91 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
106
128 108
179 225 196 198
281 205 233 353 366 254 344 104
98 91 68 65 59 48
Vector:
106 128 108 179 225 196 198 281 205 233 353
366 254 344 104 98 91 68 65 59 48
Intercambio y congelamiento
344
128 108
179 225 196 198
281 205 233 353 366 254 106 104
98 91 68 65 59 48
Vector:
344 128 108 179 225 196 198 281 205 233 353
366 254 106 104 98 91 68 65 59 48
Swapdown
108
128 196
179 225 254 198
281 205 233 353 366 344 106 104
98 91 68 65 59 48
Vector:
108 128 196 179 225 254 198 281 205 233 353
366 344 106 104 98 91 68 65 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
344
128 196
179 225 254 198
281 205 233 353 366 108 106 104
98 91 68 65 59 48
Vector:
344 128 196 179 225 254 198 281 205 233 353
366 108 106 104 98 91 68 65 59 48
Swapdown
128
179 196
205 225 254 198
281 344 233 353 366 108 106 104
98 91 68 65 59 48
Vector:
128 179 196 205 225 254 198 281 344 233 353
366 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
366
179 196
205 225 254 198
281 344 233 353 128 108 106 104
98 91 68 65 59 48
Vector:
366 179 196 205 225 254 198 281 344 233 353
128 108 106 104 98 91 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
179
205 196
281 225 254 198
366 344 233 353 128 108 106 104
98 91 68 65 59 48
Vector:
179 205 196 281 225 254 198 366 344 233 353
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
353
205 196
281 225 254 198
366 344 233 179 128 108 106 104
98 91 68 65 59 48
Vector:
353 205 196 281 225 254 198 366 344 233 179
128 108 106 104 98 91 68 65 59 48
Swapdown
196
205 198
281 225 254 353
366 344 233 179 128 108 106 104
98 91 68 65 59 48
Vector:
196 205 198 281 225 254 353 366 344 233 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
233
205 198
281 225 254 353
366 344 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
233 205 198 281 225 254 353 366 344 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
198
205 233
281 225 254 353
366 344 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
198 205 233 281 225 254 353 366 344 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
344
205 233
281 225 254 353
366 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
344 205 233 281 225 254 353 366 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
205
225 233
281 344 254 353
366 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
205 225 233 281 344 254 353 366 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
366
225 233
281 344 254 353
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
366 225 233 281 344 254 353 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
225
281 233
366 344 254 353
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
225 281 233 366 344 254 353 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
353
281 233
366 344 254 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
353 281 233 366 344 254 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
233
281 254
366 344 353 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
233 281 254 366 344 353 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
353
281 254
366 344 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
353 281 254 366 344 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
254
281 353
366 344 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
254 281 353 366 344 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
344
281 353
366 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
344 281 353 366 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
281
344 353
366 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
281 344 353 366 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
366
344 353
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
366 344 353 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
344
366 353
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
344 366 353 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
353
366 344
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
353 366 344 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion de reemplazo 45
353
366 344
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
353 366 344 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Intercambio y congelamiento
366
353 344
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
366 353 344 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
Swapdown
366
353 344
281 254 233 225
205 198 196 179 128 108 106 104
98 91 68 65 59 48
Vector:
366 353 344 281 254 233 225 205 198 196 179
128 108 106 104 98 91 68 65 59 48
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.6 Merge Polifasico de las particiones marcadas
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 5: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 128,179, 196, 198, 205,281
106 –
Cuadro 6: Fase 1
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {59, 108, 225, 233, 366}; p2 = {68, 98, 344}; . . . ; p6 = {104, 128}; p7 = {106, 205, 281}.
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.7. Merge Polifasico completo con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico completo con particiones formadas de 1 elemento 47
E1 E2 E3 S
59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 128,179, 196, 198, 205,281
106 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E2 E3 E1
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 7: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 8: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 59, 108, 225, 233, 366 –68, 98, 344 91 254, 353 –48, 65, 179, 196, 198 104, 128 – –106, 205, 281 – – –
Cuadro 9: Fase 1
E1 E2 E3 S
D D 59, 108, 225, 233, 366 59, 108, 225, 233, 36668, 98, 344 91 254, 353 68, 91, 98, 254, 344,
353
E1 E2 S E3
48, 65, 179, 196, 198 104, 128 – 59, 108, 225, 233, 366106, 205, 281 – – 68, 91, 98, 254, 344,
353
Cuadro 10: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D 59, 108, 225, 233, 366 59, 108, 225, 233, 36668, 98, 344 91 254, 353 68, 91, 98, 254, 344,
353
E1 E2 S E3
48, 65, 179, 196, 198 104, 128 48, 59, 65, 104, 108,128, 179, 196, 198,225, 233, 366
59, 108, 225, 233, 366
E1 S E2 E3
106, 205, 281 – 48, 59, 65, 104, 108,128, 179, 196, 198,225, 233, 366
68, 91, 98, 254, 344,353
Cuadro 11: Fase 3
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 12: Calculo de la distribucion de columnas y dummies
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {225, 366}; p2 = {108, 233}; . . . ; p10 = {106, 205}; p11 = {281}.
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 49
E1 E2 E3 S
D D D –D D D –D D D –D 366 225 –108 233 59 –68 98 344 –91 254 353 –65 196 – –198 48 – –179 128 – –104 205 – –106 – – –281 – – –
Cuadro 13: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 – D
198 48 – D
179 128 – D
104 205 – 225, 366106 – – 59, 108, 233281 – – 68, 98, 344– – – 91, 254, 353
Cuadro 14: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 65, 196 D
198 48 48, 198 D
179 128 128, 179 D
104 205 104, 205, 225, 366 225, 366
E1 S E2 E3
106 – 65, 196 59, 108, 233281 – 48, 198 68, 98, 344– – 128, 179 91, 254, 353– – 104, 205, 225, 366 –
Cuadro 15: Fase 3
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {108, 225, 366}; p2 = {59, 68, 233}; . . . ; p6 = {104, 128, 179}; p7 = {106, 205, 281}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 51
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 65, 196 D
198 48 48, 198 D
179 128 128, 179 D
104 205 104, 205, 225, 366 225, 366
E1 S E2 E3
106 59, 65, 106, 108, 196,233
65, 196 59, 108, 233
281 48, 68, 98, 198, 281,344
48, 198 68, 98, 344
S E1 E2 E3
– 59, 65, 106, 108, 196,233
128, 179 91, 254, 353
– 48, 68, 98, 198, 281,344
104, 205, 225, 366 –
Cuadro 16: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 65, 196 D
198 48 48, 198 D
179 128 128, 179 D
104 205 104, 205, 225, 366 225, 366
E1 S E2 E3
106 59, 65, 106, 108, 196,233
65, 196 59, 108, 233
281 48, 68, 98, 198, 281,344
48, 198 68, 98, 344
S E1 E2 E3
59, 65, 91, 106, 108,128, 179, 196, 233,254, 353
59, 65, 106, 108, 196,233
128, 179 91, 254, 353
E3 E1 E2 S
59, 65, 91, 106, 108,128, 179, 196, 233,254, 353
48, 68, 98, 198, 281,344
104, 205, 225, 366 –
Cuadro 17: Fase 5
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 53
E1 E2 E3 S
D D D D
D D D D
D D D D
D 366 225 225, 366108 233 59 59, 108, 23368 98 344 68, 98, 34491 254 353 91, 254, 353
E1 E2 S E3
65 196 65, 196 D
198 48 48, 198 D
179 128 128, 179 D
104 205 104, 205, 225, 366 225, 366
E1 S E2 E3
106 59, 65, 106, 108, 196,233
65, 196 59, 108, 233
281 48, 68, 98, 198, 281,344
48, 198 68, 98, 344
S E1 E2 E3
59, 65, 91, 106, 108,128, 179, 196, 233,254, 353
59, 65, 106, 108, 196,233
128, 179 91, 254, 353
E3 E1 E2 S
59, 65, 91, 106, 108,128, 179, 196, 233,254, 353
48, 68, 98, 198, 281,344
104, 205, 225, 366 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E1 E2 E3
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 18: Fase final
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 19: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D –D D D –225, 366 108, 233 59, 68 –98, 344 91, 254 65, 353 –196, 198 48, 179 – –104, 128 106, 205 – –281 – – –
Cuadro 20: Fase 1
E1 E2 E3 S
D D D D
D D D D
225, 366 108, 233 59, 68 59, 68, 108, 225, 233,366
98, 344 91, 254 65, 353 65, 91, 98, 254, 344,353
E1 E2 S E3
196, 198 48, 179 – D
104, 128 106, 205 – D
281 – – 59, 68, 108, 225, 233,366
– – – 65, 91, 98, 254, 344,353
Cuadro 21: Fase 2
E1 E2 E3 S
D D D D
D D D D
225, 366 108, 233 59, 68 59, 68, 108, 225, 233,366
98, 344 91, 254 65, 353 65, 91, 98, 254, 344,353
E1 E2 S E3
196, 198 48, 179 48, 179, 196, 198 D
104, 128 106, 205 104, 106, 128, 205 D
E1 S E2 E3
281 – 48, 179, 196, 198 59, 68, 108, 225, 233,366
– – 104, 106, 128, 205 65, 91, 98, 254, 344,353
Cuadro 22: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Merge Polifasico con particiones formadas de 4 elementos 55
E1 E2 E3 S
D D D D
D D D D
225, 366 108, 233 59, 68 59, 68, 108, 225, 233,366
98, 344 91, 254 65, 353 65, 91, 98, 254, 344,353
E1 E2 S E3
196, 198 48, 179 48, 179, 196, 198 D
104, 128 106, 205 104, 106, 128, 205 D
E1 S E2 E3
281 48, 59, 68, 108, 179,196, 198, 225, 233,281, 366
48, 179, 196, 198 59, 68, 108, 225, 233,366
S E1 E2 E3
– 48, 59, 68, 108, 179,196, 198, 225, 233,281, 366
104, 106, 128, 205 65, 91, 98, 254, 344,353
Cuadro 23: Fase 4
3.10. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {108, 225, 233, 366}; p2 = {59, 68, 98, 344}; p3 = {65, 91, 254, 353}; p4 ={48, 179, 196, 198}; p5 = {104, 106, 128, 205}; p6 = {281}.
3.10.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.10.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.11. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
3.11.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
D D D D
225, 366 108, 233 59, 68 59, 68, 108, 225, 233,366
98, 344 91, 254 65, 353 65, 91, 98, 254, 344,353
E1 E2 S E3
196, 198 48, 179 48, 179, 196, 198 D
104, 128 106, 205 104, 106, 128, 205 D
E1 S E2 E3
281 48, 59, 68, 108, 179,196, 198, 225, 233,281, 366
48, 179, 196, 198 59, 68, 108, 225, 233,366
S E1 E2 E3
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
48, 59, 68, 108, 179,196, 198, 225, 233,281, 366
104, 106, 128, 205 65, 91, 98, 254, 344,353
E1 S E2 E3
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
– – –
Cuadro 24: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 25: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 108, 225, 366 –59, 68, 233 91, 98, 344 65, 254, 353 –48, 196, 198 104, 128, 179 – –106, 205, 281 – – –
Cuadro 26: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 57
E1 E2 E3 S
D D 108, 225, 366 108, 225, 36659, 68, 233 91, 98, 344 65, 254, 353 59, 65, 68, 91, 98,
233, 254, 344, 353
E1 E2 S E3
48, 196, 198 104, 128, 179 – 108, 225, 366106, 205, 281 – – 59, 65, 68, 91, 98,
233, 254, 344, 353
Cuadro 27: Fase 2
E1 E2 E3 S
D D 108, 225, 366 108, 225, 36659, 68, 233 91, 98, 344 65, 254, 353 59, 65, 68, 91, 98,
233, 254, 344, 353
E1 E2 S E3
48, 196, 198 104, 128, 179 48, 104, 108, 128,179, 196, 198, 225,366
108, 225, 366
E1 S E2 E3
106, 205, 281 – 48, 104, 108, 128,179, 196, 198, 225,366
59, 65, 68, 91, 98,233, 254, 344, 353
Cuadro 28: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 108, 225, 366 108, 225, 36659, 68, 233 91, 98, 344 65, 254, 353 59, 65, 68, 91, 98,
233, 254, 344, 353
E1 E2 S E3
48, 196, 198 104, 128, 179 48, 104, 108, 128,179, 196, 198, 225,366
108, 225, 366
E1 S E2 E3
106, 205, 281 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
48, 104, 108, 128,179, 196, 198, 225,366
59, 65, 68, 91, 98,233, 254, 344, 353
S E1 E2 E3
– 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
– –
Cuadro 29: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 30: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –108, 225, 233, 366 59, 68, 98, 344 65, 91, 254, 353 –48, 179, 196, 198 104, 106, 128, 205 – –281 – – –
Cuadro 31: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D D D
108, 225, 233, 366 59, 68, 98, 344 65, 91, 254, 353 59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
E1 E2 S E3
48, 179, 196, 198 104, 106, 128, 205 – D
281 – – 59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
Cuadro 32: Fase 2
E1 E2 E3 S
D D D D
108, 225, 233, 366 59, 68, 98, 344 65, 91, 254, 353 59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
E1 E2 S E3
48, 179, 196, 198 104, 106, 128, 205 48, 104, 106, 128,179, 196, 198, 205
D
E1 S E2 E3
281 – 48, 104, 106, 128,179, 196, 198, 205
59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
Cuadro 33: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
108, 225, 233, 366 59, 68, 98, 344 65, 91, 254, 353 59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
E1 E2 S E3
48, 179, 196, 198 104, 106, 128, 205 48, 104, 106, 128,179, 196, 198, 205
D
E1 S E2 E3
281 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
48, 104, 106, 128,179, 196, 198, 205
59, 65, 68, 91, 98,108, 225, 233, 254,344, 353, 366
S E1 E2 E3
– 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
– –
Cuadro 34: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.12 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 61
b1 b2 Sale Entra
– – Nada 366
366 – Nada 225
366 225 225 108
366 108 366 233
233 108
Nueva particion! Se cierra la particion p1 = {225, 366}108 59
233 59 233 68
68 59
Nueva particion! Se cierra la particion p2 = {108, 233}59 98
68 98 68 344
344 98 98 91
344 91 344 254
254 91
Nueva particion! Se cierra la particion p3 = {59, 68, 98, 344}91 353
254 353 254 65
65 353 353 196
65 196
Nueva particion! Se cierra la particion p4 = {91, 254, 353}65 198
198 196 196 48
198 48 198 179
179 48
Nueva particion! Se cierra la particion p5 = {65, 196, 198}48 128
179 128 128 104
179 104 179 205
205 104 205 106
106 104
Nueva particion! Se cierra la particion p6 = {48, 128, 179, 205}104 281
106 281 106 Nada
– 281 281 Nada
Finaliza la ultima particion en p7 = {104, 106, 281}
3.11.2. Salida final
p1 = {225, 366};
p2 = {108, 233};
p3 = {59, 68, 98, 344};
p4 = {91, 254, 353};
p5 = {65, 196, 198};
p6 = {48, 128, 179, 205};
p7 = {104, 106, 281}.
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.13 Seleccion Natural con buffers de tamano 2
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 35: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 225, 366 –108, 233 59, 68, 98, 344 91, 254, 353 –65, 196, 198 48, 128, 179, 205 – –104, 106, 281 – – –
Cuadro 36: Fase 1
3.12.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.12.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.13. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D 225, 366 225, 366108, 233 59, 68, 98, 344 91, 254, 353 59, 68, 91, 98, 108,
233, 254, 344, 353
E1 E2 S E3
65, 196, 198 48, 128, 179, 205 – 225, 366104, 106, 281 – – 59, 68, 91, 98, 108,
233, 254, 344, 353
Cuadro 37: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 63
E1 E2 E3 S
D D 225, 366 225, 366108, 233 59, 68, 98, 344 91, 254, 353 59, 68, 91, 98, 108,
233, 254, 344, 353
E1 E2 S E3
65, 196, 198 48, 128, 179, 205 48, 65, 128, 179, 196,198, 205, 225, 366
225, 366
E1 S E2 E3
104, 106, 281 – 48, 65, 128, 179, 196,198, 205, 225, 366
59, 68, 91, 98, 108,233, 254, 344, 353
Cuadro 38: Fase 3
E1 E2 E3 S
D D 225, 366 225, 366108, 233 59, 68, 98, 344 91, 254, 353 59, 68, 91, 98, 108,
233, 254, 344, 353
E1 E2 S E3
65, 196, 198 48, 128, 179, 205 48, 65, 128, 179, 196,198, 205, 225, 366
225, 366
E1 S E2 E3
104, 106, 281 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
48, 65, 128, 179, 196,198, 205, 225, 366
59, 68, 91, 98, 108,233, 254, 344, 353
S E1 E2 E3
– 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
– –
Cuadro 39: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Seleccion Natural con buffers de tamano 2
3.13.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 366
366 – – – Nada 225
366 225 – – 225 108
366 – 108 – Nada 233
366 233 108 – 233 59
366 – 108 59 366 Nada
108 59 – –
Nueva particion! Se cierra la particion p1 = {225, 233, 366}59 68
108 68 – – 68 98
108 98 – – 98 344
108 344 – – 108 91
– 344 91 – Nada 254
254 344 91 – 254 353
353 344 91 – 344 65
353 – 91 65 353 Nada
91 65 – –
Nueva particion! Se cierra la particion p2 = {59, 68, 98, 108, 254, 344, 353}65 196
91 196 – – 91 198
198 196 – – 196 48
198 – 48 – Nada 179
198 – 48 179 198 Nada
48 179 – –
Nueva particion! Se cierra la particion p3 = {65, 91, 196, 198}48 128
128 179 – – 128 104
– 179 104 – Nada 205
205 179 104 – 179 106
205 – 104 106 205 Nada
104 106 – –
Nueva particion! Se cierra la particion p4 = {48, 128, 179, 205}104 281
281 106 – – 106 Nada
281 – – – 281 Nada
Finaliza la ultima particion en p5 = {104, 106, 281}
3.13.2. Salida final
p1 = {225, 233, 366};
p2 = {59, 68, 98, 108, 254, 344, 353};
p3 = {65, 91, 196, 198};
p4 = {48, 128, 179, 205};
p5 = {104, 106, 281}.
Enrique P. Calot Algoritmos y Programacion II
3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 65
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 40: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
225, 233, 366 59, 68, 98, 108, 254,344, 353
65, 91, 196, 198 –
48, 128, 179, 205 104, 106, 281 – –
Cuadro 41: Fase 1
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.14.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.14.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
E1 E2 E3 S
225, 233, 366 59, 68, 98, 108, 254,344, 353
65, 91, 196, 198 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
E1 E2 S E3
48, 128, 179, 205 104, 106, 281 – 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
Cuadro 42: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.15 Seleccion de reemplazo con buffer de tamano 3
E1 E2 E3 S
225, 233, 366 59, 68, 98, 108, 254,344, 353
65, 91, 196, 198 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
E1 E2 S E3
48, 128, 179, 205 104, 106, 281 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
S E2 E1 E3
– – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
–
Cuadro 43: Fase final
3.15. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
3.15.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.16 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 67
b1 b2 b3 Sale Entra
– – – Nada 366
366 – – Nada 225
366 225 – Nada 108
366 225 108 108 233
366 225 233 225 59
366 59 233 233 68
366 59 68 366 98
98 59 68
Nueva particion! Se cierra la particion p1 = {108, 225, 233, 366}59 344
98 344 68 68 91
98 344 91 91 254
98 344 254 98 353
353 344 254 254 65
353 344 65 344 196
353 196 65 353 198
198 196 65
Nueva particion! Se cierra la particion p2 =
{59, 68, 91, 98, 254, 344, 353}65 48
198 196 48 196 179
198 179 48 198 128
128 179 48
Nueva particion! Se cierra la particion p3 = {65, 196, 198}48 104
128 179 104 104 205
128 179 205 128 106
106 179 205 179 281
106 281 205 205 Nada
106 281 – 281 Nada
106 – –
Nueva particion! Se cierra la particion p4 =
{48, 104, 128, 179, 205, 281}106 Nada
Finaliza la ultima particion en p5 = {106}
3.15.2. Salida final
p1 = {108, 225, 233, 366};
p2 = {59, 68, 91, 98, 254, 344, 353};
p3 = {65, 196, 198};
p4 = {48, 104, 128, 179, 205, 281};
p5 = {106}.
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.16.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.17 Seleccion Natural con buffers de tamano 3
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 44: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
65, 196, 198 –
48, 104, 128, 179,205, 281
106 – –
Cuadro 45: Fase 1
3.16.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
3.17. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.17.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
65, 196, 198 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
E1 E2 S E3
48, 104, 128, 179,205, 281
106 – 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
Cuadro 46: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.17 Seleccion Natural con buffers de tamano 3 69
E1 E2 E3 S
108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
65, 196, 198 59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
E1 E2 S E3
48, 104, 128, 179,205, 281
106 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
59, 65, 68, 91, 98,108, 196, 198, 225,233, 254, 344, 353,366
S E2 E1 E3
– – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
–
Cuadro 47: Fase final
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 366
366 – – – – – Nada 225
366 225 – – – – Nada 108
366 225 108 – – – 108 233
366 225 233 – – – 225 59
366 – 233 59 – – Nada 68
366 – 233 59 68 – Nada 98
366 – 233 59 68 98 233 Nada
366 – – 59 68 98 366 Nada
59 68 98 – – –
Nueva particion! Se cierra la particion p1 = {108, 225, 233, 366}59 344
344 68 98 – – – 68 91
344 91 98 – – – 91 254
344 254 98 – – – 98 353
344 254 353 – – – 254 65
344 – 353 65 – – Nada 196
344 – 353 65 196 – Nada 198
344 – 353 65 196 198 344 Nada
– – 353 65 196 198 353 Nada
65 196 198 – – –
Nueva particion! Se cierra la particion p2 = {59, 68, 91, 98, 254, 344, 353}65 48
– 196 198 48 – – Nada 179
179 196 198 48 – – 179 128
– 196 198 48 128 – Nada 104
– 196 198 48 128 104 196 Nada
– – 198 48 128 104 198 Nada
48 128 104 – – –
Nueva particion! Se cierra la particion p3 = {65, 179, 196, 198}48 205
205 128 104 – – – 104 106
205 128 106 – – – 106 281
205 128 281 – – – 128 Nada
205 – 281 – – – 205 Nada
– – 281 – – – 281 Nada
Finaliza la ultima particion en p4 = {48, 104, 106, 128, 205, 281}Algoritmos y Programacion II Facultad de Ingenierıa
70 3.18 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 48: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
–
65, 179, 196, 198 48, 104, 106, 128,205, 281
– –
Cuadro 49: Fase 1
3.17.2. Salida final
p1 = {108, 225, 233, 366};
p2 = {59, 68, 91, 98, 254, 344, 353};
p3 = {65, 179, 196, 198};
p4 = {48, 104, 106, 128, 205, 281}.
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.18.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.18.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.19. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
Enrique P. Calot Algoritmos y Programacion II
3.19 Seleccion de reemplazo con buffer de tamano 4 71
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
E1 E2 S E3
65, 179, 196, 198 48, 104, 106, 128,205, 281
– 59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
Cuadro 50: Fase 2
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
E1 E2 S E3
65, 179, 196, 198 48, 104, 106, 128,205, 281
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
S E2 E1 E3
– – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
–
Cuadro 51: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.20 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4
3.19.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 b4 Sale Entra
– – – – Nada 366
366 – – – Nada 225
366 225 – – Nada 108
366 225 108 – Nada 233
366 225 108 233 108 59
366 225 59 233 225 68
366 68 59 233 233 98
366 68 59 98 366 344
344 68 59 98
Nueva particion! Se cierra la particion p1 = {108, 225, 233, 366}59 91
344 68 91 98 68 254
344 254 91 98 91 353
344 254 353 98 98 65
344 254 353 65 254 196
344 196 353 65 344 198
198 196 353 65 353 48
198 196 48 65
Nueva particion! Se cierra la particion p2 =
{59, 68, 91, 98, 254, 344, 353}48 179
198 196 179 65 65 128
198 196 179 128 128 104
198 196 179 104 179 205
198 196 205 104 196 106
198 106 205 104 198 281
281 106 205 104 205 Nada
281 106 – 104 281 Nada
– 106 – 104
Nueva particion! Se cierra la particion p3 =
{48, 65, 128, 179, 196, 198, 205, 281}104 Nada
– 106 – – 106 Nada
Finaliza la ultima particion en p4 = {104, 106}
3.19.2. Salida final
p1 = {108, 225, 233, 366};
p2 = {59, 68, 91, 98, 254, 344, 353};
p3 = {48, 65, 128, 179, 196, 198, 205, 281};
p4 = {104, 106}.
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.21 Seleccion Natural con buffers de tamano 4 73
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
–
48, 65, 128, 179, 196,198, 205, 281
104, 106 – –
Cuadro 53: Fase 1
3.20.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.20.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.21. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
3.21.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
E1 E2 S E3
48, 65, 128, 179, 196,198, 205, 281
104, 106 – 59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
Cuadro 54: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.21 Seleccion Natural con buffers de tamano 4
E1 E2 E3 S
D 108, 225, 233, 366 59, 68, 91, 98, 254,344, 353
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
E1 E2 S E3
48, 65, 128, 179, 196,198, 205, 281
104, 106 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
59, 68, 91, 98, 108,225, 233, 254, 344,353, 366
S E2 E1 E3
– – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
–
Cuadro 55: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.22 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 75
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 366
366 – – – – – – – Nada 225
366 225 – – – – – – Nada 108
366 225 108 – – – – – Nada 233
366 225 108 233 – – – – 108 59
366 225 – 233 59 – – – Nada 68
366 225 – 233 59 68 – – Nada 98
366 225 – 233 59 68 98 – Nada 344
366 225 344 233 59 68 98 – 225 91
366 – 344 233 59 68 98 91 233 Nada
366 – 344 – 59 68 98 91 344 Nada
366 – – – 59 68 98 91 366 Nada
59 68 98 91 – – – –
Nueva particion! Se cierra la particion p1 = {108, 225, 233, 344, 366}59 254
254 68 98 91 – – – – 68 353
254 353 98 91 – – – – 91 65
254 353 98 – 65 – – – Nada 196
254 353 98 196 65 – – – 98 198
254 353 198 196 65 – – – 196 48
254 353 198 – 65 48 – – Nada 179
254 353 198 – 65 48 179 – Nada 128
254 353 198 – 65 48 179 128 198 Nada
254 353 – – 65 48 179 128 254 Nada
– 353 – – 65 48 179 128 353 Nada
65 48 179 128 – – – –
Nueva particion! Se cierra la particion p2 = {59, 68, 91, 98, 196, 198, 254, 353}48 104
65 104 179 128 – – – – 65 205
205 104 179 128 – – – – 104 106
205 106 179 128 – – – – 106 281
205 281 179 128 – – – – 128 Nada
205 281 179 – – – – – 179 Nada
205 281 – – – – – – 205 Nada
– 281 – – – – – – 281 Nada
Finaliza la ultima particion en p3 = {48, 65, 104, 106, 128, 179, 205, 281}
3.21.2. Salida final
p1 = {108, 225, 233, 344, 366};
p2 = {59, 68, 91, 98, 196, 198, 254, 353};
p3 = {48, 65, 104, 106, 128, 179, 205, 281}.
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.22.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.23 Seleccion Natural con buffers de tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 56: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
108, 225, 233, 344,366
59, 68, 91, 98, 196,198, 254, 353
48, 65, 104, 106, 128,179, 205, 281
–
Cuadro 57: Fase 1
3.22.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.23. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.23.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.23 Seleccion Natural con buffers de tamano 5 77
E1 E2 E3 S
108, 225, 233, 344,366
59, 68, 91, 98, 196,198, 254, 353
48, 65, 104, 106, 128,179, 205, 281
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E2 E3 E1
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 58: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 366
366 – – – – – – – – – Nada 225
366 225 – – – – – – – – Nada 108
366 225 108 – – – – – – – Nada 233
366 225 108 233 – – – – – – Nada 59
366 225 108 233 59 – – – – – 59 68
366 225 108 233 68 – – – – – 68 98
366 225 108 233 98 – – – – – 98 344
366 225 108 233 344 – – – – – 108 91
366 225 – 233 344 91 – – – – Nada 254
366 225 254 233 344 91 – – – – 225 353
366 353 254 233 344 91 – – – – 233 65
366 353 254 – 344 91 65 – – – Nada 196
366 353 254 – 344 91 65 196 – – Nada 198
366 353 254 – 344 91 65 196 198 – Nada 48
366 353 254 – 344 91 65 196 198 48 254 Nada
366 353 – – 344 91 65 196 198 48 344 Nada
366 353 – – – 91 65 196 198 48 353 Nada
366 – – – – 91 65 196 198 48 366 Nada
91 65 196 198 48 – – – – –
Nueva particion! Se cierra la particion p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366}48 179
91 65 196 198 179 – – – – – 65 128
91 128 196 198 179 – – – – – 91 104
104 128 196 198 179 – – – – – 104 205
205 128 196 198 179 – – – – – 128 106
205 – 196 198 179 106 – – – – Nada 281
205 281 196 198 179 106 – – – – 179 Nada
205 281 196 198 – 106 – – – – 196 Nada
205 281 – 198 – 106 – – – – 198 Nada
205 281 – – – 106 – – – – 205 Nada
– 281 – – – 106 – – – – 281 Nada
106 – – – – – – – – –
Nueva particion! Se cierra la particion p2 = {48, 65, 91, 104, 128, 179, 196, 198, 205, 281}106 Nada
Finaliza la ultima particion en p3 = {106}
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.24 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 59: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 128,179, 196, 198, 205,281
106 –
Cuadro 60: Fase 1
3.23.2. Salida final
p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366};
p2 = {48, 65, 91, 104, 128, 179, 196, 198, 205, 281};
p3 = {106}.
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.24.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.24.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.25. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.25.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.25 Seleccion de reemplazo con buffer de tamano 6 79
E1 E2 E3 S
59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 128,179, 196, 198, 205,281
106 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E2 E3 E1
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 61: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 366
366 – – – – – Nada 225
366 225 – – – – Nada 108
366 225 108 – – – Nada 233
366 225 108 233 – – Nada 59
366 225 108 233 59 – Nada 68
366 225 108 233 59 68 59 98
366 225 108 233 98 68 68 344
366 225 108 233 98 344 98 91
366 225 108 233 91 344 108 254
366 225 254 233 91 344 225 353
366 353 254 233 91 344 233 65
366 353 254 65 91 344 254 196
366 353 196 65 91 344 344 198
366 353 196 65 91 198 353 48
366 48 196 65 91 198 366 179
179 48 196 65 91 198
Nueva particion! Se cierra la particion p1 =
{59, 68, 98, 108, 225, 233, 254, 344, 353, 366}48 128
179 128 196 65 91 198 65 104
179 128 196 104 91 198 91 205
179 128 196 104 205 198 104 106
179 128 196 106 205 198 106 281
179 128 196 281 205 198 128 Nada
179 – 196 281 205 198 179 Nada
– – 196 281 205 198 196 Nada
– – – 281 205 198 198 Nada
– – – 281 205 – 205 Nada
– – – 281 – – 281 Nada
Finaliza la ultima particion en p2 =
{48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}
3.25.2. Salida final
p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366};
p2 = {48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}.
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.26 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 62: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 106,128, 179, 196, 198,205, 281
–
Cuadro 63: Fase 1
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.26.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.26.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.27. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.27.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.27 Seleccion Natural con buffers de tamano 6 81
E1 E2 E3 S
D 59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 106,128, 179, 196, 198,205, 281
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E2 E3 E1
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 64: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 366
366 – – – – – – – – – – – Nada 225
366 225 – – – – – – – – – – Nada 108
366 225 108 – – – – – – – – – Nada 233
366 225 108 233 – – – – – – – – Nada 59
366 225 108 233 59 – – – – – – – Nada 68
366 225 108 233 59 68 – – – – – – 59 98
366 225 108 233 98 68 – – – – – – 68 344
366 225 108 233 98 344 – – – – – – 98 91
366 225 108 233 – 344 91 – – – – – Nada 254
366 225 108 233 254 344 91 – – – – – 108 353
366 225 353 233 254 344 91 – – – – – 225 65
366 – 353 233 254 344 91 65 – – – – Nada 196
366 – 353 233 254 344 91 65 196 – – – Nada 198
366 – 353 233 254 344 91 65 196 198 – – Nada 48
366 – 353 233 254 344 91 65 196 198 48 – Nada 179
366 – 353 233 254 344 91 65 196 198 48 179 233 Nada
366 – 353 – 254 344 91 65 196 198 48 179 254 Nada
366 – 353 – – 344 91 65 196 198 48 179 344 Nada
366 – 353 – – – 91 65 196 198 48 179 353 Nada
366 – – – – – 91 65 196 198 48 179 366 Nada
91 65 196 198 48 179 – – – – – –
Nueva particion! Se cierra la particion p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366}48 128
91 65 196 198 128 179 – – – – – – 65 104
91 104 196 198 128 179 – – – – – – 91 205
205 104 196 198 128 179 – – – – – – 104 106
205 106 196 198 128 179 – – – – – – 106 281
205 281 196 198 128 179 – – – – – – 128 Nada
205 281 196 198 – 179 – – – – – – 179 Nada
205 281 196 198 – – – – – – – – 196 Nada
205 281 – 198 – – – – – – – – 198 Nada
205 281 – – – – – – – – – – 205 Nada
– 281 – – – – – – – – – – 281 Nada
Finaliza la ultima particion en p2 = {48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}
3.27.2. Salida final
p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366};
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.28 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 65: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 106,128, 179, 196, 198,205, 281
–
Cuadro 66: Fase 1
p2 = {48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}.
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.28.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.28.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.29 Bubble Sort ascendente 83
E1 E2 E3 S
D 59, 68, 98, 108, 225,233, 254, 344, 353,366
48, 65, 91, 104, 106,128, 179, 196, 198,205, 281
48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
S E2 E3 E1
– – – 48, 59, 65, 68, 91, 98,104, 106, 108, 128,179, 196, 198, 205,225, 233, 254, 281,344, 353, 366
Cuadro 67: Fase final
3.29. Bubble Sort ascendente
3.29.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 20/20
1 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 366 16/19
2 108 225 59 68 98 233 91 254 344 65 196 198 48 179 128 104 205 106 281 353 366 14/18
3 108 59 68 98 225 91 233 254 65 196 198 48 179 128 104 205 106 281 344 353 366 13/17
4 59 68 98 108 91 225 233 65 196 198 48 179 128 104 205 106 254 281 344 353 366 10/16
5 59 68 98 91 108 225 65 196 198 48 179 128 104 205 106 233 254 281 344 353 366 10/15
6 59 68 91 98 108 65 196 198 48 179 128 104 205 106 225 233 254 281 344 353 366 6/14
7 59 68 91 98 65 108 196 48 179 128 104 198 106 205 225 233 254 281 344 353 366 6/13
8 59 68 91 65 98 108 48 179 128 104 196 106 198 205 225 233 254 281 344 353 366 5/12
9 59 68 65 91 98 48 108 128 104 179 106 196 198 205 225 233 254 281 344 353 366 4/11
10 59 65 68 91 48 98 108 104 128 106 179 196 198 205 225 233 254 281 344 353 366 3/10
11 59 65 68 48 91 98 104 108 106 128 179 196 198 205 225 233 254 281 344 353 366 2/9
12 59 65 48 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 1/8
13 59 48 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 1/7
14 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/6
15 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/5
16 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/4
17 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/3
18 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/2
19 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/1
20 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.30 Bubble Sort descendente
3.30. Bubble Sort descendente
3.30.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 16/20
1 366 225 233 108 68 98 344 91 254 353 65 196 198 59 179 128 104 205 106 281 48 14/19
2 366 233 225 108 98 344 91 254 353 68 196 198 65 179 128 104 205 106 281 59 48 11/18
3 366 233 225 108 344 98 254 353 91 196 198 68 179 128 104 205 106 281 65 59 48 11/17
4 366 233 225 344 108 254 353 98 196 198 91 179 128 104 205 106 281 68 65 59 48 11/16
5 366 233 344 225 254 353 108 196 198 98 179 128 104 205 106 281 91 68 65 59 48 11/15
6 366 344 233 254 353 225 196 198 108 179 128 104 205 106 281 98 91 68 65 59 48 8/14
7 366 344 254 353 233 225 198 196 179 128 108 205 106 281 104 98 91 68 65 59 48 3/13
8 366 344 353 254 233 225 198 196 179 128 205 108 281 106 104 98 91 68 65 59 48 3/12
9 366 353 344 254 233 225 198 196 179 205 128 281 108 106 104 98 91 68 65 59 48 2/11
10 366 353 344 254 233 225 198 196 205 179 281 128 108 106 104 98 91 68 65 59 48 2/10
11 366 353 344 254 233 225 198 205 196 281 179 128 108 106 104 98 91 68 65 59 48 2/9
12 366 353 344 254 233 225 205 198 281 196 179 128 108 106 104 98 91 68 65 59 48 1/8
13 366 353 344 254 233 225 205 281 198 196 179 128 108 106 104 98 91 68 65 59 48 1/7
14 366 353 344 254 233 225 281 205 198 196 179 128 108 106 104 98 91 68 65 59 48 1/6
15 366 353 344 254 233 281 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 1/5
16 366 353 344 254 281 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 1/4
17 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/3
18 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/2
19 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/1
20 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/0
Enrique P. Calot Algoritmos y Programacion II
3.31 Bilateral Bubble Sort ascendente 85
3.31. Bilateral Bubble Sort ascendente
3.31.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 20/20
1 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 366 16/20
2 48 225 108 233 59 68 98 344 91 254 353 65 196 198 104 179 128 106 205 281 366 15/18
3 48 108 225 59 68 98 233 91 254 344 65 196 198 104 179 128 106 205 281 353 366 12/18
4 48 59 108 225 65 68 98 233 91 254 344 104 196 198 106 179 128 205 281 353 366 12/16
5 48 59 108 65 68 98 225 91 233 254 104 196 198 106 179 128 205 281 344 353 366 8/16
6 48 59 65 108 68 91 98 225 104 233 254 106 196 198 128 179 205 281 344 353 366 10/14
7 48 59 65 68 91 98 108 104 225 233 106 196 198 128 179 205 254 281 344 353 366 5/14
8 48 59 65 68 91 98 104 108 106 225 233 128 196 198 179 205 254 281 344 353 366 6/12
9 48 59 65 68 91 98 104 106 108 225 128 196 198 179 205 233 254 281 344 353 366 3/12
10 48 59 65 68 91 98 104 106 108 128 225 179 196 198 205 233 254 281 344 353 366 4/10
11 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/10
12 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/8
13 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/8
14 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/6
15 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/6
16 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/4
17 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/4
18 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/2
19 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/2
20 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.32 Bilateral Bubble Sort descendente
3.32. Bilateral Bubble Sort descendente
3.32.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 16/20
1 366 225 233 108 68 98 344 91 254 353 65 196 198 59 179 128 104 205 106 281 48 17/20
2 366 353 225 233 108 68 98 344 91 254 281 65 196 198 59 179 128 104 205 106 48 13/18
3 366 353 233 225 108 98 344 91 254 281 68 196 198 65 179 128 104 205 106 59 48 13/18
4 366 353 344 233 225 108 98 281 91 254 205 68 196 198 65 179 128 104 106 59 48 9/16
5 366 353 344 233 225 108 281 98 254 205 91 196 198 68 179 128 104 106 65 59 48 8/16
6 366 353 344 281 233 225 108 254 98 205 198 91 196 179 68 128 106 104 65 59 48 8/14
7 366 353 344 281 233 225 254 108 205 198 98 196 179 91 128 106 104 68 65 59 48 5/14
8 366 353 344 281 254 233 225 205 108 198 196 98 179 128 91 106 104 68 65 59 48 6/12
9 366 353 344 281 254 233 225 205 198 196 108 179 128 98 106 104 91 68 65 59 48 2/12
10 366 353 344 281 254 233 225 205 198 196 179 108 128 106 98 104 91 68 65 59 48 2/10
11 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/10
12 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/8
13 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/8
14 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/6
15 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/6
16 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/4
17 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/4
18 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/2
19 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/2
20 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 0/0
Enrique P. Calot Algoritmos y Programacion II
3.33 Selection Sort ascendente 87
3.33. Selection Sort ascendente
3.33.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 1/20
1 48 225 108 233 59 68 98 344 91 254 353 65 196 198 366 179 128 104 205 106 281 1/19
2 48 59 108 233 225 68 98 344 91 254 353 65 196 198 366 179 128 104 205 106 281 1/18
3 48 59 65 233 225 68 98 344 91 254 353 108 196 198 366 179 128 104 205 106 281 1/17
4 48 59 65 68 225 233 98 344 91 254 353 108 196 198 366 179 128 104 205 106 281 1/16
5 48 59 65 68 91 233 98 344 225 254 353 108 196 198 366 179 128 104 205 106 281 1/15
6 48 59 65 68 91 98 233 344 225 254 353 108 196 198 366 179 128 104 205 106 281 1/14
7 48 59 65 68 91 98 104 344 225 254 353 108 196 198 366 179 128 233 205 106 281 1/13
8 48 59 65 68 91 98 104 106 225 254 353 108 196 198 366 179 128 233 205 344 281 1/12
9 48 59 65 68 91 98 104 106 108 254 353 225 196 198 366 179 128 233 205 344 281 1/11
10 48 59 65 68 91 98 104 106 108 128 353 225 196 198 366 179 254 233 205 344 281 1/10
11 48 59 65 68 91 98 104 106 108 128 179 225 196 198 366 353 254 233 205 344 281 1/9
12 48 59 65 68 91 98 104 106 108 128 179 196 225 198 366 353 254 233 205 344 281 1/8
13 48 59 65 68 91 98 104 106 108 128 179 196 198 225 366 353 254 233 205 344 281 1/7
14 48 59 65 68 91 98 104 106 108 128 179 196 198 205 366 353 254 233 225 344 281 1/6
15 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 353 254 233 366 344 281 1/5
16 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 353 366 344 281 1/4
17 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 353 366 344 281 1/3
18 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 366 344 353 1/2
19 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 366 353 1/1
20 48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
88 3.34 Selection Sort descendente
3.34. Selection Sort descendente
3.34.1. Desarrollo
0 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 1/20
1 366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 1/19
2 366 353 108 233 59 68 98 344 91 254 225 65 196 198 48 179 128 104 205 106 281 1/18
3 366 353 344 233 59 68 98 108 91 254 225 65 196 198 48 179 128 104 205 106 281 1/17
4 366 353 344 281 59 68 98 108 91 254 225 65 196 198 48 179 128 104 205 106 233 1/16
5 366 353 344 281 254 68 98 108 91 59 225 65 196 198 48 179 128 104 205 106 233 1/15
6 366 353 344 281 254 233 98 108 91 59 225 65 196 198 48 179 128 104 205 106 68 1/14
7 366 353 344 281 254 233 225 108 91 59 98 65 196 198 48 179 128 104 205 106 68 1/13
8 366 353 344 281 254 233 225 205 91 59 98 65 196 198 48 179 128 104 108 106 68 1/12
9 366 353 344 281 254 233 225 205 198 59 98 65 196 91 48 179 128 104 108 106 68 1/11
10 366 353 344 281 254 233 225 205 198 196 98 65 59 91 48 179 128 104 108 106 68 1/10
11 366 353 344 281 254 233 225 205 198 196 179 65 59 91 48 98 128 104 108 106 68 1/9
12 366 353 344 281 254 233 225 205 198 196 179 128 59 91 48 98 65 104 108 106 68 1/8
13 366 353 344 281 254 233 225 205 198 196 179 128 108 91 48 98 65 104 59 106 68 1/7
14 366 353 344 281 254 233 225 205 198 196 179 128 108 106 48 98 65 104 59 91 68 1/6
15 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 65 48 59 91 68 1/5
16 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 65 48 59 91 68 1/4
17 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 48 59 65 68 1/3
18 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 59 65 48 1/2
19 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 1/1
20 366 353 344 281 254 233 225 205 198 196 179 128 108 106 104 98 91 68 65 59 48 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-07-12
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
366, 225, 108, 233, 59†, 68, 98, 344†, 91†, 254, 353†, 65, 196, 198, 48, 179†, 128,
104†, 205, 106, 281†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
196, 179†, 205†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar los algoritmos de Quick Sort (hasta haber completado dos niveles de recursividad), Heap Sorten orden ascendente (hacer al menos 1 swapdown) y Radix Sort en orden ascendente (entero).
d. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones ordenadastomadas del lote de datos.
e. ¿por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion de reemplazocon un buffer que mide el doble (tamano del original + tamano del auxiliar)?
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 19 de Julio de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-07-19
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. c. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. d. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 82.4.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6. e. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7. e. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. Resolucion explayada 13
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 463.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 463.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 463.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7. Merge Polifasico completo con particiones formadas de 1 elemento . . . . . . . . . . . . . 493.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 493.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 543.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 563.10.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 56
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.11. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 61
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 623.12.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 633.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 663.14.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 663.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 673.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 683.16.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 683.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.17. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 713.18.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 713.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.19. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 713.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 733.20.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 733.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.21. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 763.22.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 763.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.23. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 783.24.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.25. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 783.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 803.26.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 803.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 823.28.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 823.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
30, 290, 182, 340, 394†, 133, 118, 374†, 119†, 353, 376†, 272, 221, 238,
23, 60†, 145, 193†, 275, 172, 357†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
b. Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elementobuscan el mınimo/maximo y lo congelan). Sin embargo el algoritmo Heap sort es mas veloz bajociertas condiciones. Deduzca que condiciones son y por que se vuelve mas veloz.
c. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
238, 221†, 275†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
d. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero), Heap Sort en orden ascen-dente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursivi-dad).
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 b. Pregunta teorica
2.1.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 30
30 – – – – Nada 290
30 290 – – – Nada 182
30 290 182 – – Nada 340
30 290 182 340 – Nada 394
30 290 182 340 394 30 133
133 290 182 340 394 133 118
118 290 182 340 394 182 374
118 290 374 340 394 290 119
118 119 374 340 394 340 353
118 119 374 353 394 353 376
118 119 374 376 394 374 272
118 119 272 376 394 376 221
118 119 272 221 394 394 238
118 119 272 221 238
Nueva particion! Se cierra la particion p1 =
{30, 133, 182, 290, 340, 353, 374, 376, 394}118 23
23 119 272 221 238 119 60
23 60 272 221 238 221 145
23 60 272 145 238 238 193
23 60 272 145 193 272 275
23 60 275 145 193 275 172
23 60 172 145 193
Nueva particion! Se cierra la particion p2 =
{118, 119, 221, 238, 272, 275}23 357
357 60 172 145 193 60 Nada
357 – 172 145 193 145 Nada
357 – 172 – 193 172 Nada
357 – – – 193 193 Nada
357 – – – – 357 Nada
Finaliza la ultima particion en p3 = {23, 60, 145, 172, 193, 357}
2.1.2. Salida final
p1 = {30, 133, 182, 290, 340, 353, 374, 376, 394};
p2 = {118, 119, 221, 238, 272, 275};
p3 = {23, 60, 145, 172, 193, 357}.
2.2. b. Pregunta teorica
Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elementobuscan el mınimo/maximo y lo congelan). Sin embargo el algoritmo Heap sort es mas veloz bajo ciertascondiciones. Deduzca que condiciones son y por que se vuelve mas veloz.
2.2.1. Respuesta
Ambos algoritmos buscan el maximo/mınimo n veces y lo congelan, la diferencia principal es queInsertion sort hace n busquedas secuenciales (de orden n) y Heap sort hace n busquedas binarias (de
Enrique P. Calot Algoritmos y Programacion II
2.3 c. Ejercicio de B-trees 7
orden log2 n). El resultado es un orden O(n2) para el Insertion y un O(n log2 n) para el Heap sort. Lacondicion para que Heap supere en tiempo a Insertion es que n sea lo suficientemente grande como paraque la diferencia en el orden se haga significativa (n2 ≫ n log2 n) y justifique hacer el procedimiento deheapify.
2.3. c. Ejercicio de B-trees
Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
238, 221†, 275†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.3.1. Insercion
•290•
×30×182× ×340×394×
Insercion de 5 elementos: 30, 290, 182, 340, 394
•290•
×30×118×133×182× ×340×374×394×
Insercion de 3 elementos: 133, 118, 374
•119•290•
×30×118× ×133×182× ×340×374×394×
Insercion de 1 elemento: 119
•119•290•374•
×30×118× ×133×182× ×340×353× ×376×394×
Insercion de 2 elementos: 353, 376
•119•221•290•374•
×23×30×60×118× ×133×182× ×238×272× ×340×353× ×376×394×
Insercion de 5 elementos: 272, 221, 238, 23, 60
•119•221•290•374•
×23×30×60×118× ×133×145×182×193× ×238×272× ×340×353× ×376×394×
Insercion de 2 elementos: 145, 193
•221•
•119•172• •290•374•
×23×30×60×118× ×133×145× ×182×193× ×238×272×275× ×340×353×357× ×376×394×
Insercion de 3 elementos: 275, 172, 357
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.4 d. Merge Polifasico
2.3.2. Eliminacion
•119•172•290•374•
×23×30×60×118× ×133×145× ×182×193×272×275× ×340×353×357× ×376×394×
Eliminacion de 2 elementos: 238, 221
•119•172•290•374•
×23×30×60×118× ×133×145× ×182×193×272× ×340×353×357× ×376×394×
Eliminacion de 1 elemento: 275
2.4. d. Merge Polifasico
Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones orde-nadas tomadas del lote de datos.
2.4.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.4.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.5. e. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
2.5.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
2.5 e. Radix Sort 9
E1 E2 E3 S
D D D –D D D –D D D –D 30 290 –182 340 394 –133 118 374 –119 353 376 –272 221 – –238 23 – –60 145 – –193 275 – –172 – – –357 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 – D
238 23 – D
60 145 – D
193 275 – 30, 290172 – – 182, 340, 394357 – – 118, 133, 374– – – 119, 353, 376
Cuadro 3: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.5 e. Radix Sort
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 221, 272 D
238 23 23, 238 D
60 145 60, 145 D
193 275 30, 193, 275, 290 30, 290
E1 S E2 E3
172 – 221, 272 182, 340, 394357 – 23, 238 118, 133, 374– – 60, 145 119, 353, 376– – 30, 193, 275, 290 –
Cuadro 4: Fase 3
Paso 0 Paso 1 Paso 2 Paso 3030 030 118 023290 290 119 030182 340 221 060340 060 023 118394 221 030 119133 182 133 133118 272 238 145374 172 340 172119 133 145 182353 353 353 193376 023 357 221272 193 060 238221 394 272 272238 374 172 275023 145 374 290060 275 275 340145 376 376 353193 357 182 357275 118 290 374172 238 193 376357 119 394 394
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Quick Sort 11
2.6. e. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.6.1. Desarrollo
Paso 1 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357
Paso 2 23 30 182 340 394 133 118 374 119 353 376 272 221 238 290 60 145 193 275 172 357
Paso 3 119 172 145 133 118 60 182 353 376 272 221 238 290 374 394 193 275 340 357
Final 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394
2.7. e. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
2.7.1. Arbol inicial
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357
Arbol inicial y su vector asociadoHeapfy paso 0
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.7 e. Heap Sort
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376
272 221 238 23 60 145 193 275 172 357
Heapfy paso 1
30
290 182
340 394 133 118
374 275 357 376 272 221 238 23
60 145 193 119 172 353
Vector:
30 290 182 340 394 133 118 374 275 357 376
272 221 238 23 60 145 193 119 172 353
Heapfy paso 2
30
290 182
374 394 272 238
340 275 357 376 133 221 118 23
60 145 193 119 172 353
Vector:
30 290 182 374 394 272 238 340 275 357 376
133 221 118 23 60 145 193 119 172 353
Heapfy paso 3
Enrique P. Calot Algoritmos y Programacion II
3 Resolucion explayada 13
30
394 272
374 376 221 238
340 275 357 290 133 182 118 23
60 145 193 119 172 353
Vector:
30 394 272 374 376 221 238 340 275 357 290
133 182 118 23 60 145 193 119 172 353
Heapfy paso 4
394
376 272
374 357 221 238
340 275 353 290 133 182 118 23
60 145 193 119 172 30
Vector:
394 376 272 374 357 221 238 340 275 353 290
133 182 118 23 60 145 193 119 172 30
30
376 272
374 357 221 238
340 275 353 290 133 182 118 23
60 145 193 119 172 394
Vector:
30 376 272 374 357 221 238 340 275 353 290
133 182 118 23 60 145 193 119 172 394
Paso 1: ultimo congelado pedido antes del corte
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
Algoritmos y Programacion II Facultad de Ingenierıa
14 3.1 Radix Sort descendente
podra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Paso 0 Paso 1 Paso 2 Paso 3030 119 394 394290 118 193 376182 238 290 374340 357 182 357394 376 376 353133 145 275 340118 275 374 290374 394 272 275119 374 172 272353 133 060 238376 353 357 221272 023 353 193221 193 145 182238 182 340 172023 272 238 145060 172 133 133145 221 030 119193 030 023 118275 290 221 060172 340 119 030357 060 118 023
3.2. Quick Sort completo
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 15
3.2.1. Desarrollo
Paso 1 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357
Paso 2 23 30 182 340 394 133 118 374 119 353 376 272 221 238 290 60 145 193 275 172 357
Paso 3 119 172 145 133 118 60 182 353 376 272 221 238 290 374 394 193 275 340 357
Paso 4 118 60 119 133 145 172 193 340 272 221 238 290 275 353 394 374 376 357
Paso 5 60 118 133 145 172 193 340 272 221 238 290 275 357 374 376 394
Paso 6 145 172 275 272 221 238 290 340 357 374 376
Paso 7 238 272 221 275 290 374 376
Final 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357
Arbol inicial y su vector asociadoHeapfy paso 0
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376
272 221 238 23 60 145 193 275 172 357
Heapfy paso 1
30
290 182
340 394 133 118
374 275 357 376 272 221 238 23
60 145 193 119 172 353
Vector:
30 290 182 340 394 133 118 374 275 357 376
272 221 238 23 60 145 193 119 172 353
Heapfy paso 2
30
290 182
374 394 272 238
340 275 357 376 133 221 118 23
60 145 193 119 172 353
Vector:
30 290 182 374 394 272 238 340 275 357 376
133 221 118 23 60 145 193 119 172 353
Heapfy paso 3
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
30
394 272
374 376 221 238
340 275 357 290 133 182 118 23
60 145 193 119 172 353
Vector:
30 394 272 374 376 221 238 340 275 357 290
133 182 118 23 60 145 193 119 172 353
Heapfy paso 4
394
376 272
374 357 221 238
340 275 353 290 133 182 118 23
60 145 193 119 172 30
Vector:
394 376 272 374 357 221 238 340 275 353 290
133 182 118 23 60 145 193 119 172 30
Intercambio y congelamiento
30
376 272
374 357 221 238
340 275 353 290 133 182 118 23
60 145 193 119 172 394
Vector:
30 376 272 374 357 221 238 340 275 353 290
133 182 118 23 60 145 193 119 172 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
376
374 272
340 357 221 238
145 275 353 290 133 182 118 23
60 30 193 119 172 394
Vector:
376 374 272 340 357 221 238 145 275 353 290
133 182 118 23 60 30 193 119 172 394
Intercambio y congelamiento
172
374 272
340 357 221 238
145 275 353 290 133 182 118 23
60 30 193 119 376 394
Vector:
172 374 272 340 357 221 238 145 275 353 290
133 182 118 23 60 30 193 119 376 394
Swapdown
374
357 272
340 353 221 238
145 275 172 290 133 182 118 23
60 30 193 119 376 394
Vector:
374 357 272 340 353 221 238 145 275 172 290
133 182 118 23 60 30 193 119 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
119
357 272
340 353 221 238
145 275 172 290 133 182 118 23
60 30 193 374 376 394
Vector:
119 357 272 340 353 221 238 145 275 172 290
133 182 118 23 60 30 193 374 376 394
Swapdown
357
353 272
340 290 221 238
145 275 172 119 133 182 118 23
60 30 193 374 376 394
Vector:
357 353 272 340 290 221 238 145 275 172 119
133 182 118 23 60 30 193 374 376 394
Intercambio y congelamiento
193
353 272
340 290 221 238
145 275 172 119 133 182 118 23
60 30 357 374 376 394
Vector:
193 353 272 340 290 221 238 145 275 172 119
133 182 118 23 60 30 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
353
340 272
275 290 221 238
145 193 172 119 133 182 118 23
60 30 357 374 376 394
Vector:
353 340 272 275 290 221 238 145 193 172 119
133 182 118 23 60 30 357 374 376 394
Intercambio y congelamiento
30
340 272
275 290 221 238
145 193 172 119 133 182 118 23
60 353 357 374 376 394
Vector:
30 340 272 275 290 221 238 145 193 172 119
133 182 118 23 60 353 357 374 376 394
Swapdown
340
290 272
275 172 221 238
145 193 30 119 133 182 118 23
60 353 357 374 376 394
Vector:
340 290 272 275 172 221 238 145 193 30 119
133 182 118 23 60 353 357 374 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
60
290 272
275 172 221 238
145 193 30 119 133 182 118 23
340 353 357 374 376 394
Vector:
60 290 272 275 172 221 238 145 193 30 119
133 182 118 23 340 353 357 374 376 394
Swapdown
290
275 272
193 172 221 238
145 60 30 119 133 182 118 23
340 353 357 374 376 394
Vector:
290 275 272 193 172 221 238 145 60 30 119
133 182 118 23 340 353 357 374 376 394
Intercambio y congelamiento
23
275 272
193 172 221 238
145 60 30 119 133 182 118 290
340 353 357 374 376 394
Vector:
23 275 272 193 172 221 238 145 60 30 119
133 182 118 290 340 353 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
275
193 272
145 172 221 238
23 60 30 119 133 182 118 290
340 353 357 374 376 394
Vector:
275 193 272 145 172 221 238 23 60 30 119
133 182 118 290 340 353 357 374 376 394
Intercambio y congelamiento
118
193 272
145 172 221 238
23 60 30 119 133 182 275 290
340 353 357 374 376 394
Vector:
118 193 272 145 172 221 238 23 60 30 119
133 182 275 290 340 353 357 374 376 394
Swapdown
272
193 238
145 172 221 118
23 60 30 119 133 182 275 290
340 353 357 374 376 394
Vector:
272 193 238 145 172 221 118 23 60 30 119
133 182 275 290 340 353 357 374 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
182
193 238
145 172 221 118
23 60 30 119 133 272 275 290
340 353 357 374 376 394
Vector:
182 193 238 145 172 221 118 23 60 30 119
133 272 275 290 340 353 357 374 376 394
Swapdown
238
193 221
145 172 182 118
23 60 30 119 133 272 275 290
340 353 357 374 376 394
Vector:
238 193 221 145 172 182 118 23 60 30 119
133 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
133
193 221
145 172 182 118
23 60 30 119 238 272 275 290
340 353 357 374 376 394
Vector:
133 193 221 145 172 182 118 23 60 30 119
238 272 275 290 340 353 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
221
193 182
145 172 133 118
23 60 30 119 238 272 275 290
340 353 357 374 376 394
Vector:
221 193 182 145 172 133 118 23 60 30 119
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
119
193 182
145 172 133 118
23 60 30 221 238 272 275 290
340 353 357 374 376 394
Vector:
119 193 182 145 172 133 118 23 60 30 221
238 272 275 290 340 353 357 374 376 394
Swapdown
193
172 182
145 119 133 118
23 60 30 221 238 272 275 290
340 353 357 374 376 394
Vector:
193 172 182 145 119 133 118 23 60 30 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
30
172 182
145 119 133 118
23 60 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
30 172 182 145 119 133 118 23 60 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
182
172 133
145 119 30 118
23 60 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
182 172 133 145 119 30 118 23 60 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
60
172 133
145 119 30 118
23 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
60 172 133 145 119 30 118 23 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
172
145 133
60 119 30 118
23 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
172 145 133 60 119 30 118 23 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
23
145 133
60 119 30 118
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
23 145 133 60 119 30 118 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
145
119 133
60 23 30 118
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
145 119 133 60 23 30 118 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
118
119 133
60 23 30 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
118 119 133 60 23 30 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
133
119 118
60 23 30 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
133 119 118 60 23 30 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
30
119 118
60 23 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
30 119 118 60 23 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
119
60 118
30 23 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
119 60 118 30 23 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
23
60 118
30 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
23 60 118 30 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
118
60 23
30 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
118 60 23 30 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
30
60 23
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
30 60 23 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
60
30 23
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
60 30 23 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
23
30 60
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
23 30 60 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.4 Heap Sort descendente
30
23 60
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
30 23 60 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Intercambio y congelamiento
23
30 60
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
23 30 60 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
Swapdown
23
30 60
118 119 133 145
172 182 193 221 238 272 275 290
340 353 357 374 376 394
Vector:
23 30 60 118 119 133 145 172 182 193 221
238 272 275 290 340 353 357 374 376 394
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
3.4.1. Arbol inicial
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357
Arbol inicial y su vector asociadoHeapfy paso 0
30
290 182
340 394 133 118
374 119 353 376 272 221 238 23
60 145 193 275 172 357
Vector:
30 290 182 340 394 133 118 374 119 353 376
272 221 238 23 60 145 193 275 172 357
Heapfy paso 1
30
290 182
340 394 133 118
60 119 172 376 272 221 238 23
374 145 193 275 353 357
Vector:
30 290 182 340 394 133 118 60 119 172 376
272 221 238 23 374 145 193 275 353 357
Heapfy paso 2
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
30
290 182
60 172 133 23
145 119 353 376 272 221 238 118
374 340 193 275 394 357
Vector:
30 290 182 60 172 133 23 145 119 353 376
272 221 238 118 374 340 193 275 394 357
Heapfy paso 3
30
60 23
119 172 133 118
145 193 353 376 272 221 238 182
374 340 290 275 394 357
Vector:
30 60 23 119 172 133 118 145 193 353 376
272 221 238 182 374 340 290 275 394 357
Heapfy paso 4
23
60 30
119 172 133 118
145 193 353 376 272 221 238 182
374 340 290 275 394 357
Vector:
23 60 30 119 172 133 118 145 193 353 376
272 221 238 182 374 340 290 275 394 357
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
357
60 30
119 172 133 118
145 193 353 376 272 221 238 182
374 340 290 275 394 23
Vector:
357 60 30 119 172 133 118 145 193 353 376
272 221 238 182 374 340 290 275 394 23
Swapdown
30
60 118
119 172 133 182
145 193 353 376 272 221 238 357
374 340 290 275 394 23
Vector:
30 60 118 119 172 133 182 145 193 353 376
272 221 238 357 374 340 290 275 394 23
Intercambio y congelamiento
394
60 118
119 172 133 182
145 193 353 376 272 221 238 357
374 340 290 275 30 23
Vector:
394 60 118 119 172 133 182 145 193 353 376
272 221 238 357 374 340 290 275 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
60
119 118
145 172 133 182
340 193 353 376 272 221 238 357
374 394 290 275 30 23
Vector:
60 119 118 145 172 133 182 340 193 353 376
272 221 238 357 374 394 290 275 30 23
Intercambio y congelamiento
275
119 118
145 172 133 182
340 193 353 376 272 221 238 357
374 394 290 60 30 23
Vector:
275 119 118 145 172 133 182 340 193 353 376
272 221 238 357 374 394 290 60 30 23
Swapdown
118
119 133
145 172 221 182
340 193 353 376 272 275 238 357
374 394 290 60 30 23
Vector:
118 119 133 145 172 221 182 340 193 353 376
272 275 238 357 374 394 290 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
290
119 133
145 172 221 182
340 193 353 376 272 275 238 357
374 394 118 60 30 23
Vector:
290 119 133 145 172 221 182 340 193 353 376
272 275 238 357 374 394 118 60 30 23
Swapdown
119
145 133
193 172 221 182
340 290 353 376 272 275 238 357
374 394 118 60 30 23
Vector:
119 145 133 193 172 221 182 340 290 353 376
272 275 238 357 374 394 118 60 30 23
Intercambio y congelamiento
394
145 133
193 172 221 182
340 290 353 376 272 275 238 357
374 119 118 60 30 23
Vector:
394 145 133 193 172 221 182 340 290 353 376
272 275 238 357 374 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
133
145 182
193 172 221 238
340 290 353 376 272 275 394 357
374 119 118 60 30 23
Vector:
133 145 182 193 172 221 238 340 290 353 376
272 275 394 357 374 119 118 60 30 23
Intercambio y congelamiento
374
145 182
193 172 221 238
340 290 353 376 272 275 394 357
133 119 118 60 30 23
Vector:
374 145 182 193 172 221 238 340 290 353 376
272 275 394 357 133 119 118 60 30 23
Swapdown
145
172 182
193 353 221 238
340 290 374 376 272 275 394 357
133 119 118 60 30 23
Vector:
145 172 182 193 353 221 238 340 290 374 376
272 275 394 357 133 119 118 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
357
172 182
193 353 221 238
340 290 374 376 272 275 394 145
133 119 118 60 30 23
Vector:
357 172 182 193 353 221 238 340 290 374 376
272 275 394 145 133 119 118 60 30 23
Swapdown
172
193 182
290 353 221 238
340 357 374 376 272 275 394 145
133 119 118 60 30 23
Vector:
172 193 182 290 353 221 238 340 357 374 376
272 275 394 145 133 119 118 60 30 23
Intercambio y congelamiento
394
193 182
290 353 221 238
340 357 374 376 272 275 172 145
133 119 118 60 30 23
Vector:
394 193 182 290 353 221 238 340 357 374 376
272 275 172 145 133 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
182
193 221
290 353 272 238
340 357 374 376 394 275 172 145
133 119 118 60 30 23
Vector:
182 193 221 290 353 272 238 340 357 374 376
394 275 172 145 133 119 118 60 30 23
Intercambio y congelamiento
275
193 221
290 353 272 238
340 357 374 376 394 182 172 145
133 119 118 60 30 23
Vector:
275 193 221 290 353 272 238 340 357 374 376
394 182 172 145 133 119 118 60 30 23
Swapdown
193
275 221
290 353 272 238
340 357 374 376 394 182 172 145
133 119 118 60 30 23
Vector:
193 275 221 290 353 272 238 340 357 374 376
394 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
394
275 221
290 353 272 238
340 357 374 376 193 182 172 145
133 119 118 60 30 23
Vector:
394 275 221 290 353 272 238 340 357 374 376
193 182 172 145 133 119 118 60 30 23
Swapdown
221
275 238
290 353 272 394
340 357 374 376 193 182 172 145
133 119 118 60 30 23
Vector:
221 275 238 290 353 272 394 340 357 374 376
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
376
275 238
290 353 272 394
340 357 374 221 193 182 172 145
133 119 118 60 30 23
Vector:
376 275 238 290 353 272 394 340 357 374 221
193 182 172 145 133 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
238
275 272
290 353 376 394
340 357 374 221 193 182 172 145
133 119 118 60 30 23
Vector:
238 275 272 290 353 376 394 340 357 374 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
374
275 272
290 353 376 394
340 357 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
374 275 272 290 353 376 394 340 357 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
272
275 374
290 353 376 394
340 357 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
272 275 374 290 353 376 394 340 357 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
357
275 374
290 353 376 394
340 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
357 275 374 290 353 376 394 340 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
275
290 374
340 353 376 394
357 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
275 290 374 340 353 376 394 357 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
357
290 374
340 353 376 394
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
357 290 374 340 353 376 394 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
290
340 374
357 353 376 394
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
290 340 374 357 353 376 394 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
394
340 374
357 353 376 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 340 374 357 353 376 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
340
353 374
357 394 376 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
340 353 374 357 394 376 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
376
353 374
357 394 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
376 353 374 357 394 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
353
357 374
376 394 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
353 357 374 376 394 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
394
357 374
376 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 357 374 376 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
357
376 374
394 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
357 376 374 394 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
394
376 374
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 376 374 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
374
376 394
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
374 376 394 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 45
394
376 374
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 376 374 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
376
394 374
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
376 394 374 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Intercambio y congelamiento
394
376 374
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 376 374 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.5 Merge Polifasico de las salidas por seleccion de reemplazo
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 5: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
30, 133, 182, 290,340, 353, 374, 376,394
118, 119, 221, 238,272, 275
23, 60, 145, 172, 193,357
–
Cuadro 6: Fase 1
394
376 374
357 353 340 290
275 272 238 221 193 182 172 145
133 119 118 60 30 23
Vector:
394 376 374 357 353 340 290 275 272 238 221
193 182 172 145 133 119 118 60 30 23
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.
Enrique P. Calot Algoritmos y Programacion II
3.6 Merge Polifasico de las particiones marcadas 47
E1 E2 E3 S
30, 133, 182, 290,340, 353, 374, 376,394
118, 119, 221, 238,272, 275
23, 60, 145, 172, 193,357
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 7: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 8: Calculo de la distribucion de columnas y dummies
Por ejemplo p1 = {30, 182, 290, 340, 394}; p2 = {118, 133, 374}; . . . ; p6 = {145, 193}; p7 = {172, 275, 357}.
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
E1 E2 E3 S
D D 30, 182, 290, 340, 394 –118, 133, 374 119 353, 376 –23, 60, 221, 238, 272 145, 193 – –172, 275, 357 – – –
Cuadro 9: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.6 Merge Polifasico de las particiones marcadas
E1 E2 E3 S
D D 30, 182, 290, 340, 394 30, 182, 290, 340, 394118, 133, 374 119 353, 376 118, 119, 133, 353,
374, 376
E1 E2 S E3
23, 60, 221, 238, 272 145, 193 – 30, 182, 290, 340, 394172, 275, 357 – – 118, 119, 133, 353,
374, 376
Cuadro 10: Fase 2
E1 E2 E3 S
D D 30, 182, 290, 340, 394 30, 182, 290, 340, 394118, 133, 374 119 353, 376 118, 119, 133, 353,
374, 376
E1 E2 S E3
23, 60, 221, 238, 272 145, 193 23, 30, 60, 145, 182,193, 221, 238, 272,290, 340, 394
30, 182, 290, 340, 394
E1 S E2 E3
172, 275, 357 – 23, 30, 60, 145, 182,193, 221, 238, 272,290, 340, 394
118, 119, 133, 353,374, 376
Cuadro 11: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico completo con particiones formadas de 1 elemento 49
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 12: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –D D D –D D D –D 30 290 –182 340 394 –133 118 374 –119 353 376 –272 221 – –238 23 – –60 145 – –193 275 – –172 – – –357 – – –
Cuadro 13: Fase 1
3.7. Merge Polifasico completo con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 – D
238 23 – D
60 145 – D
193 275 – 30, 290172 – – 182, 340, 394357 – – 118, 133, 374– – – 119, 353, 376
Cuadro 14: Fase 2
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 221, 272 D
238 23 23, 238 D
60 145 60, 145 D
193 275 30, 193, 275, 290 30, 290
E1 S E2 E3
172 – 221, 272 182, 340, 394357 – 23, 238 118, 133, 374– – 60, 145 119, 353, 376– – 30, 193, 275, 290 –
Cuadro 15: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 51
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 221, 272 D
238 23 23, 238 D
60 145 60, 145 D
193 275 30, 193, 275, 290 30, 290
E1 S E2 E3
172 172, 182, 221, 272,340, 394
221, 272 182, 340, 394
357 23, 118, 133, 238,357, 374
23, 238 118, 133, 374
S E1 E2 E3
– 172, 182, 221, 272,340, 394
60, 145 119, 353, 376
– 23, 118, 133, 238,357, 374
30, 193, 275, 290 –
Cuadro 16: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 221, 272 D
238 23 23, 238 D
60 145 60, 145 D
193 275 30, 193, 275, 290 30, 290
E1 S E2 E3
172 172, 182, 221, 272,340, 394
221, 272 182, 340, 394
357 23, 118, 133, 238,357, 374
23, 238 118, 133, 374
S E1 E2 E3
60, 119, 145, 172,182, 221, 272, 340,353, 376, 394
172, 182, 221, 272,340, 394
60, 145 119, 353, 376
E3 E1 E2 S
60, 119, 145, 172,182, 221, 272, 340,353, 376, 394
23, 118, 133, 238,357, 374
30, 193, 275, 290 –
Cuadro 17: Fase 5
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 53
E1 E2 E3 S
D D D D
D D D D
D D D D
D 30 290 30, 290182 340 394 182, 340, 394133 118 374 118, 133, 374119 353 376 119, 353, 376
E1 E2 S E3
272 221 221, 272 D
238 23 23, 238 D
60 145 60, 145 D
193 275 30, 193, 275, 290 30, 290
E1 S E2 E3
172 172, 182, 221, 272,340, 394
221, 272 182, 340, 394
357 23, 118, 133, 238,357, 374
23, 238 118, 133, 374
S E1 E2 E3
60, 119, 145, 172,182, 221, 272, 340,353, 376, 394
172, 182, 221, 272,340, 394
60, 145 119, 353, 376
E3 E1 E2 S
60, 119, 145, 172,182, 221, 272, 340,353, 376, 394
23, 118, 133, 238,357, 374
30, 193, 275, 290 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E1 E2 E3
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 18: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 3 elementos
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 19: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –D D D –30, 290 182, 340 133, 394 –118, 374 119, 353 272, 376 –221, 238 23, 60 – –145, 193 172, 275 – –357 – – –
Cuadro 20: Fase 1
Por ejemplo p1 = {30, 290}; p2 = {182, 340}; . . . ; p10 = {172, 275}; p11 = {357}.
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {30, 182, 290}; p2 = {133, 340, 394}; . . . ; p6 = {60, 145, 193}; p7 = {172, 275, 357}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 55
E1 E2 E3 S
D D D D
D D D D
30, 290 182, 340 133, 394 30, 133, 182, 290,340, 394
118, 374 119, 353 272, 376 118, 119, 272, 353,374, 376
E1 E2 S E3
221, 238 23, 60 – D
145, 193 172, 275 – D
357 – – 30, 133, 182, 290,340, 394
– – – 118, 119, 272, 353,374, 376
Cuadro 21: Fase 2
E1 E2 E3 S
D D D D
D D D D
30, 290 182, 340 133, 394 30, 133, 182, 290,340, 394
118, 374 119, 353 272, 376 118, 119, 272, 353,374, 376
E1 E2 S E3
221, 238 23, 60 23, 60, 221, 238 D
145, 193 172, 275 145, 172, 193, 275 D
E1 S E2 E3
357 – 23, 60, 221, 238 30, 133, 182, 290,340, 394
– – 145, 172, 193, 275 118, 119, 272, 353,374, 376
Cuadro 22: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.10 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
D D D D
30, 290 182, 340 133, 394 30, 133, 182, 290,340, 394
118, 374 119, 353 272, 376 118, 119, 272, 353,374, 376
E1 E2 S E3
221, 238 23, 60 23, 60, 221, 238 D
145, 193 172, 275 145, 172, 193, 275 D
E1 S E2 E3
357 23, 30, 60, 133, 182,221, 238, 290, 340,357, 394
23, 60, 221, 238 30, 133, 182, 290,340, 394
S E1 E2 E3
– 23, 30, 60, 133, 182,221, 238, 290, 340,357, 394
145, 172, 193, 275 118, 119, 272, 353,374, 376
Cuadro 23: Fase 4
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.10. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {30, 182, 290, 340}; p2 = {118, 133, 374, 394}; p3 = {119, 272, 353, 376}; p4 ={23, 60, 221, 238}; p5 = {145, 172, 193, 275}; p6 = {357}.
3.10.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.10.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.10 Merge Polifasico con particiones formadas de 4 elementos 57
E1 E2 E3 S
D D D D
D D D D
30, 290 182, 340 133, 394 30, 133, 182, 290,340, 394
118, 374 119, 353 272, 376 118, 119, 272, 353,374, 376
E1 E2 S E3
221, 238 23, 60 23, 60, 221, 238 D
145, 193 172, 275 145, 172, 193, 275 D
E1 S E2 E3
357 23, 30, 60, 133, 182,221, 238, 290, 340,357, 394
23, 60, 221, 238 30, 133, 182, 290,340, 394
S E1 E2 E3
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
23, 30, 60, 133, 182,221, 238, 290, 340,357, 394
145, 172, 193, 275 118, 119, 272, 353,374, 376
E1 S E2 E3
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
– – –
Cuadro 24: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 25: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 30, 182, 290 –133, 340, 394 118, 119, 374 272, 353, 376 –23, 221, 238 60, 145, 193 – –172, 275, 357 – – –
Cuadro 26: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.10 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D 30, 182, 290 30, 182, 290133, 340, 394 118, 119, 374 272, 353, 376 118, 119, 133, 272,
340, 353, 374, 376,394
E1 E2 S E3
23, 221, 238 60, 145, 193 – 30, 182, 290172, 275, 357 – – 118, 119, 133, 272,
340, 353, 374, 376,394
Cuadro 27: Fase 2
E1 E2 E3 S
D D 30, 182, 290 30, 182, 290133, 340, 394 118, 119, 374 272, 353, 376 118, 119, 133, 272,
340, 353, 374, 376,394
E1 E2 S E3
23, 221, 238 60, 145, 193 23, 30, 60, 145, 182,193, 221, 238, 290
30, 182, 290
E1 S E2 E3
172, 275, 357 – 23, 30, 60, 145, 182,193, 221, 238, 290
118, 119, 133, 272,340, 353, 374, 376,394
Cuadro 28: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Merge Polifasico con particiones formadas de 4 elementos 59
E1 E2 E3 S
D D 30, 182, 290 30, 182, 290133, 340, 394 118, 119, 374 272, 353, 376 118, 119, 133, 272,
340, 353, 374, 376,394
E1 E2 S E3
23, 221, 238 60, 145, 193 23, 30, 60, 145, 182,193, 221, 238, 290
30, 182, 290
E1 S E2 E3
172, 275, 357 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
23, 30, 60, 145, 182,193, 221, 238, 290
118, 119, 133, 272,340, 353, 374, 376,394
S E1 E2 E3
– 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
– –
Cuadro 29: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 30: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –30, 182, 290, 340 118, 133, 374, 394 119, 272, 353, 376 –23, 60, 221, 238 145, 172, 193, 275 – –357 – – –
Cuadro 31: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.10 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
30, 182, 290, 340 118, 133, 374, 394 119, 272, 353, 376 30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
E1 E2 S E3
23, 60, 221, 238 145, 172, 193, 275 – D
357 – – 30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
Cuadro 32: Fase 2
E1 E2 E3 S
D D D D
30, 182, 290, 340 118, 133, 374, 394 119, 272, 353, 376 30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
E1 E2 S E3
23, 60, 221, 238 145, 172, 193, 275 23, 60, 145, 172, 193,221, 238, 275
D
E1 S E2 E3
357 – 23, 60, 145, 172, 193,221, 238, 275
30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
Cuadro 33: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 61
E1 E2 E3 S
D D D D
30, 182, 290, 340 118, 133, 374, 394 119, 272, 353, 376 30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
E1 E2 S E3
23, 60, 221, 238 145, 172, 193, 275 23, 60, 145, 172, 193,221, 238, 275
D
E1 S E2 E3
357 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
23, 60, 145, 172, 193,221, 238, 275
30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
S E1 E2 E3
– 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
– –
Cuadro 34: Fase final
3.11. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
3.11.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.12 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
b1 b2 Sale Entra
– – Nada 30
30 – Nada 290
30 290 30 182
182 290 182 340
340 290 290 394
340 394 340 133
133 394 394 118
133 118
Nueva particion! Se cierra la particion p1 = {30, 182, 290, 340, 394}118 374
133 374 133 119
119 374 374 353
119 353
Nueva particion! Se cierra la particion p2 = {118, 133, 374}119 376
376 353 353 272
376 272 376 221
221 272
Nueva particion! Se cierra la particion p3 = {119, 353, 376}221 238
238 272 238 23
23 272 272 60
23 60
Nueva particion! Se cierra la particion p4 = {221, 238, 272}23 145
145 60 60 193
145 193 145 275
275 193 193 172
275 172 275 357
357 172 357 Nada
– 172
Nueva particion! Se cierra la particion p5 = {23, 60, 145, 193, 275, 357}172 Nada
Finaliza la ultima particion en p6 = {172}
3.11.2. Salida final
p1 = {30, 182, 290, 340, 394};
p2 = {118, 133, 374};
p3 = {119, 353, 376};
p4 = {221, 238, 272};
p5 = {23, 60, 145, 193, 275, 357};
p6 = {172}.
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 63
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 35: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –30, 182, 290, 340, 394 118, 133, 374 119, 353, 376 –221, 238, 272 23, 60, 145, 193, 275,
357– –
172 – – –
Cuadro 36: Fase 1
3.12.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.12.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.13. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
30, 182, 290, 340, 394 118, 133, 374 119, 353, 376 30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
E1 E2 S E3
221, 238, 272 23, 60, 145, 193, 275,357
– D
172 – – 30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
Cuadro 37: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Seleccion Natural con buffers de tamano 2
E1 E2 E3 S
D D D D
30, 182, 290, 340, 394 118, 133, 374 119, 353, 376 30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
E1 E2 S E3
221, 238, 272 23, 60, 145, 193, 275,357
23, 60, 145, 193, 221,238, 272, 275, 357
D
E1 S E2 E3
172 – 23, 60, 145, 193, 221,238, 272, 275, 357
30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
Cuadro 38: Fase 3
E1 E2 E3 S
D D D D
30, 182, 290, 340, 394 118, 133, 374 119, 353, 376 30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
E1 E2 S E3
221, 238, 272 23, 60, 145, 193, 275,357
23, 60, 145, 193, 221,238, 272, 275, 357
D
E1 S E2 E3
172 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
23, 60, 145, 193, 221,238, 272, 275, 357
30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
S E1 E2 E3
– 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
– –
Cuadro 39: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 65
3.13.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 30
30 – – – Nada 290
30 290 – – 30 182
182 290 – – 182 340
340 290 – – 290 394
340 394 – – 340 133
– 394 133 – Nada 118
– 394 133 118 394 Nada
133 118 – –
Nueva particion! Se cierra la particion p1 = {30, 182, 290, 340, 394}118 374
133 374 – – 133 119
– 374 119 – Nada 353
353 374 119 – 353 376
376 374 119 – 374 272
376 – 119 272 376 Nada
119 272 – –
Nueva particion! Se cierra la particion p2 = {118, 133, 353, 374, 376}119 221
221 272 – – 221 238
238 272 – – 238 23
– 272 23 – Nada 60
– 272 23 60 272 Nada
23 60 – –
Nueva particion! Se cierra la particion p3 = {119, 221, 238, 272}23 145
145 60 – – 60 193
145 193 – – 145 275
275 193 – – 193 172
275 – 172 – Nada 357
275 357 172 – 275 Nada
– 357 172 – 357 Nada
172 – – –
Nueva particion! Se cierra la particion p4 = {23, 60, 145, 193, 275, 357}172 Nada
Finaliza la ultima particion en p5 = {172}
3.13.2. Salida final
p1 = {30, 182, 290, 340, 394};
p2 = {118, 133, 353, 374, 376};
p3 = {119, 221, 238, 272};
p4 = {23, 60, 145, 193, 275, 357};
p5 = {172}.
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 40: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
30, 182, 290, 340, 394 118, 133, 353, 374,376
119, 221, 238, 272 –
23, 60, 145, 193, 275,357
172 – –
Cuadro 41: Fase 1
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.14.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.14.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
E1 E2 E3 S
30, 182, 290, 340, 394 118, 133, 353, 374,376
119, 221, 238, 272 30, 118, 119, 133,182, 221, 238, 272,290, 340, 353, 374,376, 394
E1 E2 S E3
23, 60, 145, 193, 275,357
172 – 30, 118, 119, 133,182, 221, 238, 272,290, 340, 353, 374,376, 394
Cuadro 42: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.15 Seleccion de reemplazo con buffer de tamano 3 67
E1 E2 E3 S
30, 182, 290, 340, 394 118, 133, 353, 374,376
119, 221, 238, 272 30, 118, 119, 133,182, 221, 238, 272,290, 340, 353, 374,376, 394
E1 E2 S E3
23, 60, 145, 193, 275,357
172 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
30, 118, 119, 133,182, 221, 238, 272,290, 340, 353, 374,376, 394
S E2 E1 E3
– – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
–
Cuadro 43: Fase final
3.15. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
3.15.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.16 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3
b1 b2 b3 Sale Entra
– – – Nada 30
30 – – Nada 290
30 290 – Nada 182
30 290 182 30 340
340 290 182 182 394
340 290 394 290 133
340 133 394 340 118
118 133 394 394 374
118 133 374
Nueva particion! Se cierra la particion p1 = {30, 182, 290, 340, 394}118 119
119 133 374 119 353
353 133 374 133 376
353 376 374 353 272
272 376 374 374 221
272 376 221 376 238
272 238 221
Nueva particion! Se cierra la particion p2 =
{118, 119, 133, 353, 374, 376}221 23
272 238 23 238 60
272 60 23 272 145
145 60 23
Nueva particion! Se cierra la particion p3 = {221, 238, 272}23 193
145 60 193 60 275
145 275 193 145 172
172 275 193 172 357
357 275 193 193 Nada
357 275 – 275 Nada
357 – – 357 Nada
Finaliza la ultima particion en p4 = {23, 60, 145, 172, 193, 275, 357}
3.15.2. Salida final
p1 = {30, 182, 290, 340, 394};
p2 = {118, 119, 133, 353, 374, 376};
p3 = {221, 238, 272};
p4 = {23, 60, 145, 172, 193, 275, 357}.
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.16.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.17 Seleccion Natural con buffers de tamano 3 69
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 44: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 30, 182, 290, 340, 394 118, 119, 133, 353,374, 376
–
221, 238, 272 23, 60, 145, 172, 193,275, 357
– –
Cuadro 45: Fase 1
3.16.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.17. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.17.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
D 30, 182, 290, 340, 394 118, 119, 133, 353,374, 376
30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
E1 E2 S E3
221, 238, 272 23, 60, 145, 172, 193,275, 357
– 30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
Cuadro 46: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.17 Seleccion Natural con buffers de tamano 3
E1 E2 E3 S
D 30, 182, 290, 340, 394 118, 119, 133, 353,374, 376
30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
E1 E2 S E3
221, 238, 272 23, 60, 145, 172, 193,275, 357
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
30, 118, 119, 133,182, 290, 340, 353,374, 376, 394
S E2 E1 E3
– – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
–
Cuadro 47: Fase final
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 30
30 – – – – – Nada 290
30 290 – – – – Nada 182
30 290 182 – – – 30 340
340 290 182 – – – 182 394
340 290 394 – – – 290 133
340 – 394 133 – – Nada 118
340 – 394 133 118 – Nada 374
340 374 394 133 118 – 340 119
– 374 394 133 118 119 374 Nada
– – 394 133 118 119 394 Nada
133 118 119 – – –
Nueva particion! Se cierra la particion p1 = {30, 182, 290, 340, 374, 394}118 353
133 353 119 – – – 119 376
133 353 376 – – – 133 272
272 353 376 – – – 272 221
– 353 376 221 – – Nada 238
– 353 376 221 238 – Nada 23
– 353 376 221 238 23 353 Nada
– – 376 221 238 23 376 Nada
221 238 23 – – –
Nueva particion! Se cierra la particion p2 = {118, 119, 133, 272, 353, 376}23 60
221 238 60 – – – 60 145
221 238 145 – – – 145 193
221 238 193 – – – 193 275
221 238 275 – – – 221 172
– 238 275 172 – – Nada 357
357 238 275 172 – – 238 Nada
357 – 275 172 – – 275 Nada
357 – – 172 – – 357 Nada
172 – – – – –
Nueva particion! Se cierra la particion p3 = {23, 60, 145, 193, 221, 238, 275, 357}172 Nada
Finaliza la ultima particion en p4 = {172}
Enrique P. Calot Algoritmos y Programacion II
3.18 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 71
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 48: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 30, 182, 290, 340,374, 394
118, 119, 133, 272,353, 376
–
23, 60, 145, 193, 221,238, 275, 357
172 – –
Cuadro 49: Fase 1
3.17.2. Salida final
p1 = {30, 182, 290, 340, 374, 394};
p2 = {118, 119, 133, 272, 353, 376};
p3 = {23, 60, 145, 193, 221, 238, 275, 357};
p4 = {172}.
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.18.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.18.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.19. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.19 Seleccion de reemplazo con buffer de tamano 4
E1 E2 E3 S
D 30, 182, 290, 340,374, 394
118, 119, 133, 272,353, 376
30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
E1 E2 S E3
23, 60, 145, 193, 221,238, 275, 357
172 – 30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
Cuadro 50: Fase 2
E1 E2 E3 S
D 30, 182, 290, 340,374, 394
118, 119, 133, 272,353, 376
30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
E1 E2 S E3
23, 60, 145, 193, 221,238, 275, 357
172 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
30, 118, 119, 133,182, 272, 290, 340,353, 374, 376, 394
S E2 E1 E3
– – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
–
Cuadro 51: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.20 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 73
3.19.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 b4 Sale Entra
– – – – Nada 30
30 – – – Nada 290
30 290 – – Nada 182
30 290 182 – Nada 340
30 290 182 340 30 394
394 290 182 340 182 133
394 290 133 340 290 118
394 118 133 340 340 374
394 118 133 374 374 119
394 118 133 119 394 353
353 118 133 119
Nueva particion! Se cierra la particion p1 =
{30, 182, 290, 340, 374, 394}118 376
353 376 133 119 119 272
353 376 133 272 133 221
353 376 221 272 221 238
353 376 238 272 238 23
353 376 23 272 272 60
353 376 23 60 353 145
145 376 23 60 376 193
145 193 23 60
Nueva particion! Se cierra la particion p2 =
{118, 119, 133, 221, 238, 272, 353, 376}23 275
145 193 275 60 60 172
145 193 275 172 145 357
357 193 275 172 172 Nada
357 193 275 – 193 Nada
357 – 275 – 275 Nada
357 – – – 357 Nada
Finaliza la ultima particion en p3 = {23, 60, 145, 172, 193, 275, 357}
3.19.2. Salida final
p1 = {30, 182, 290, 340, 374, 394};
p2 = {118, 119, 133, 221, 238, 272, 353, 376};
p3 = {23, 60, 145, 172, 193, 275, 357}.
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.20.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.21 Seleccion Natural con buffers de tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
30, 182, 290, 340,374, 394
118, 119, 133, 221,238, 272, 353, 376
23, 60, 145, 172, 193,275, 357
–
Cuadro 53: Fase 1
3.20.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.21. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
3.21.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.21 Seleccion Natural con buffers de tamano 4 75
E1 E2 E3 S
30, 182, 290, 340,374, 394
118, 119, 133, 221,238, 272, 353, 376
23, 60, 145, 172, 193,275, 357
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 54: Fase final
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 30
30 – – – – – – – Nada 290
30 290 – – – – – – Nada 182
30 290 182 – – – – – Nada 340
30 290 182 340 – – – – 30 394
394 290 182 340 – – – – 182 133
394 290 – 340 133 – – – Nada 118
394 290 – 340 133 118 – – Nada 374
394 290 374 340 133 118 – – 290 119
394 – 374 340 133 118 119 – Nada 353
394 353 374 340 133 118 119 – 340 376
394 353 374 376 133 118 119 – 353 272
394 – 374 376 133 118 119 272 374 Nada
394 – – 376 133 118 119 272 376 Nada
394 – – – 133 118 119 272 394 Nada
133 118 119 272 – – – –
Nueva particion! Se cierra la particion p1 = {30, 182, 290, 340, 353, 374, 376, 394}118 221
133 221 119 272 – – – – 119 238
133 221 238 272 – – – – 133 23
– 221 238 272 23 – – – Nada 60
– 221 238 272 23 60 – – Nada 145
145 221 238 272 23 60 – – 145 193
193 221 238 272 23 60 – – 193 275
275 221 238 272 23 60 – – 221 172
275 – 238 272 23 60 172 – Nada 357
275 357 238 272 23 60 172 – 238 Nada
275 357 – 272 23 60 172 – 272 Nada
275 357 – – 23 60 172 – 275 Nada
– 357 – – 23 60 172 – 357 Nada
23 60 172 – – – – –
Nueva particion! Se cierra la particion p2 = {118, 119, 133, 145, 193, 221, 238, 272, 275, 357}23 Nada
– 60 172 – – – – – 60 Nada
– – 172 – – – – – 172 Nada
Finaliza la ultima particion en p3 = {23, 60, 172}
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.22 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
30, 182, 290, 340,353, 374, 376, 394
118, 119, 133, 145,193, 221, 238, 272,275, 357
23, 60, 172 –
Cuadro 56: Fase 1
3.21.2. Salida final
p1 = {30, 182, 290, 340, 353, 374, 376, 394};
p2 = {118, 119, 133, 145, 193, 221, 238, 272, 275, 357};
p3 = {23, 60, 172}.
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.22.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.22.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.23. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.23.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.23 Seleccion Natural con buffers de tamano 5 77
E1 E2 E3 S
30, 182, 290, 340,353, 374, 376, 394
118, 119, 133, 145,193, 221, 238, 272,275, 357
23, 60, 172 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 57: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 30
30 – – – – – – – – – Nada 290
30 290 – – – – – – – – Nada 182
30 290 182 – – – – – – – Nada 340
30 290 182 340 – – – – – – Nada 394
30 290 182 340 394 – – – – – 30 133
133 290 182 340 394 – – – – – 133 118
– 290 182 340 394 118 – – – – Nada 374
374 290 182 340 394 118 – – – – 182 119
374 290 – 340 394 118 119 – – – Nada 353
374 290 353 340 394 118 119 – – – 290 376
374 376 353 340 394 118 119 – – – 340 272
374 376 353 – 394 118 119 272 – – Nada 221
374 376 353 – 394 118 119 272 221 – Nada 238
374 376 353 – 394 118 119 272 221 238 353 Nada
374 376 – – 394 118 119 272 221 238 374 Nada
– 376 – – 394 118 119 272 221 238 376 Nada
– – – – 394 118 119 272 221 238 394 Nada
118 119 272 221 238 – – – – –
Nueva particion! Se cierra la particion p1 = {30, 133, 182, 290, 340, 353, 374, 376, 394}118 23
– 119 272 221 238 23 – – – – Nada 60
– 119 272 221 238 23 60 – – – Nada 145
145 119 272 221 238 23 60 – – – 119 193
145 193 272 221 238 23 60 – – – 145 275
275 193 272 221 238 23 60 – – – 193 172
275 – 272 221 238 23 60 172 – – Nada 357
275 357 272 221 238 23 60 172 – – 221 Nada
275 357 272 – 238 23 60 172 – – 238 Nada
275 357 272 – – 23 60 172 – – 272 Nada
275 357 – – – 23 60 172 – – 275 Nada
– 357 – – – 23 60 172 – – 357 Nada
23 60 172 – – – – – – –
Nueva particion! Se cierra la particion p2 = {118, 119, 145, 193, 221, 238, 272, 275, 357}23 Nada
– 60 172 – – – – – – – 60 Nada
– – 172 – – – – – – – 172 Nada
Finaliza la ultima particion en p3 = {23, 60, 172}
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.24 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 58: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
30, 133, 182, 290,340, 353, 374, 376,394
118, 119, 145, 193,221, 238, 272, 275,357
23, 60, 172 –
Cuadro 59: Fase 1
3.23.2. Salida final
p1 = {30, 133, 182, 290, 340, 353, 374, 376, 394};
p2 = {118, 119, 145, 193, 221, 238, 272, 275, 357};
p3 = {23, 60, 172}.
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.24.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.24.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.25. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.25.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.25 Seleccion de reemplazo con buffer de tamano 6 79
E1 E2 E3 S
30, 133, 182, 290,340, 353, 374, 376,394
118, 119, 145, 193,221, 238, 272, 275,357
23, 60, 172 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 60: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 30
30 – – – – – Nada 290
30 290 – – – – Nada 182
30 290 182 – – – Nada 340
30 290 182 340 – – Nada 394
30 290 182 340 394 – Nada 133
30 290 182 340 394 133 30 118
118 290 182 340 394 133 118 374
374 290 182 340 394 133 133 119
374 290 182 340 394 119 182 353
374 290 353 340 394 119 290 376
374 376 353 340 394 119 340 272
374 376 353 272 394 119 353 221
374 376 221 272 394 119 374 238
238 376 221 272 394 119 376 23
238 23 221 272 394 119 394 60
238 23 221 272 60 119
Nueva particion! Se cierra la particion p1 =
{30, 118, 133, 182, 290, 340, 353, 374, 376, 394}23 145
238 145 221 272 60 119 60 193
238 145 221 272 193 119 119 275
238 145 221 272 193 275 145 172
238 172 221 272 193 275 172 357
238 357 221 272 193 275 193 Nada
238 357 221 272 – 275 221 Nada
238 357 – 272 – 275 238 Nada
– 357 – 272 – 275 272 Nada
– 357 – – – 275 275 Nada
– 357 – – – – 357 Nada
Finaliza la ultima particion en p2 =
{23, 60, 119, 145, 172, 193, 221, 238, 272, 275, 357}
3.25.2. Salida final
p1 = {30, 118, 133, 182, 290, 340, 353, 374, 376, 394};
p2 = {23, 60, 119, 145, 172, 193, 221, 238, 272, 275, 357}.
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.26 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 61: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 30, 118, 133, 182,290, 340, 353, 374,376, 394
23, 60, 119, 145, 172,193, 221, 238, 272,275, 357
–
Cuadro 62: Fase 1
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.26.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.26.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.27. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.27.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.27 Seleccion Natural con buffers de tamano 6 81
E1 E2 E3 S
D 30, 118, 133, 182,290, 340, 353, 374,376, 394
23, 60, 119, 145, 172,193, 221, 238, 272,275, 357
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 63: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 30
30 – – – – – – – – – – – Nada 290
30 290 – – – – – – – – – – Nada 182
30 290 182 – – – – – – – – – Nada 340
30 290 182 340 – – – – – – – – Nada 394
30 290 182 340 394 – – – – – – – Nada 133
30 290 182 340 394 133 – – – – – – 30 118
118 290 182 340 394 133 – – – – – – 118 374
374 290 182 340 394 133 – – – – – – 133 119
374 290 182 340 394 – 119 – – – – – Nada 353
374 290 182 340 394 353 119 – – – – – 182 376
374 290 376 340 394 353 119 – – – – – 290 272
374 – 376 340 394 353 119 272 – – – – Nada 221
374 – 376 340 394 353 119 272 221 – – – Nada 238
374 – 376 340 394 353 119 272 221 238 – – Nada 23
374 – 376 340 394 353 119 272 221 238 23 – Nada 60
374 – 376 340 394 353 119 272 221 238 23 60 340 Nada
374 – 376 – 394 353 119 272 221 238 23 60 353 Nada
374 – 376 – 394 – 119 272 221 238 23 60 374 Nada
– – 376 – 394 – 119 272 221 238 23 60 376 Nada
– – – – 394 – 119 272 221 238 23 60 394 Nada
119 272 221 238 23 60 – – – – – –
Nueva particion! Se cierra la particion p1 = {30, 118, 133, 182, 290, 340, 353, 374, 376, 394}23 145
119 272 221 238 145 60 – – – – – – 60 193
119 272 221 238 145 193 – – – – – – 119 275
275 272 221 238 145 193 – – – – – – 145 172
275 272 221 238 172 193 – – – – – – 172 357
275 272 221 238 357 193 – – – – – – 193 Nada
275 272 221 238 357 – – – – – – – 221 Nada
275 272 – 238 357 – – – – – – – 238 Nada
275 272 – – 357 – – – – – – – 272 Nada
275 – – – 357 – – – – – – – 275 Nada
– – – – 357 – – – – – – – 357 Nada
Finaliza la ultima particion en p2 = {23, 60, 119, 145, 172, 193, 221, 238, 272, 275, 357}
3.27.2. Salida final
p1 = {30, 118, 133, 182, 290, 340, 353, 374, 376, 394};
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.28 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 64: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 30, 118, 133, 182,290, 340, 353, 374,376, 394
23, 60, 119, 145, 172,193, 221, 238, 272,275, 357
–
Cuadro 65: Fase 1
p2 = {23, 60, 119, 145, 172, 193, 221, 238, 272, 275, 357}.
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.28.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.28.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.29 Bubble Sort ascendente 83
E1 E2 E3 S
D 30, 118, 133, 182,290, 340, 353, 374,376, 394
23, 60, 119, 145, 172,193, 221, 238, 272,275, 357
23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
S E2 E3 E1
– – – 23, 30, 60, 118, 119,133, 145, 172, 182,193, 221, 238, 272,275, 290, 340, 353,357, 374, 376, 394
Cuadro 66: Fase final
3.29. Bubble Sort ascendente
3.29.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 17/20
1 30 182 290 340 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 394 14/19
2 30 182 290 133 118 340 119 353 374 272 221 238 23 60 145 193 275 172 357 376 394 13/18
3 30 182 133 118 290 119 340 353 272 221 238 23 60 145 193 275 172 357 374 376 394 12/17
4 30 133 118 182 119 290 340 272 221 238 23 60 145 193 275 172 353 357 374 376 394 11/16
5 30 118 133 119 182 290 272 221 238 23 60 145 193 275 172 340 353 357 374 376 394 10/15
6 30 118 119 133 182 272 221 238 23 60 145 193 275 172 290 340 353 357 374 376 394 7/14
7 30 118 119 133 182 221 238 23 60 145 193 272 172 275 290 340 353 357 374 376 394 5/13
8 30 118 119 133 182 221 23 60 145 193 238 172 272 275 290 340 353 357 374 376 394 5/12
9 30 118 119 133 182 23 60 145 193 221 172 238 272 275 290 340 353 357 374 376 394 4/11
10 30 118 119 133 23 60 145 182 193 172 221 238 272 275 290 340 353 357 374 376 394 3/10
11 30 118 119 23 60 133 145 182 172 193 221 238 272 275 290 340 353 357 374 376 394 3/9
12 30 118 23 60 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 2/8
13 30 23 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 1/7
14 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/6
15 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/5
16 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/4
17 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/3
18 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/2
19 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/1
20 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.30 Bubble Sort descendente
3.30. Bubble Sort descendente
3.30.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 19/20
1 290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357 23 15/19
2 290 340 394 182 133 374 119 353 376 272 221 238 118 60 145 193 275 172 357 30 23 13/18
3 340 394 290 182 374 133 353 376 272 221 238 119 118 145 193 275 172 357 60 30 23 12/17
4 394 340 290 374 182 353 376 272 221 238 133 119 145 193 275 172 357 118 60 30 23 11/16
5 394 340 374 290 353 376 272 221 238 182 133 145 193 275 172 357 119 118 60 30 23 9/15
6 394 374 340 353 376 290 272 238 221 182 145 193 275 172 357 133 119 118 60 30 23 6/14
7 394 374 353 376 340 290 272 238 221 182 193 275 172 357 145 133 119 118 60 30 23 4/13
8 394 374 376 353 340 290 272 238 221 193 275 182 357 172 145 133 119 118 60 30 23 3/12
9 394 376 374 353 340 290 272 238 221 275 193 357 182 172 145 133 119 118 60 30 23 2/11
10 394 376 374 353 340 290 272 238 275 221 357 193 182 172 145 133 119 118 60 30 23 2/10
11 394 376 374 353 340 290 272 275 238 357 221 193 182 172 145 133 119 118 60 30 23 2/9
12 394 376 374 353 340 290 275 272 357 238 221 193 182 172 145 133 119 118 60 30 23 1/8
13 394 376 374 353 340 290 275 357 272 238 221 193 182 172 145 133 119 118 60 30 23 1/7
14 394 376 374 353 340 290 357 275 272 238 221 193 182 172 145 133 119 118 60 30 23 1/6
15 394 376 374 353 340 357 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 1/5
16 394 376 374 353 357 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 1/4
17 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/3
18 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/2
19 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/1
20 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/0
Enrique P. Calot Algoritmos y Programacion II
3.31 Bilateral Bubble Sort ascendente 85
3.31. Bilateral Bubble Sort ascendente
3.31.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 17/20
1 30 182 290 340 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 394 15/20
2 23 30 182 290 340 133 118 374 119 353 376 272 221 238 60 145 172 193 275 357 394 13/18
3 23 30 182 290 133 118 340 119 353 374 272 221 238 60 145 172 193 275 357 376 394 11/18
4 23 30 60 182 290 133 118 340 119 353 374 272 221 238 145 172 193 275 357 376 394 11/16
5 23 30 60 182 133 118 290 119 340 353 272 221 238 145 172 193 275 357 374 376 394 8/16
6 23 30 60 118 182 133 119 290 145 340 353 272 221 238 172 193 275 357 374 376 394 9/14
7 23 30 60 118 133 119 182 145 290 340 272 221 238 172 193 275 353 357 374 376 394 7/14
8 23 30 60 118 119 133 145 182 172 290 340 272 221 238 193 275 353 357 374 376 394 6/12
9 23 30 60 118 119 133 145 172 182 290 272 221 238 193 275 340 353 357 374 376 394 4/12
10 23 30 60 118 119 133 145 172 182 193 290 272 221 238 275 340 353 357 374 376 394 4/10
11 23 30 60 118 119 133 145 172 182 193 272 221 238 275 290 340 353 357 374 376 394 1/10
12 23 30 60 118 119 133 145 172 182 193 221 272 238 275 290 340 353 357 374 376 394 1/8
13 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/8
14 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/6
15 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/6
16 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/4
17 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/4
18 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/2
19 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/2
20 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.32 Bilateral Bubble Sort descendente
3.32. Bilateral Bubble Sort descendente
3.32.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 19/20
1 290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357 23 17/20
2 394 290 182 340 376 133 118 374 119 353 357 272 221 238 30 60 145 193 275 172 23 14/18
3 394 290 340 376 182 133 374 119 353 357 272 221 238 118 60 145 193 275 172 30 23 13/18
4 394 376 290 340 374 182 133 357 119 353 275 272 221 238 118 60 145 193 172 30 23 11/16
5 394 376 340 374 290 182 357 133 353 275 272 221 238 119 118 145 193 172 60 30 23 8/16
6 394 376 374 340 357 290 182 353 133 275 272 238 221 193 119 118 145 172 60 30 23 9/14
7 394 376 374 357 340 290 353 182 275 272 238 221 193 133 119 145 172 118 60 30 23 6/14
8 394 376 374 357 353 340 290 275 182 272 238 221 193 172 133 119 145 118 60 30 23 5/12
9 394 376 374 357 353 340 290 275 272 238 221 193 182 172 133 145 119 118 60 30 23 1/12
10 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/10
11 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/10
12 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/8
13 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/8
14 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/6
15 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/6
16 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/4
17 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/4
18 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/2
19 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/2
20 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 0/0
Enrique P. Calot Algoritmos y Programacion II
3.33 Selection Sort ascendente 87
3.33. Selection Sort ascendente
3.33.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 1/20
1 23 290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357 1/19
2 23 30 182 340 394 133 118 374 119 353 376 272 221 238 290 60 145 193 275 172 357 1/18
3 23 30 60 340 394 133 118 374 119 353 376 272 221 238 290 182 145 193 275 172 357 1/17
4 23 30 60 118 394 133 340 374 119 353 376 272 221 238 290 182 145 193 275 172 357 1/16
5 23 30 60 118 119 133 340 374 394 353 376 272 221 238 290 182 145 193 275 172 357 1/15
6 23 30 60 118 119 133 340 374 394 353 376 272 221 238 290 182 145 193 275 172 357 1/14
7 23 30 60 118 119 133 145 374 394 353 376 272 221 238 290 182 340 193 275 172 357 1/13
8 23 30 60 118 119 133 145 172 394 353 376 272 221 238 290 182 340 193 275 374 357 1/12
9 23 30 60 118 119 133 145 172 182 353 376 272 221 238 290 394 340 193 275 374 357 1/11
10 23 30 60 118 119 133 145 172 182 193 376 272 221 238 290 394 340 353 275 374 357 1/10
11 23 30 60 118 119 133 145 172 182 193 221 272 376 238 290 394 340 353 275 374 357 1/9
12 23 30 60 118 119 133 145 172 182 193 221 238 376 272 290 394 340 353 275 374 357 1/8
13 23 30 60 118 119 133 145 172 182 193 221 238 272 376 290 394 340 353 275 374 357 1/7
14 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 394 340 353 376 374 357 1/6
15 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 394 340 353 376 374 357 1/5
16 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 394 353 376 374 357 1/4
17 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 394 376 374 357 1/3
18 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 376 374 394 1/2
19 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 1/1
20 23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
88 3.34 Selection Sort descendente
3.34. Selection Sort descendente
3.34.1. Desarrollo
0 30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 1/20
1 394 290 182 340 30 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 1/19
2 394 376 182 340 30 133 118 374 119 353 290 272 221 238 23 60 145 193 275 172 357 1/18
3 394 376 374 340 30 133 118 182 119 353 290 272 221 238 23 60 145 193 275 172 357 1/17
4 394 376 374 357 30 133 118 182 119 353 290 272 221 238 23 60 145 193 275 172 340 1/16
5 394 376 374 357 353 133 118 182 119 30 290 272 221 238 23 60 145 193 275 172 340 1/15
6 394 376 374 357 353 340 118 182 119 30 290 272 221 238 23 60 145 193 275 172 133 1/14
7 394 376 374 357 353 340 290 182 119 30 118 272 221 238 23 60 145 193 275 172 133 1/13
8 394 376 374 357 353 340 290 275 119 30 118 272 221 238 23 60 145 193 182 172 133 1/12
9 394 376 374 357 353 340 290 275 272 30 118 119 221 238 23 60 145 193 182 172 133 1/11
10 394 376 374 357 353 340 290 275 272 238 118 119 221 30 23 60 145 193 182 172 133 1/10
11 394 376 374 357 353 340 290 275 272 238 221 119 118 30 23 60 145 193 182 172 133 1/9
12 394 376 374 357 353 340 290 275 272 238 221 193 118 30 23 60 145 119 182 172 133 1/8
13 394 376 374 357 353 340 290 275 272 238 221 193 182 30 23 60 145 119 118 172 133 1/7
14 394 376 374 357 353 340 290 275 272 238 221 193 182 172 23 60 145 119 118 30 133 1/6
15 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 60 23 119 118 30 133 1/5
16 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 23 119 118 30 60 1/4
17 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 23 118 30 60 1/3
18 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 23 30 60 1/2
19 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 1/1
20 394 376 374 357 353 340 290 275 272 238 221 193 182 172 145 133 119 118 60 30 23 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-07-19
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
30, 290, 182, 340, 394†, 133, 118, 374†, 119†, 353, 376†, 272, 221, 238, 23, 60†, 145,
193†, 275, 172, 357†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
b. Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elemento buscan elmınimo/maximo y lo congelan). Sin embargo el algoritmo Heap sort es mas veloz bajo ciertas condiciones.Deduzca que condiciones son y por que se vuelve mas veloz.
c. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
238, 221†, 275†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
d. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones ordenadastomadas del lote de datos.
e. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown), Quick Sort(hasta haber completado dos niveles de recursividad) y Radix Sort en orden ascendente (entero).
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 26 de Julio de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-07-26
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. c. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 82.3.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. d. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6. e. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.6.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3. Resolucion explayada 16
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 493.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 493.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 503.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 523.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 523.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 533.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 533.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.9. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 563.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 563.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 593.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 60
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.11.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 613.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.12. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 643.13.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 643.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.14. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 643.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 663.15.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 663.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.16. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 693.17.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 693.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.18. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.19. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 713.19.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 723.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.20. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 723.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 743.21.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 743.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.22. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 763.23.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 763.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.24. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 763.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 783.25.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.26. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 803.27.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.28. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.29. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.30. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.31. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.32. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.33. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
220, 38, 163, 388, 258†, 123, 140, 357†, 134†, 369, 291†, 43, 216, 191,
16, 209†, 154, 185†, 155, 306, 219†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
b. Procesar el B-tree cuyo rango valido de elementos por nodo es de 2 a 4 (1 a 4 en la raız) resultantede ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
191, 209†, 219†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
d. Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,se sabe que solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado enuna maquina con una memoria interna comparable a 2p2×sizeof(tElem). Dispone de las siguientessoluciones:
a) Sort externo: seleccion de reemplazo y merge polifasico
b) Sort externo: seleccion natural y merge polifasico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2 elementos ymerge polifasico
d) Sort interno: quick sort de pivoteo en el primer elemento
e) Sort interno: quick sort de pivoteo en el ultimo elemento
f ) Sort interno: bubble sort
g) Sort interno: heap sort
h) Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascen-dente (hacer al menos 1 swapdown).
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribir
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.1 a. Seleccion de reemplazo
muchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
2.1.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 b4 Sale Entra
– – – – Nada 220
220 – – – Nada 38
220 38 – – Nada 163
220 38 163 – Nada 388
220 38 163 388 38 258
220 258 163 388 163 123
220 258 123 388 220 140
140 258 123 388 258 357
140 357 123 388 357 134
140 134 123 388 388 369
140 134 123 369
Nueva particion! Se cierra la particion p1 =
{38, 163, 220, 258, 357, 388}123 291
140 134 291 369 134 43
140 43 291 369 140 216
216 43 291 369 216 191
191 43 291 369 291 16
191 43 16 369 369 209
191 43 16 209
Nueva particion! Se cierra la particion p2 =
{123, 134, 140, 216, 291, 369}16 154
191 43 154 209 43 185
191 185 154 209 154 155
191 185 155 209 155 306
191 185 306 209 185 219
191 219 306 209 191 Nada
– 219 306 209 209 Nada
– 219 306 – 219 Nada
– – 306 – 306 Nada
Finaliza la ultima particion en p3 =
{16, 43, 154, 155, 185, 191, 209, 219, 306}
2.1.2. Salida final
p1 = {38, 163, 220, 258, 357, 388};
Enrique P. Calot Algoritmos y Programacion II
2.2 b. Ejercicio de B-trees 7
p2 = {123, 134, 140, 216, 291, 369};
p3 = {16, 43, 154, 155, 185, 191, 209, 219, 306}.
2.2. b. Ejercicio de B-trees
Procesar el B-tree cuyo rango valido de elementos por nodo es de 2 a 4 (1 a 4 en la raız) resultantede ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
191, 209†, 219†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.2.1. Insercion
•220•
×38×163× ×258×388×
Insercion de 5 elementos: 220, 38, 163, 388, 258
•220•
×38×123×140×163× ×258×357×388×
Insercion de 3 elementos: 123, 140, 357
•134•220•
×38×123× ×140×163× ×258×357×388×
Insercion de 1 elemento: 134
•134•220•357•
×38×123× ×140×163× ×258×291× ×369×388×
Insercion de 2 elementos: 369, 291
•134•191•220•357•
×16×38×43×123× ×140×163× ×209×216× ×258×291× ×369×388×
Insercion de 5 elementos: 43, 216, 191, 16, 209
•134•191•220•357•
×16×38×43×123× ×140×154×163×185× ×209×216× ×258×291× ×369×388×
Insercion de 2 elementos: 154, 185
•191•
•134•155• •220•357•
×16×38×43×123× ×140×154× ×163×185× ×209×216×219× ×258×291×306× ×369×388×
Insercion de 3 elementos: 155, 306, 219
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.3 c. Merge Polifasico
2.2.2. Eliminacion
•134•155•220•357•
×16×38×43×123× ×140×154× ×163×185×216×219× ×258×291×306× ×369×388×
Eliminacion de 2 elementos: 191, 209
•134•155•220•357•
×16×38×43×123× ×140×154× ×163×185×216× ×258×291×306× ×369×388×
Eliminacion de 1 elemento: 219
2.3. c. Merge Polifasico
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
2.3.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.3.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.4. d. Pregunta teorica
Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,se sabe que solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado enuna maquina con una memoria interna comparable a 2p2 × sizeof(tElem). Dispone de las siguientessoluciones:
a. Sort externo: seleccion de reemplazo y merge polifasico
b. Sort externo: seleccion natural y merge polifasico
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
2.4 d. Pregunta teorica 9
E1 E2 E3 S
D D D –D D D –D D D –D 220 38 –163 388 258 –123 140 357 –134 369 291 –43 216 – –191 16 – –209 154 – –185 155 – –306 – – –219 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 220 38 38, 220163 388 258 163, 258, 388123 140 357 123, 140, 357134 369 291 134, 291, 369
E1 E2 S E3
43 216 – D
191 16 – D
209 154 – D
185 155 – 38, 220306 – – 163, 258, 388219 – – 123, 140, 357– – – 134, 291, 369
Cuadro 3: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.5 e. Radix Sort
E1 E2 E3 S
D D D D
D D D D
D D D D
D 220 38 38, 220163 388 258 163, 258, 388123 140 357 123, 140, 357134 369 291 134, 291, 369
E1 E2 S E3
43 216 43, 216 D
191 16 16, 191 D
209 154 154, 209 D
185 155 38, 155, 185, 220 38, 220
E1 S E2 E3
306 – 43, 216 163, 258, 388219 – 16, 191 123, 140, 357– – 154, 209 134, 291, 369– – 38, 155, 185, 220 –
Cuadro 4: Fase 3
c. Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2 elementos y merge
polifasico
d. Sort interno: quick sort de pivoteo en el primer elemento
e. Sort interno: quick sort de pivoteo en el ultimo elemento
f. Sort interno: bubble sort
g. Sort interno: heap sort
h. Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
2.4.1. Respuesta
La mejor solucion es bubble sort, porque en como maximo 3 recorridas (3p comparaciones) se garantizael ordenamiento (del orden de O(p)), el sort externo queda descartado porque es menos optimo y el internose puede utilizar (la informacion entra en la memoria interna y se encuentra disponible), selection sort sedescarta por ser de orden O(p2) (incluso si el arreglo esta semi-ordenado), heap sort es de orden O(p log p)y ambas implementaciones de quick sort resultan ineficientes para un arreglo semi-ordenado (en este casoserıan casi de orden O(p2)).
2.5. e. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
Enrique P. Calot Algoritmos y Programacion II
2.5 e. Radix Sort 11
E1 E2 E3 S
D D D D
D D D D
D D D D
D 220 38 38, 220163 388 258 163, 258, 388123 140 357 123, 140, 357134 369 291 134, 291, 369
E1 E2 S E3
43 216 43, 216 D
191 16 16, 191 D
209 154 154, 209 D
185 155 38, 155, 185, 220 38, 220
E1 S E2 E3
306 43, 163, 216, 258,306, 388
43, 216 163, 258, 388
219 16, 123, 140, 191,219, 357
16, 191 123, 140, 357
S E1 E2 E3
– 43, 163, 216, 258,306, 388
154, 209 134, 291, 369
– 16, 123, 140, 191,219, 357
38, 155, 185, 220 –
Cuadro 5: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.5 e. Radix Sort
E1 E2 E3 S
D D D D
D D D D
D D D D
D 220 38 38, 220163 388 258 163, 258, 388123 140 357 123, 140, 357134 369 291 134, 291, 369
E1 E2 S E3
43 216 43, 216 D
191 16 16, 191 D
209 154 154, 209 D
185 155 38, 155, 185, 220 38, 220
E1 S E2 E3
306 43, 163, 216, 258,306, 388
43, 216 163, 258, 388
219 16, 123, 140, 191,219, 357
16, 191 123, 140, 357
S E1 E2 E3
43, 134, 154, 163,209, 216, 258, 291,306, 369, 388
43, 163, 216, 258,306, 388
154, 209 134, 291, 369
E3 E1 E2 S
43, 134, 154, 163,209, 216, 258, 291,306, 369, 388
16, 123, 140, 191,219, 357
38, 155, 185, 220 –
Cuadro 6: Fase 5
Enrique P. Calot Algoritmos y Programacion II
2.5 e. Radix Sort 13
E1 E2 E3 S
D D D D
D D D D
D D D D
D 220 38 38, 220163 388 258 163, 258, 388123 140 357 123, 140, 357134 369 291 134, 291, 369
E1 E2 S E3
43 216 43, 216 D
191 16 16, 191 D
209 154 154, 209 D
185 155 38, 155, 185, 220 38, 220
E1 S E2 E3
306 43, 163, 216, 258,306, 388
43, 216 163, 258, 388
219 16, 123, 140, 191,219, 357
16, 191 123, 140, 357
S E1 E2 E3
43, 134, 154, 163,209, 216, 258, 291,306, 369, 388
43, 163, 216, 258,306, 388
154, 209 134, 291, 369
E3 E1 E2 S
43, 134, 154, 163,209, 216, 258, 291,306, 369, 388
16, 123, 140, 191,219, 357
38, 155, 185, 220 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E1 E2 E3
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 7: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
14 2.6 e. Heap Sort
2.5.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Paso 0 Paso 1 Paso 2 Paso 3220 220 306 016038 140 209 038163 291 216 043388 191 016 123258 163 219 134123 123 220 140140 043 123 154357 134 134 155134 154 038 163369 185 140 185291 155 043 191043 216 154 209216 016 155 216191 306 357 219016 357 258 220209 038 163 258154 388 369 291185 258 185 306155 369 388 357306 209 291 369219 219 191 388
2.6. e. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
2.6.1. Arbol inicial
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219
Arbol inicial y su vector asociado
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Heap Sort 15
Heapfy paso 0
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291
43 216 191 16 209 154 185 155 306 219
Heapfy paso 1
220
38 163
388 258 123 140
357 185 369 291 43 216 191 16
209 154 134 155 306 219
Vector:
220 38 163 388 258 123 140 357 185 369 291
43 216 191 16 209 154 134 155 306 219
Heapfy paso 2
220
38 163
388 369 216 191
357 185 306 291 43 123 140 16
209 154 134 155 258 219
Vector:
220 38 163 388 369 216 191 357 185 306 291
43 123 140 16 209 154 134 155 258 219
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
16 3 Resolucion explayada
220
388 216
357 369 163 191
209 185 306 291 43 123 140 16
38 154 134 155 258 219
Vector:
220 388 216 357 369 163 191 209 185 306 291
43 123 140 16 38 154 134 155 258 219
Heapfy paso 4
388
369 216
357 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 220 219
Vector:
388 369 216 357 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 220 219
219
369 216
357 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 220 388
Vector:
219 369 216 357 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 220 388
Paso 1: ultimo congelado pedido antes del corte
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
Enrique P. Calot Algoritmos y Programacion II
3.1 Radix Sort descendente 17
podra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Paso 0 Paso 1 Paso 2 Paso 3220 369 291 388038 209 191 369163 219 388 357388 038 185 306258 388 369 291123 258 163 258140 357 258 220357 216 357 219134 016 155 216369 306 154 209291 185 043 191043 155 140 185216 134 038 163191 154 134 155016 163 123 154209 123 220 140154 043 219 134185 291 216 123155 191 016 043306 220 209 038219 140 306 016
3.2. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
3.2.1. Desarrollo
Paso 1 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219
Paso 2 16 38 163 219 155 123 140 185 134 154 209 43 216 191 220 291 369 357 258 306 388
Paso 3 16 38 163 219 155 123 140 185 134 154 209 43 216 191 258 291 357 369 306 388
Paso 4 38 163 219 155 123 140 185 134 154 209 43 216 191 306 357 369 388
Paso 5 134 43 155 123 140 154 163 185 209 219 216 191 369 388
Paso 6 123 43 134 155 140 154 185 209 219 216 191
Paso 7 43 123 154 140 155 191 209 216 219
Final 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291
43 216 191 16 209 154 185 155 306 219
Heapfy paso 1
220
38 163
388 258 123 140
357 185 369 291 43 216 191 16
209 154 134 155 306 219
Vector:
220 38 163 388 258 123 140 357 185 369 291
43 216 191 16 209 154 134 155 306 219
Heapfy paso 2
220
38 163
388 369 216 191
357 185 306 291 43 123 140 16
209 154 134 155 258 219
Vector:
220 38 163 388 369 216 191 357 185 306 291
43 123 140 16 209 154 134 155 258 219
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
220
388 216
357 369 163 191
209 185 306 291 43 123 140 16
38 154 134 155 258 219
Vector:
220 388 216 357 369 163 191 209 185 306 291
43 123 140 16 38 154 134 155 258 219
Heapfy paso 4
388
369 216
357 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 220 219
Vector:
388 369 216 357 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 220 219
Intercambio y congelamiento
219
369 216
357 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 220 388
Vector:
219 369 216 357 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 220 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
369
357 216
219 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 220 388
Vector:
369 357 216 219 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 220 388
Intercambio y congelamiento
220
357 216
219 306 163 191
209 185 258 291 43 123 140 16
38 154 134 155 369 388
Vector:
220 357 216 219 306 163 191 209 185 258 291
43 123 140 16 38 154 134 155 369 388
Swapdown
357
306 216
219 291 163 191
209 185 258 220 43 123 140 16
38 154 134 155 369 388
Vector:
357 306 216 219 291 163 191 209 185 258 220
43 123 140 16 38 154 134 155 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
155
306 216
219 291 163 191
209 185 258 220 43 123 140 16
38 154 134 357 369 388
Vector:
155 306 216 219 291 163 191 209 185 258 220
43 123 140 16 38 154 134 357 369 388
Swapdown
306
291 216
219 258 163 191
209 185 155 220 43 123 140 16
38 154 134 357 369 388
Vector:
306 291 216 219 258 163 191 209 185 155 220
43 123 140 16 38 154 134 357 369 388
Intercambio y congelamiento
134
291 216
219 258 163 191
209 185 155 220 43 123 140 16
38 154 306 357 369 388
Vector:
134 291 216 219 258 163 191 209 185 155 220
43 123 140 16 38 154 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
291
258 216
219 220 163 191
209 185 155 134 43 123 140 16
38 154 306 357 369 388
Vector:
291 258 216 219 220 163 191 209 185 155 134
43 123 140 16 38 154 306 357 369 388
Intercambio y congelamiento
154
258 216
219 220 163 191
209 185 155 134 43 123 140 16
38 291 306 357 369 388
Vector:
154 258 216 219 220 163 191 209 185 155 134
43 123 140 16 38 291 306 357 369 388
Swapdown
258
220 216
219 155 163 191
209 185 154 134 43 123 140 16
38 291 306 357 369 388
Vector:
258 220 216 219 155 163 191 209 185 154 134
43 123 140 16 38 291 306 357 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
38
220 216
219 155 163 191
209 185 154 134 43 123 140 16
258 291 306 357 369 388
Vector:
38 220 216 219 155 163 191 209 185 154 134
43 123 140 16 258 291 306 357 369 388
Swapdown
220
219 216
209 155 163 191
38 185 154 134 43 123 140 16
258 291 306 357 369 388
Vector:
220 219 216 209 155 163 191 38 185 154 134
43 123 140 16 258 291 306 357 369 388
Intercambio y congelamiento
16
219 216
209 155 163 191
38 185 154 134 43 123 140 220
258 291 306 357 369 388
Vector:
16 219 216 209 155 163 191 38 185 154 134
43 123 140 220 258 291 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
219
209 216
185 155 163 191
38 16 154 134 43 123 140 220
258 291 306 357 369 388
Vector:
219 209 216 185 155 163 191 38 16 154 134
43 123 140 220 258 291 306 357 369 388
Intercambio y congelamiento
140
209 216
185 155 163 191
38 16 154 134 43 123 219 220
258 291 306 357 369 388
Vector:
140 209 216 185 155 163 191 38 16 154 134
43 123 219 220 258 291 306 357 369 388
Swapdown
216
209 191
185 155 163 140
38 16 154 134 43 123 219 220
258 291 306 357 369 388
Vector:
216 209 191 185 155 163 140 38 16 154 134
43 123 219 220 258 291 306 357 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
123
209 191
185 155 163 140
38 16 154 134 43 216 219 220
258 291 306 357 369 388
Vector:
123 209 191 185 155 163 140 38 16 154 134
43 216 219 220 258 291 306 357 369 388
Swapdown
209
185 191
123 155 163 140
38 16 154 134 43 216 219 220
258 291 306 357 369 388
Vector:
209 185 191 123 155 163 140 38 16 154 134
43 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
43
185 191
123 155 163 140
38 16 154 134 209 216 219 220
258 291 306 357 369 388
Vector:
43 185 191 123 155 163 140 38 16 154 134
209 216 219 220 258 291 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
191
185 163
123 155 43 140
38 16 154 134 209 216 219 220
258 291 306 357 369 388
Vector:
191 185 163 123 155 43 140 38 16 154 134
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
134
185 163
123 155 43 140
38 16 154 191 209 216 219 220
258 291 306 357 369 388
Vector:
134 185 163 123 155 43 140 38 16 154 191
209 216 219 220 258 291 306 357 369 388
Swapdown
185
155 163
123 154 43 140
38 16 134 191 209 216 219 220
258 291 306 357 369 388
Vector:
185 155 163 123 154 43 140 38 16 134 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
134
155 163
123 154 43 140
38 16 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
134 155 163 123 154 43 140 38 16 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
163
155 140
123 154 43 134
38 16 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
163 155 140 123 154 43 134 38 16 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
16
155 140
123 154 43 134
38 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 155 140 123 154 43 134 38 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
155
154 140
123 16 43 134
38 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
155 154 140 123 16 43 134 38 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
38
154 140
123 16 43 134
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
38 154 140 123 16 43 134 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
154
123 140
38 16 43 134
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
154 123 140 38 16 43 134 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.3 Heap Sort completo
134
123 140
38 16 43 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
134 123 140 38 16 43 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
140
123 134
38 16 43 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
140 123 134 38 16 43 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
43
123 134
38 16 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
43 123 134 38 16 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 31
134
123 43
38 16 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
134 123 43 38 16 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
16
123 43
38 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 123 43 38 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
123
38 43
16 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
123 38 43 16 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.3 Heap Sort completo
16
38 43
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 38 43 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
43
38 16
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
43 38 16 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
16
38 43
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 38 43 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
38
16 43
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
38 16 43 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Intercambio y congelamiento
16
38 43
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 38 43 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
Swapdown
16
38 43
123 134 140 154
155 163 185 191 209 216 219 220
258 291 306 357 369 388
Vector:
16 38 43 123 134 140 154 155 163 185 191
209 216 219 220 258 291 306 357 369 388
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
3.4.1. Arbol inicial
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219
Arbol inicial y su vector asociadoHeapfy paso 0
220
38 163
388 258 123 140
357 134 369 291 43 216 191 16
209 154 185 155 306 219
Vector:
220 38 163 388 258 123 140 357 134 369 291
43 216 191 16 209 154 185 155 306 219
Heapfy paso 1
220
38 163
388 258 123 140
154 134 219 291 43 216 191 16
209 357 185 155 306 369
Vector:
220 38 163 388 258 123 140 154 134 219 291
43 216 191 16 209 357 185 155 306 369
Heapfy paso 2
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
220
38 163
134 219 43 16
154 155 258 291 123 216 191 140
209 357 185 388 306 369
Vector:
220 38 163 134 219 43 16 154 155 258 291
123 216 191 140 209 357 185 388 306 369
Heapfy paso 3
220
38 16
134 219 43 140
154 155 258 291 123 216 191 163
209 357 185 388 306 369
Vector:
220 38 16 134 219 43 140 154 155 258 291
123 216 191 163 209 357 185 388 306 369
Heapfy paso 4
16
38 43
134 219 123 140
154 155 258 291 220 216 191 163
209 357 185 388 306 369
Vector:
16 38 43 134 219 123 140 154 155 258 291
220 216 191 163 209 357 185 388 306 369
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
369
38 43
134 219 123 140
154 155 258 291 220 216 191 163
209 357 185 388 306 16
Vector:
369 38 43 134 219 123 140 154 155 258 291
220 216 191 163 209 357 185 388 306 16
Swapdown
38
134 43
154 219 123 140
209 155 258 291 220 216 191 163
369 357 185 388 306 16
Vector:
38 134 43 154 219 123 140 209 155 258 291
220 216 191 163 369 357 185 388 306 16
Intercambio y congelamiento
306
134 43
154 219 123 140
209 155 258 291 220 216 191 163
369 357 185 388 38 16
Vector:
306 134 43 154 219 123 140 209 155 258 291
220 216 191 163 369 357 185 388 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
43
134 123
154 219 216 140
209 155 258 291 220 306 191 163
369 357 185 388 38 16
Vector:
43 134 123 154 219 216 140 209 155 258 291
220 306 191 163 369 357 185 388 38 16
Intercambio y congelamiento
388
134 123
154 219 216 140
209 155 258 291 220 306 191 163
369 357 185 43 38 16
Vector:
388 134 123 154 219 216 140 209 155 258 291
220 306 191 163 369 357 185 43 38 16
Swapdown
123
134 140
154 219 216 163
209 155 258 291 220 306 191 388
369 357 185 43 38 16
Vector:
123 134 140 154 219 216 163 209 155 258 291
220 306 191 388 369 357 185 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
185
134 140
154 219 216 163
209 155 258 291 220 306 191 388
369 357 123 43 38 16
Vector:
185 134 140 154 219 216 163 209 155 258 291
220 306 191 388 369 357 123 43 38 16
Swapdown
134
154 140
155 219 216 163
209 185 258 291 220 306 191 388
369 357 123 43 38 16
Vector:
134 154 140 155 219 216 163 209 185 258 291
220 306 191 388 369 357 123 43 38 16
Intercambio y congelamiento
357
154 140
155 219 216 163
209 185 258 291 220 306 191 388
369 134 123 43 38 16
Vector:
357 154 140 155 219 216 163 209 185 258 291
220 306 191 388 369 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
140
154 163
155 219 216 191
209 185 258 291 220 306 357 388
369 134 123 43 38 16
Vector:
140 154 163 155 219 216 191 209 185 258 291
220 306 357 388 369 134 123 43 38 16
Intercambio y congelamiento
369
154 163
155 219 216 191
209 185 258 291 220 306 357 388
140 134 123 43 38 16
Vector:
369 154 163 155 219 216 191 209 185 258 291
220 306 357 388 140 134 123 43 38 16
Swapdown
154
155 163
185 219 216 191
209 369 258 291 220 306 357 388
140 134 123 43 38 16
Vector:
154 155 163 185 219 216 191 209 369 258 291
220 306 357 388 140 134 123 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
388
155 163
185 219 216 191
209 369 258 291 220 306 357 154
140 134 123 43 38 16
Vector:
388 155 163 185 219 216 191 209 369 258 291
220 306 357 154 140 134 123 43 38 16
Swapdown
155
185 163
209 219 216 191
388 369 258 291 220 306 357 154
140 134 123 43 38 16
Vector:
155 185 163 209 219 216 191 388 369 258 291
220 306 357 154 140 134 123 43 38 16
Intercambio y congelamiento
357
185 163
209 219 216 191
388 369 258 291 220 306 155 154
140 134 123 43 38 16
Vector:
357 185 163 209 219 216 191 388 369 258 291
220 306 155 154 140 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
163
185 191
209 219 216 357
388 369 258 291 220 306 155 154
140 134 123 43 38 16
Vector:
163 185 191 209 219 216 357 388 369 258 291
220 306 155 154 140 134 123 43 38 16
Intercambio y congelamiento
306
185 191
209 219 216 357
388 369 258 291 220 163 155 154
140 134 123 43 38 16
Vector:
306 185 191 209 219 216 357 388 369 258 291
220 163 155 154 140 134 123 43 38 16
Swapdown
185
209 191
306 219 216 357
388 369 258 291 220 163 155 154
140 134 123 43 38 16
Vector:
185 209 191 306 219 216 357 388 369 258 291
220 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
220
209 191
306 219 216 357
388 369 258 291 185 163 155 154
140 134 123 43 38 16
Vector:
220 209 191 306 219 216 357 388 369 258 291
185 163 155 154 140 134 123 43 38 16
Swapdown
191
209 216
306 219 220 357
388 369 258 291 185 163 155 154
140 134 123 43 38 16
Vector:
191 209 216 306 219 220 357 388 369 258 291
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
291
209 216
306 219 220 357
388 369 258 191 185 163 155 154
140 134 123 43 38 16
Vector:
291 209 216 306 219 220 357 388 369 258 191
185 163 155 154 140 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
209
219 216
306 258 220 357
388 369 291 191 185 163 155 154
140 134 123 43 38 16
Vector:
209 219 216 306 258 220 357 388 369 291 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
291
219 216
306 258 220 357
388 369 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
291 219 216 306 258 220 357 388 369 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
216
219 220
306 258 291 357
388 369 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
216 219 220 306 258 291 357 388 369 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
369
219 220
306 258 291 357
388 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
369 219 220 306 258 291 357 388 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
219
258 220
306 369 291 357
388 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
219 258 220 306 369 291 357 388 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
388
258 220
306 369 291 357
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
388 258 220 306 369 291 357 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 45
220
258 291
306 369 388 357
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
220 258 291 306 369 388 357 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
357
258 291
306 369 388 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
357 258 291 306 369 388 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
258
306 291
357 369 388 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
258 306 291 357 369 388 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.4 Heap Sort descendente
388
306 291
357 369 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
388 306 291 357 369 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
291
306 388
357 369 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
291 306 388 357 369 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
369
306 388
357 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
369 306 388 357 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 47
306
357 388
369 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
306 357 388 369 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
369
357 388
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
369 357 388 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
357
369 388
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
357 369 388 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.4 Heap Sort descendente
388
369 357
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
388 369 357 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
369
388 357
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
369 388 357 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Intercambio y congelamiento
388
369 357
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
388 369 357 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion de reemplazo 49
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 8: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 163, 220, 258,357, 388
123, 134, 140, 216,291, 369
16, 43, 154, 155, 185,191, 209, 219, 306
–
Cuadro 9: Fase 1
388
369 357
306 291 258 220
219 216 209 191 185 163 155 154
140 134 123 43 38 16
Vector:
388 369 357 306 291 258 220 219 216 209 191
185 163 155 154 140 134 123 43 38 16
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {38, 163, 220, 258, 388}; p2 = {123, 140, 357}; . . . ; p6 = {154, 185}; p7 = {155, 219, 306}.
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.6 Merge Polifasico de las particiones marcadas
E1 E2 E3 S
38, 163, 220, 258,357, 388
123, 134, 140, 216,291, 369
16, 43, 154, 155, 185,191, 209, 219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 10: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 11: Calculo de la distribucion de columnas y dummies
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
E1 E2 E3 S
D D 38, 163, 220, 258, 388 –123, 140, 357 134 291, 369 –16, 43, 191, 209, 216 154, 185 – –155, 219, 306 – – –
Cuadro 12: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.6 Merge Polifasico de las particiones marcadas 51
E1 E2 E3 S
D D 38, 163, 220, 258, 388 38, 163, 220, 258, 388123, 140, 357 134 291, 369 123, 134, 140, 291,
357, 369
E1 E2 S E3
16, 43, 191, 209, 216 154, 185 – 38, 163, 220, 258, 388155, 219, 306 – – 123, 134, 140, 291,
357, 369
Cuadro 13: Fase 2
E1 E2 E3 S
D D 38, 163, 220, 258, 388 38, 163, 220, 258, 388123, 140, 357 134 291, 369 123, 134, 140, 291,
357, 369
E1 E2 S E3
16, 43, 191, 209, 216 154, 185 16, 38, 43, 154, 163,185, 191, 209, 216,220, 258, 388
38, 163, 220, 258, 388
E1 S E2 E3
155, 219, 306 – 16, 38, 43, 154, 163,185, 191, 209, 216,220, 258, 388
123, 134, 140, 291,357, 369
Cuadro 14: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.7 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D 38, 163, 220, 258, 388 38, 163, 220, 258, 388123, 140, 357 134 291, 369 123, 134, 140, 291,
357, 369
E1 E2 S E3
16, 43, 191, 209, 216 154, 185 16, 38, 43, 154, 163,185, 191, 209, 216,220, 258, 388
38, 163, 220, 258, 388
E1 S E2 E3
155, 219, 306 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
16, 38, 43, 154, 163,185, 191, 209, 216,220, 258, 388
123, 134, 140, 291,357, 369
S E1 E2 E3
– 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
– –
Cuadro 15: Fase final
3.7. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {38, 220}; p2 = {163, 388}; . . . ; p10 = {155, 306}; p11 = {219}.
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 16: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 53
E1 E2 E3 S
D D D –D D D –38, 220 163, 388 123, 258 –140, 357 134, 369 43, 291 –191, 216 16, 209 – –154, 185 155, 306 – –219 – – –
Cuadro 17: Fase 1
E1 E2 E3 S
D D D D
D D D D
38, 220 163, 388 123, 258 38, 123, 163, 220,258, 388
140, 357 134, 369 43, 291 43, 134, 140, 291,357, 369
E1 E2 S E3
191, 216 16, 209 – D
154, 185 155, 306 – D
219 – – 38, 123, 163, 220,258, 388
– – – 43, 134, 140, 291,357, 369
Cuadro 18: Fase 2
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {38, 163, 220}; p2 = {123, 258, 388}; . . . ; p6 = {154, 185, 209}; p7 = {155, 219, 306}.
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.8 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
38, 220 163, 388 123, 258 38, 123, 163, 220,258, 388
140, 357 134, 369 43, 291 43, 134, 140, 291,357, 369
E1 E2 S E3
191, 216 16, 209 16, 191, 209, 216 D
154, 185 155, 306 154, 155, 185, 306 D
E1 S E2 E3
219 – 16, 191, 209, 216 38, 123, 163, 220,258, 388
– – 154, 155, 185, 306 43, 134, 140, 291,357, 369
Cuadro 19: Fase 3
E1 E2 E3 S
D D D D
D D D D
38, 220 163, 388 123, 258 38, 123, 163, 220,258, 388
140, 357 134, 369 43, 291 43, 134, 140, 291,357, 369
E1 E2 S E3
191, 216 16, 209 16, 191, 209, 216 D
154, 185 155, 306 154, 155, 185, 306 D
E1 S E2 E3
219 16, 38, 123, 163, 191,209, 216, 219, 220,258, 388
16, 191, 209, 216 38, 123, 163, 220,258, 388
S E1 E2 E3
– 16, 38, 123, 163, 191,209, 216, 219, 220,258, 388
154, 155, 185, 306 43, 134, 140, 291,357, 369
Cuadro 20: Fase 4
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 3 elementos 55
E1 E2 E3 S
D D D D
D D D D
38, 220 163, 388 123, 258 38, 123, 163, 220,258, 388
140, 357 134, 369 43, 291 43, 134, 140, 291,357, 369
E1 E2 S E3
191, 216 16, 209 16, 191, 209, 216 D
154, 185 155, 306 154, 155, 185, 306 D
E1 S E2 E3
219 16, 38, 123, 163, 191,209, 216, 219, 220,258, 388
16, 191, 209, 216 38, 123, 163, 220,258, 388
S E1 E2 E3
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
16, 38, 123, 163, 191,209, 216, 219, 220,258, 388
154, 155, 185, 306 43, 134, 140, 291,357, 369
E1 S E2 E3
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
– – –
Cuadro 21: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 22: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.9 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D 38, 163, 220 –123, 258, 388 134, 140, 357 43, 291, 369 –16, 191, 216 154, 185, 209 – –155, 219, 306 – – –
Cuadro 23: Fase 1
E1 E2 E3 S
D D 38, 163, 220 38, 163, 220123, 258, 388 134, 140, 357 43, 291, 369 43, 123, 134, 140,
258, 291, 357, 369,388
E1 E2 S E3
16, 191, 216 154, 185, 209 – 38, 163, 220155, 219, 306 – – 43, 123, 134, 140,
258, 291, 357, 369,388
Cuadro 24: Fase 2
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {38, 163, 220, 388}; p2 = {123, 140, 258, 357}; p3 = {43, 134, 291, 369}; p4 ={16, 191, 209, 216}; p5 = {154, 155, 185, 306}; p6 = {219}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 4 elementos 57
E1 E2 E3 S
D D 38, 163, 220 38, 163, 220123, 258, 388 134, 140, 357 43, 291, 369 43, 123, 134, 140,
258, 291, 357, 369,388
E1 E2 S E3
16, 191, 216 154, 185, 209 16, 38, 154, 163, 185,191, 209, 216, 220
38, 163, 220
E1 S E2 E3
155, 219, 306 – 16, 38, 154, 163, 185,191, 209, 216, 220
43, 123, 134, 140,258, 291, 357, 369,388
Cuadro 25: Fase 3
E1 E2 E3 S
D D 38, 163, 220 38, 163, 220123, 258, 388 134, 140, 357 43, 291, 369 43, 123, 134, 140,
258, 291, 357, 369,388
E1 E2 S E3
16, 191, 216 154, 185, 209 16, 38, 154, 163, 185,191, 209, 216, 220
38, 163, 220
E1 S E2 E3
155, 219, 306 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
16, 38, 154, 163, 185,191, 209, 216, 220
43, 123, 134, 140,258, 291, 357, 369,388
S E1 E2 E3
– 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
– –
Cuadro 26: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 27: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.9 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D –38, 163, 220, 388 123, 140, 258, 357 43, 134, 291, 369 –16, 191, 209, 216 154, 155, 185, 306 – –219 – – –
Cuadro 28: Fase 1
E1 E2 E3 S
D D D D
38, 163, 220, 388 123, 140, 258, 357 43, 134, 291, 369 38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
16, 191, 209, 216 154, 155, 185, 306 – D
219 – – 38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
Cuadro 29: Fase 2
E1 E2 E3 S
D D D D
38, 163, 220, 388 123, 140, 258, 357 43, 134, 291, 369 38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
16, 191, 209, 216 154, 155, 185, 306 16, 154, 155, 185,191, 209, 216, 306
D
E1 S E2 E3
219 – 16, 154, 155, 185,191, 209, 216, 306
38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
Cuadro 30: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D D D
38, 163, 220, 388 123, 140, 258, 357 43, 134, 291, 369 38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
16, 191, 209, 216 154, 155, 185, 306 16, 154, 155, 185,191, 209, 216, 306
D
E1 S E2 E3
219 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
16, 154, 155, 185,191, 209, 216, 306
38, 43, 123, 134, 140,163, 220, 258, 291,357, 369, 388
S E1 E2 E3
– 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
– –
Cuadro 31: Fase final
3.10. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
3.10.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
b1 b2 Sale Entra
– – Nada 220
220 – Nada 38
220 38 38 163
220 163 163 388
220 388 220 258
258 388 258 123
123 388 388 140
123 140
Nueva particion! Se cierra la particion p1 = {38, 163, 220, 258, 388}123 357
357 140 140 134
357 134 357 369
369 134 369 291
291 134
Nueva particion! Se cierra la particion p2 = {123, 140, 357, 369}134 43
291 43 291 216
216 43
Nueva particion! Se cierra la particion p3 = {134, 291}43 191
216 191 191 16
216 16 216 209
209 16
Nueva particion! Se cierra la particion p4 = {43, 191, 216}16 154
209 154 154 185
209 185 185 155
209 155 209 306
306 155 306 219
219 155
Nueva particion! Se cierra la particion p5 = {16, 154, 185, 209, 306}155 Nada
219 – 219 Nada
Finaliza la ultima particion en p6 = {155, 219}
3.10.2. Salida final
p1 = {38, 163, 220, 258, 388};
p2 = {123, 140, 357, 369};
p3 = {134, 291};
p4 = {43, 191, 216};
p5 = {16, 154, 185, 209, 306};
p6 = {155, 219}.
3.11. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.12 Seleccion Natural con buffers de tamano 2 61
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 32: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –38, 163, 220, 258, 388 123, 140, 357, 369 134, 291 –43, 191, 216 16, 154, 185, 209, 306 – –155, 219 – – –
Cuadro 33: Fase 1
3.11.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.11.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.12. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
38, 163, 220, 258, 388 123, 140, 357, 369 134, 291 38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
43, 191, 216 16, 154, 185, 209, 306 – D
155, 219 – – 38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
Cuadro 34: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.12 Seleccion Natural con buffers de tamano 2
E1 E2 E3 S
D D D D
38, 163, 220, 258, 388 123, 140, 357, 369 134, 291 38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
43, 191, 216 16, 154, 185, 209, 306 16, 43, 154, 185, 191,209, 216, 306
D
E1 S E2 E3
155, 219 – 16, 43, 154, 185, 191,209, 216, 306
38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
Cuadro 35: Fase 3
E1 E2 E3 S
D D D D
38, 163, 220, 258, 388 123, 140, 357, 369 134, 291 38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
43, 191, 216 16, 154, 185, 209, 306 16, 43, 154, 185, 191,209, 216, 306
D
E1 S E2 E3
155, 219 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
16, 43, 154, 185, 191,209, 216, 306
38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
S E1 E2 E3
– 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
– –
Cuadro 36: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.12 Seleccion Natural con buffers de tamano 2 63
3.12.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 220
220 – – – Nada 38
220 38 – – 38 163
220 163 – – 163 388
220 388 – – 220 258
258 388 – – 258 123
– 388 123 – Nada 140
– 388 123 140 388 Nada
123 140 – –
Nueva particion! Se cierra la particion p1 = {38, 163, 220, 258, 388}123 357
357 140 – – 140 134
357 – 134 – Nada 369
357 369 134 – 357 291
– 369 134 291 369 Nada
134 291 – –
Nueva particion! Se cierra la particion p2 = {123, 140, 357, 369}134 43
– 291 43 – Nada 216
216 291 43 – 216 191
– 291 43 191 291 Nada
43 191 – –
Nueva particion! Se cierra la particion p3 = {134, 216, 291}43 16
– 191 16 – Nada 209
209 191 16 – 191 154
209 – 16 154 209 Nada
16 154 – –
Nueva particion! Se cierra la particion p4 = {43, 191, 209}16 185
185 154 – – 154 155
185 155 – – 155 306
185 306 – – 185 219
219 306 – – 219 Nada
– 306 – – 306 Nada
Finaliza la ultima particion en p5 = {16, 154, 155, 185, 219, 306}
3.12.2. Salida final
p1 = {38, 163, 220, 258, 388};
p2 = {123, 140, 357, 369};
p3 = {134, 216, 291};
p4 = {43, 191, 209};
p5 = {16, 154, 155, 185, 219, 306}.
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 37: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 163, 220, 258, 388 123, 140, 357, 369 134, 216, 291 –43, 191, 209 16, 154, 155, 185,
219, 306– –
Cuadro 38: Fase 1
3.13. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.13.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.13.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
3.14. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
E1 E2 E3 S
38, 163, 220, 258, 388 123, 140, 357, 369 134, 216, 291 38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
E1 E2 S E3
43, 191, 209 16, 154, 155, 185,219, 306
– 38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
Cuadro 39: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.14 Seleccion de reemplazo con buffer de tamano 3 65
E1 E2 E3 S
38, 163, 220, 258, 388 123, 140, 357, 369 134, 216, 291 38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
E1 E2 S E3
43, 191, 209 16, 154, 155, 185,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
S E2 E1 E3
– – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
–
Cuadro 40: Fase final
3.14.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.15 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3
b1 b2 b3 Sale Entra
– – – Nada 220
220 – – Nada 38
220 38 – Nada 163
220 38 163 38 388
220 388 163 163 258
220 388 258 220 123
123 388 258 258 140
123 388 140 388 357
123 357 140
Nueva particion! Se cierra la particion p1 = {38, 163, 220, 258, 388}123 134
134 357 140 134 369
369 357 140 140 291
369 357 291 291 43
369 357 43 357 216
369 216 43 369 191
191 216 43
Nueva particion! Se cierra la particion p2 =
{123, 134, 140, 291, 357, 369}43 16
191 216 16 191 209
209 216 16 209 154
154 216 16 216 185
154 185 16
Nueva particion! Se cierra la particion p3 = {43, 191, 209, 216}16 155
154 185 155 154 306
306 185 155 155 219
306 185 219 185 Nada
306 – 219 219 Nada
306 – – 306 Nada
Finaliza la ultima particion en p4 = {16, 154, 155, 185, 219, 306}
3.14.2. Salida final
p1 = {38, 163, 220, 258, 388};
p2 = {123, 134, 140, 291, 357, 369};
p3 = {43, 191, 209, 216};
p4 = {16, 154, 155, 185, 219, 306}.
3.15. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.15.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.16 Seleccion Natural con buffers de tamano 3 67
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 41: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 163, 220, 258, 388 123, 134, 140, 291,357, 369
–
43, 191, 209, 216 16, 154, 155, 185,219, 306
– –
Cuadro 42: Fase 1
3.15.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.16. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.16.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
D 38, 163, 220, 258, 388 123, 134, 140, 291,357, 369
38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
43, 191, 209, 216 16, 154, 155, 185,219, 306
– 38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
Cuadro 43: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.16 Seleccion Natural con buffers de tamano 3
E1 E2 E3 S
D 38, 163, 220, 258, 388 123, 134, 140, 291,357, 369
38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
E1 E2 S E3
43, 191, 209, 216 16, 154, 155, 185,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
38, 123, 134, 140,163, 220, 258, 291,357, 369, 388
S E2 E1 E3
– – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
–
Cuadro 44: Fase final
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 220
220 – – – – – Nada 38
220 38 – – – – Nada 163
220 38 163 – – – 38 388
220 388 163 – – – 163 258
220 388 258 – – – 220 123
– 388 258 123 – – Nada 140
– 388 258 123 140 – Nada 357
357 388 258 123 140 – 258 134
357 388 – 123 140 134 357 Nada
– 388 – 123 140 134 388 Nada
123 140 134 – – –
Nueva particion! Se cierra la particion p1 = {38, 163, 220, 258, 357, 388}123 369
369 140 134 – – – 134 291
369 140 291 – – – 140 43
369 – 291 43 – – Nada 216
369 216 291 43 – – 216 191
369 – 291 43 191 – Nada 16
369 – 291 43 191 16 291 Nada
369 – – 43 191 16 369 Nada
43 191 16 – – –
Nueva particion! Se cierra la particion p2 = {123, 134, 140, 216, 291, 369}16 209
43 191 209 – – – 43 154
154 191 209 – – – 154 185
185 191 209 – – – 185 155
– 191 209 155 – – Nada 306
306 191 209 155 – – 191 219
306 219 209 155 – – 209 Nada
306 219 – 155 – – 219 Nada
306 – – 155 – – 306 Nada
155 – – – – –
Nueva particion! Se cierra la particion p3 = {16, 43, 154, 185, 191, 209, 219, 306}155 Nada
Finaliza la ultima particion en p4 = {155}
Enrique P. Calot Algoritmos y Programacion II
3.17 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 69
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 45: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 163, 220, 258,357, 388
123, 134, 140, 216,291, 369
–
16, 43, 154, 185, 191,209, 219, 306
155 – –
Cuadro 46: Fase 1
3.16.2. Salida final
p1 = {38, 163, 220, 258, 357, 388};
p2 = {123, 134, 140, 216, 291, 369};
p3 = {16, 43, 154, 185, 191, 209, 219, 306};
p4 = {155}.
3.17. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.17.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.17.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.18. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.18 Seleccion Natural con buffers de tamano 4
E1 E2 E3 S
D 38, 163, 220, 258,357, 388
123, 134, 140, 216,291, 369
38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
E1 E2 S E3
16, 43, 154, 185, 191,209, 219, 306
155 – 38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
Cuadro 47: Fase 2
E1 E2 E3 S
D 38, 163, 220, 258,357, 388
123, 134, 140, 216,291, 369
38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
E1 E2 S E3
16, 43, 154, 185, 191,209, 219, 306
155 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
38, 123, 134, 140,163, 216, 220, 258,291, 357, 369, 388
S E2 E1 E3
– – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
–
Cuadro 48: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.19 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 71
3.18.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 220
220 – – – – – – – Nada 38
220 38 – – – – – – Nada 163
220 38 163 – – – – – Nada 388
220 38 163 388 – – – – 38 258
220 258 163 388 – – – – 163 123
220 258 – 388 123 – – – Nada 140
220 258 – 388 123 140 – – Nada 357
220 258 357 388 123 140 – – 220 134
– 258 357 388 123 140 134 – Nada 369
369 258 357 388 123 140 134 – 258 291
369 291 357 388 123 140 134 – 291 43
369 – 357 388 123 140 134 43 357 Nada
369 – – 388 123 140 134 43 369 Nada
– – – 388 123 140 134 43 388 Nada
123 140 134 43 – – – –
Nueva particion! Se cierra la particion p1 = {38, 163, 220, 258, 291, 357, 369, 388}43 216
123 140 134 216 – – – – 123 191
191 140 134 216 – – – – 134 16
191 140 – 216 16 – – – Nada 209
191 140 209 216 16 – – – 140 154
191 154 209 216 16 – – – 154 185
191 185 209 216 16 – – – 185 155
191 – 209 216 16 155 – – Nada 306
191 306 209 216 16 155 – – 191 219
219 306 209 216 16 155 – – 209 Nada
219 306 – 216 16 155 – – 216 Nada
219 306 – – 16 155 – – 219 Nada
– 306 – – 16 155 – – 306 Nada
16 155 – – – – – –
Nueva particion! Se cierra la particion p2 = {43, 123, 134, 140, 154, 185, 191, 209, 216, 219, 306}16 Nada
– 155 – – – – – – 155 Nada
Finaliza la ultima particion en p3 = {16, 155}
3.18.2. Salida final
p1 = {38, 163, 220, 258, 291, 357, 369, 388};
p2 = {43, 123, 134, 140, 154, 185, 191, 209, 216, 219, 306};
p3 = {16, 155}.
3.19. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.20 Seleccion de reemplazo con buffer de tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 49: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 163, 220, 258,291, 357, 369, 388
43, 123, 134, 140,154, 185, 191, 209,216, 219, 306
16, 155 –
Cuadro 50: Fase 1
3.19.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.19.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.20. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.20.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.20 Seleccion de reemplazo con buffer de tamano 5 73
E1 E2 E3 S
38, 163, 220, 258,291, 357, 369, 388
43, 123, 134, 140,154, 185, 191, 209,216, 219, 306
16, 155 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 51: Fase final
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 220
220 – – – – Nada 38
220 38 – – – Nada 163
220 38 163 – – Nada 388
220 38 163 388 – Nada 258
220 38 163 388 258 38 123
220 123 163 388 258 123 140
220 140 163 388 258 140 357
220 357 163 388 258 163 134
220 357 134 388 258 220 369
369 357 134 388 258 258 291
369 357 134 388 291 291 43
369 357 134 388 43 357 216
369 216 134 388 43 369 191
191 216 134 388 43 388 16
191 216 134 16 43
Nueva particion! Se cierra la particion p1 =
{38, 123, 140, 163, 220, 258, 291, 357, 369, 388}16 209
191 216 134 209 43 43 154
191 216 134 209 154 134 185
191 216 185 209 154 154 155
191 216 185 209 155 155 306
191 216 185 209 306 185 219
191 216 219 209 306 191 Nada
– 216 219 209 306 209 Nada
– 216 219 – 306 216 Nada
– – 219 – 306 219 Nada
– – – – 306 306 Nada
Finaliza la ultima particion en p2 =
{16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}
3.20.2. Salida final
p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388};
p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}.
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.21 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
–
Cuadro 53: Fase 1
3.21. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.21.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.21.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.22. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.22.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.22 Seleccion Natural con buffers de tamano 5 75
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 54: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 220
220 – – – – – – – – – Nada 38
220 38 – – – – – – – – Nada 163
220 38 163 – – – – – – – Nada 388
220 38 163 388 – – – – – – Nada 258
220 38 163 388 258 – – – – – 38 123
220 123 163 388 258 – – – – – 123 140
220 140 163 388 258 – – – – – 140 357
220 357 163 388 258 – – – – – 163 134
220 357 – 388 258 134 – – – – Nada 369
220 357 369 388 258 134 – – – – 220 291
291 357 369 388 258 134 – – – – 258 43
291 357 369 388 – 134 43 – – – Nada 216
291 357 369 388 – 134 43 216 – – Nada 191
291 357 369 388 – 134 43 216 191 – Nada 16
291 357 369 388 – 134 43 216 191 16 291 Nada
– 357 369 388 – 134 43 216 191 16 357 Nada
– – 369 388 – 134 43 216 191 16 369 Nada
– – – 388 – 134 43 216 191 16 388 Nada
134 43 216 191 16 – – – – –
Nueva particion! Se cierra la particion p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388}16 209
134 43 216 191 209 – – – – – 43 154
134 154 216 191 209 – – – – – 134 185
185 154 216 191 209 – – – – – 154 155
185 155 216 191 209 – – – – – 155 306
185 306 216 191 209 – – – – – 185 219
219 306 216 191 209 – – – – – 191 Nada
219 306 216 – 209 – – – – – 209 Nada
219 306 216 – – – – – – – 216 Nada
219 306 – – – – – – – – 219 Nada
– 306 – – – – – – – – 306 Nada
Finaliza la ultima particion en p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}
3.22.2. Salida final
p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388};
p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}.
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.23 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
–
Cuadro 56: Fase 1
3.23. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.23.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.23.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.24. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.24.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.24 Seleccion de reemplazo con buffer de tamano 6 77
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 57: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 220
220 – – – – – Nada 38
220 38 – – – – Nada 163
220 38 163 – – – Nada 388
220 38 163 388 – – Nada 258
220 38 163 388 258 – Nada 123
220 38 163 388 258 123 38 140
220 140 163 388 258 123 123 357
220 140 163 388 258 357 140 134
220 134 163 388 258 357 163 369
220 134 369 388 258 357 220 291
291 134 369 388 258 357 258 43
291 134 369 388 43 357 291 216
216 134 369 388 43 357 357 191
216 134 369 388 43 191 369 16
216 134 16 388 43 191 388 209
216 134 16 209 43 191
Nueva particion! Se cierra la particion p1 =
{38, 123, 140, 163, 220, 258, 291, 357, 369, 388}16 154
216 134 154 209 43 191 43 185
216 134 154 209 185 191 134 155
216 155 154 209 185 191 154 306
216 155 306 209 185 191 155 219
216 219 306 209 185 191 185 Nada
216 219 306 209 – 191 191 Nada
216 219 306 209 – – 209 Nada
216 219 306 – – – 216 Nada
– 219 306 – – – 219 Nada
– – 306 – – – 306 Nada
Finaliza la ultima particion en p2 =
{16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}
3.24.2. Salida final
p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388};
p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}.
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.25 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 58: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
–
Cuadro 59: Fase 1
3.25. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.25.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.25.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.26. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.26.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.26 Seleccion Natural con buffers de tamano 6 79
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 60: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 220
220 – – – – – – – – – – – Nada 38
220 38 – – – – – – – – – – Nada 163
220 38 163 – – – – – – – – – Nada 388
220 38 163 388 – – – – – – – – Nada 258
220 38 163 388 258 – – – – – – – Nada 123
220 38 163 388 258 123 – – – – – – 38 140
220 140 163 388 258 123 – – – – – – 123 357
220 140 163 388 258 357 – – – – – – 140 134
220 – 163 388 258 357 134 – – – – – Nada 369
220 369 163 388 258 357 134 – – – – – 163 291
220 369 291 388 258 357 134 – – – – – 220 43
– 369 291 388 258 357 134 43 – – – – Nada 216
– 369 291 388 258 357 134 43 216 – – – Nada 191
– 369 291 388 258 357 134 43 216 191 – – Nada 16
– 369 291 388 258 357 134 43 216 191 16 – Nada 209
– 369 291 388 258 357 134 43 216 191 16 209 258 Nada
– 369 291 388 – 357 134 43 216 191 16 209 291 Nada
– 369 – 388 – 357 134 43 216 191 16 209 357 Nada
– 369 – 388 – – 134 43 216 191 16 209 369 Nada
– – – 388 – – 134 43 216 191 16 209 388 Nada
134 43 216 191 16 209 – – – – – –
Nueva particion! Se cierra la particion p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388}16 154
134 43 216 191 154 209 – – – – – – 43 185
134 185 216 191 154 209 – – – – – – 134 155
155 185 216 191 154 209 – – – – – – 154 306
155 185 216 191 306 209 – – – – – – 155 219
219 185 216 191 306 209 – – – – – – 185 Nada
219 – 216 191 306 209 – – – – – – 191 Nada
219 – 216 – 306 209 – – – – – – 209 Nada
219 – 216 – 306 – – – – – – – 216 Nada
219 – – – 306 – – – – – – – 219 Nada
– – – – 306 – – – – – – – 306 Nada
Finaliza la ultima particion en p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}
3.26.2. Salida final
p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388};
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.27 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 61: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
–
Cuadro 62: Fase 1
p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}.
3.27. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.27.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.27.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.28 Bubble Sort ascendente 81
E1 E2 E3 S
D 38, 123, 140, 163,220, 258, 291, 357,369, 388
16, 43, 134, 154, 155,185, 191, 209, 216,219, 306
16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
S E2 E3 E1
– – – 16, 38, 43, 123, 134,140, 154, 155, 163,185, 191, 209, 216,219, 220, 258, 291,306, 357, 369, 388
Cuadro 63: Fase final
3.28. Bubble Sort ascendente
3.28.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 19/20
1 38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 388 14/19
2 38 163 220 123 140 258 134 357 291 43 216 191 16 209 154 185 155 306 219 369 388 14/18
3 38 163 123 140 220 134 258 291 43 216 191 16 209 154 185 155 306 219 357 369 388 12/17
4 38 123 140 163 134 220 258 43 216 191 16 209 154 185 155 291 219 306 357 369 388 10/16
5 38 123 140 134 163 220 43 216 191 16 209 154 185 155 258 219 291 306 357 369 388 10/15
6 38 123 134 140 163 43 216 191 16 209 154 185 155 220 219 258 291 306 357 369 388 8/14
7 38 123 134 140 43 163 191 16 209 154 185 155 216 219 220 258 291 306 357 369 388 5/13
8 38 123 134 43 140 163 16 191 154 185 155 209 216 219 220 258 291 306 357 369 388 5/12
9 38 123 43 134 140 16 163 154 185 155 191 209 216 219 220 258 291 306 357 369 388 4/11
10 38 43 123 134 16 140 154 163 155 185 191 209 216 219 220 258 291 306 357 369 388 2/10
11 38 43 123 16 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/9
12 38 43 16 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/8
13 38 16 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/7
14 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/6
15 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/5
16 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/4
17 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/3
18 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/2
19 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/1
20 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.29 Bubble Sort descendente
3.29. Bubble Sort descendente
3.29.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 18/20
1 220 163 388 258 123 140 357 134 369 291 43 216 191 38 209 154 185 155 306 219 16 15/19
2 220 388 258 163 140 357 134 369 291 123 216 191 43 209 154 185 155 306 219 38 16 13/18
3 388 258 220 163 357 140 369 291 134 216 191 123 209 154 185 155 306 219 43 38 16 11/17
4 388 258 220 357 163 369 291 140 216 191 134 209 154 185 155 306 219 123 43 38 16 11/16
5 388 258 357 220 369 291 163 216 191 140 209 154 185 155 306 219 134 123 43 38 16 11/15
6 388 357 258 369 291 220 216 191 163 209 154 185 155 306 219 140 134 123 43 38 16 7/14
7 388 357 369 291 258 220 216 191 209 163 185 155 306 219 154 140 134 123 43 38 16 5/13
8 388 369 357 291 258 220 216 209 191 185 163 306 219 155 154 140 134 123 43 38 16 2/12
9 388 369 357 291 258 220 216 209 191 185 306 219 163 155 154 140 134 123 43 38 16 2/11
10 388 369 357 291 258 220 216 209 191 306 219 185 163 155 154 140 134 123 43 38 16 2/10
11 388 369 357 291 258 220 216 209 306 219 191 185 163 155 154 140 134 123 43 38 16 2/9
12 388 369 357 291 258 220 216 306 219 209 191 185 163 155 154 140 134 123 43 38 16 2/8
13 388 369 357 291 258 220 306 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/7
14 388 369 357 291 258 306 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/6
15 388 369 357 291 306 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/5
16 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/4
17 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/3
18 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/2
19 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/1
20 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/0
Enrique P. Calot Algoritmos y Programacion II
3.30 Bilateral Bubble Sort ascendente 83
3.30. Bilateral Bubble Sort ascendente
3.30.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 19/20
1 38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 388 16/20
2 16 38 163 220 258 123 140 357 134 369 291 43 216 191 154 209 155 185 219 306 388 13/18
3 16 38 163 220 123 140 258 134 357 291 43 216 191 154 209 155 185 219 306 369 388 11/18
4 16 38 43 163 220 123 140 258 134 357 291 154 216 191 155 209 185 219 306 369 388 12/16
5 16 38 43 163 123 140 220 134 258 291 154 216 191 155 209 185 219 306 357 369 388 8/16
6 16 38 43 123 163 134 140 220 154 258 291 155 216 191 185 209 219 306 357 369 388 9/14
7 16 38 43 123 134 140 163 154 220 258 155 216 191 185 209 219 291 306 357 369 388 5/14
8 16 38 43 123 134 140 154 163 155 220 258 185 216 191 209 219 291 306 357 369 388 6/12
9 16 38 43 123 134 140 154 155 163 220 185 216 191 209 219 258 291 306 357 369 388 2/12
10 16 38 43 123 134 140 154 155 163 185 220 191 216 209 219 258 291 306 357 369 388 4/10
11 16 38 43 123 134 140 154 155 163 185 191 216 209 219 220 258 291 306 357 369 388 1/10
12 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/8
13 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/8
14 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/6
15 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/6
16 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/4
17 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/4
18 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/2
19 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/2
20 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.31 Bilateral Bubble Sort descendente
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 18/20
1 220 163 388 258 123 140 357 134 369 291 43 216 191 38 209 154 185 155 306 219 16 16/20
2 388 220 163 369 258 123 140 357 134 306 291 43 216 191 38 209 154 185 155 219 16 14/18
3 388 220 369 258 163 140 357 134 306 291 123 216 191 43 209 154 185 155 219 38 16 13/18
4 388 369 220 357 258 163 140 306 134 291 219 123 216 191 43 209 154 185 155 38 16 11/16
5 388 369 357 258 220 163 306 140 291 219 134 216 191 123 209 154 185 155 43 38 16 8/16
6 388 369 357 306 258 220 163 291 140 219 216 134 209 191 123 185 154 155 43 38 16 8/14
7 388 369 357 306 258 220 291 163 219 216 140 209 191 134 185 154 155 123 43 38 16 6/14
8 388 369 357 306 291 258 220 219 163 216 209 140 191 185 134 155 154 123 43 38 16 6/12
9 388 369 357 306 291 258 220 219 216 209 163 191 185 140 155 154 134 123 43 38 16 2/12
10 388 369 357 306 291 258 220 219 216 209 191 163 185 155 140 154 134 123 43 38 16 2/10
11 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/10
12 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/8
13 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/8
14 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/6
15 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/6
16 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/4
17 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/4
18 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/2
19 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/2
20 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 0/0
Enrique P. Calot Algoritmos y Programacion II
3.32 Selection Sort ascendente 85
3.32. Selection Sort ascendente
3.32.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 1/20
1 16 38 163 388 258 123 140 357 134 369 291 43 216 191 220 209 154 185 155 306 219 1/19
2 16 38 163 388 258 123 140 357 134 369 291 43 216 191 220 209 154 185 155 306 219 1/18
3 16 38 43 388 258 123 140 357 134 369 291 163 216 191 220 209 154 185 155 306 219 1/17
4 16 38 43 123 258 388 140 357 134 369 291 163 216 191 220 209 154 185 155 306 219 1/16
5 16 38 43 123 134 388 140 357 258 369 291 163 216 191 220 209 154 185 155 306 219 1/15
6 16 38 43 123 134 140 388 357 258 369 291 163 216 191 220 209 154 185 155 306 219 1/14
7 16 38 43 123 134 140 154 357 258 369 291 163 216 191 220 209 388 185 155 306 219 1/13
8 16 38 43 123 134 140 154 155 258 369 291 163 216 191 220 209 388 185 357 306 219 1/12
9 16 38 43 123 134 140 154 155 163 369 291 258 216 191 220 209 388 185 357 306 219 1/11
10 16 38 43 123 134 140 154 155 163 185 291 258 216 191 220 209 388 369 357 306 219 1/10
11 16 38 43 123 134 140 154 155 163 185 191 258 216 291 220 209 388 369 357 306 219 1/9
12 16 38 43 123 134 140 154 155 163 185 191 209 216 291 220 258 388 369 357 306 219 1/8
13 16 38 43 123 134 140 154 155 163 185 191 209 216 291 220 258 388 369 357 306 219 1/7
14 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 388 369 357 306 291 1/6
15 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 388 369 357 306 291 1/5
16 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 388 369 357 306 291 1/4
17 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 369 357 306 388 1/3
18 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/2
19 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/1
20 16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.33 Selection Sort descendente
3.33. Selection Sort descendente
3.33.1. Desarrollo
0 220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 1/20
1 388 38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 1/19
2 388 369 163 220 258 123 140 357 134 38 291 43 216 191 16 209 154 185 155 306 219 1/18
3 388 369 357 220 258 123 140 163 134 38 291 43 216 191 16 209 154 185 155 306 219 1/17
4 388 369 357 306 258 123 140 163 134 38 291 43 216 191 16 209 154 185 155 220 219 1/16
5 388 369 357 306 291 123 140 163 134 38 258 43 216 191 16 209 154 185 155 220 219 1/15
6 388 369 357 306 291 258 140 163 134 38 123 43 216 191 16 209 154 185 155 220 219 1/14
7 388 369 357 306 291 258 220 163 134 38 123 43 216 191 16 209 154 185 155 140 219 1/13
8 388 369 357 306 291 258 220 219 134 38 123 43 216 191 16 209 154 185 155 140 163 1/12
9 388 369 357 306 291 258 220 219 216 38 123 43 134 191 16 209 154 185 155 140 163 1/11
10 388 369 357 306 291 258 220 219 216 209 123 43 134 191 16 38 154 185 155 140 163 1/10
11 388 369 357 306 291 258 220 219 216 209 191 43 134 123 16 38 154 185 155 140 163 1/9
12 388 369 357 306 291 258 220 219 216 209 191 185 134 123 16 38 154 43 155 140 163 1/8
13 388 369 357 306 291 258 220 219 216 209 191 185 163 123 16 38 154 43 155 140 134 1/7
14 388 369 357 306 291 258 220 219 216 209 191 185 163 155 16 38 154 43 123 140 134 1/6
15 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 38 16 43 123 140 134 1/5
16 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 16 43 123 38 134 1/4
17 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 43 123 38 16 1/3
18 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/2
19 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/1
20 388 369 357 306 291 258 220 219 216 209 191 185 163 155 154 140 134 123 43 38 16 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-07-26
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
220, 38, 163, 388, 258†, 123, 140, 357†, 134†, 369, 291†, 43, 216, 191, 16, 209†, 154,
185†, 155, 306, 219†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
b. Procesar el B-tree cuyo rango valido de elementos por nodo es de 2 a 4 (1 a 4 en la raız) resultante deingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
191, 209†, 219†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
d. Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem, se sabeque solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado en una maquinacon una memoria interna comparable a 2p2 × sizeof(tElem). Dispone de las siguientes soluciones:
a) Sort externo: seleccion de reemplazo y merge polifasico
b) Sort externo: seleccion natural y merge polifasico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2elementos y merge
polifasico
d) Sort interno: quick sort de pivoteo en el primer elemento
e) Sort interno: quick sort de pivoteo en el ultimo elemento
f ) Sort interno: bubble sort
g) Sort interno: heap sort
h) Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente(hacer al menos 1 swapdown).
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 2 de Agosto de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-08-02
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 62.2.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. c. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. d. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6. e. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.6.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. Resolucion explayada 13
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 453.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 463.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 463.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7. Merge Polifasico completo con particiones formadas de 1 elemento . . . . . . . . . . . . . 473.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 493.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 543.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 543.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.10. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 563.10.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 563.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.11. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 56
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 623.12.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 633.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 663.14.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 663.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.16. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 683.16.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 683.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.17. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 693.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.18. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 713.18.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 713.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.19. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.20. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 733.20.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 733.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.21. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 733.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.22. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 753.22.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 753.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.23. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 773.24.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 773.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.25. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 773.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 793.26.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 793.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.27. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 81
3.28.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 813.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
22, 146, 309, 394, 334†, 58, 65, 358†, 63†, 349, 384†, 231, 264, 34, 4,
262†, 172, 70†, 304, 90, 354†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
b. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
c. Se dice que el orden del algoritmo de Heap Sort es de O(n log2 n), explique con sus palabras dedonde sale ese logaritmo.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
262, 231†, 304†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
e. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown) y RadixSort en orden ascendente (entero).
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 b. Merge Polifasico
2.1.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 Sale Entra
– – – Nada 22
22 – – Nada 146
22 146 – Nada 309
22 146 309 22 394
394 146 309 146 334
394 334 309 309 58
394 334 58 334 65
394 65 58 394 358
358 65 58
Nueva particion! Se cierra la particion p1 = {22, 146, 309, 334, 394}58 63
358 65 63 63 349
358 65 349 65 384
358 384 349 349 231
358 384 231 358 264
264 384 231 384 34
264 34 231
Nueva particion! Se cierra la particion p2 = {58, 63, 65, 349, 358, 384}34 4
264 4 231 231 262
264 4 262 262 172
264 4 172 264 70
70 4 172
Nueva particion! Se cierra la particion p3 = {34, 231, 262, 264}4 304
70 304 172 70 90
90 304 172 90 354
354 304 172 172 Nada
354 304 – 304 Nada
354 – – 354 Nada
Finaliza la ultima particion en p4 = {4, 70, 90, 172, 304, 354}
2.1.2. Salida final
p1 = {22, 146, 309, 334, 394};
p2 = {58, 63, 65, 349, 358, 384};
p3 = {34, 231, 262, 264};
p4 = {4, 70, 90, 172, 304, 354}.
2.2. b. Merge Polifasico
Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones orde-nadas tomadas del lote de datos.
2.2.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
2.3 c. Pregunta teorica 7
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –D D D –D D D –D 22 146 –309 394 334 –58 65 358 –63 349 384 –231 264 – –34 4 – –262 172 – –70 304 – –90 – – –354 – – –
Cuadro 2: Fase 1
2.2.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.3. c. Pregunta teorica
Se dice que el orden del algoritmo de Heap Sort es de O(n log2 n), explique con sus palabras de dondesale ese logaritmo.
2.3.1. Respuesta
El heap sort busca el mınimo en un arbol pre-ordenado, de forma tal que realiza n busquedas binarias,una por cada elemento. Como el orden de una busqueda binaria es de O(log n), hacer n busquedas binariastiene un orden de O(n log n).
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.3 c. Pregunta teorica
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 – D
34 4 – D
262 172 – D
70 304 – 22, 14690 – – 309, 334, 394354 – – 58, 65, 358– – – 63, 349, 384
Cuadro 3: Fase 2
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 231, 264 D
34 4 4, 34 D
262 172 172, 262 D
70 304 22, 70, 146, 304 22, 146
E1 S E2 E3
90 – 231, 264 309, 334, 394354 – 4, 34 58, 65, 358– – 172, 262 63, 349, 384– – 22, 70, 146, 304 –
Cuadro 4: Fase 3
Enrique P. Calot Algoritmos y Programacion II
2.4 d. Ejercicio de B-trees 9
2.4. d. Ejercicio de B-trees
Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
262, 231†, 304†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.4.1. Insercion
•309•
×22×146× ×334×394×
Insercion de 5 elementos: 22, 146, 309, 394, 334
•309•
×22×58×65×146× ×334×358×394×
Insercion de 3 elementos: 58, 65, 358
•63•309•
×22×58× ×65×146× ×334×358×394×
Insercion de 1 elemento: 63
•63•309•358•
×22×58× ×65×146× ×334×349× ×384×394×
Insercion de 2 elementos: 349, 384
•63•231•309•358•
×4×22×34×58× ×65×146× ×262×264× ×334×349× ×384×394×
Insercion de 5 elementos: 231, 264, 34, 4, 262
•63•231•309•358•
×4×22×34×58× ×65×70×146×172× ×262×264× ×334×349× ×384×394×
Insercion de 2 elementos: 172, 70
•231•
•63•90• •309•358•
×4×22×34×58× ×65×70× ×146×172× ×262×264×304× ×334×349×354× ×384×394×
Insercion de 3 elementos: 304, 90, 354
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.5 e. Radix Sort
2.4.2. Eliminacion
•63•90•309•358•
×4×22×34×58× ×65×70× ×146×172×264×304× ×334×349×354× ×384×394×
Eliminacion de 2 elementos: 262, 231
•63•90•309•358•
×4×22×34×58× ×65×70× ×146×172×264× ×334×349×354× ×384×394×
Eliminacion de 1 elemento: 304
2.5. e. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
2.5.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Paso 0 Paso 1 Paso 2 Paso 3022 070 004 004146 090 304 022309 231 309 034394 022 022 058334 262 231 063058 172 334 065065 063 034 070358 394 146 090063 334 349 146349 384 354 172384 264 058 231231 034 358 262264 004 262 264034 304 063 304004 354 264 309262 065 065 334172 146 070 349070 058 172 354304 358 384 358090 309 090 384354 349 394 394
2.6. e. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
Enrique P. Calot Algoritmos y Programacion II
2.6 e. Heap Sort 11
2.6.1. Arbol inicial
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354
Arbol inicial y su vector asociadoHeapfy paso 0
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384
231 264 34 4 262 172 70 304 90 354
Heapfy paso 1
22
146 309
394 334 58 65
358 304 354 384 231 264 34 4
262 172 70 63 90 349
Vector:
22 146 309 394 334 58 65 358 304 354 384
231 264 34 4 262 172 70 63 90 349
Heapfy paso 2
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.6 e. Heap Sort
22
146 309
394 384 264 65
358 304 354 334 231 58 34 4
262 172 70 63 90 349
Vector:
22 146 309 394 384 264 65 358 304 354 334
231 58 34 4 262 172 70 63 90 349
Heapfy paso 3
22
394 309
358 384 264 65
262 304 354 334 231 58 34 4
146 172 70 63 90 349
Vector:
22 394 309 358 384 264 65 262 304 354 334
231 58 34 4 146 172 70 63 90 349
Heapfy paso 4
394
384 309
358 354 264 65
262 304 349 334 231 58 34 4
146 172 70 63 90 22
Vector:
394 384 309 358 354 264 65 262 304 349 334
231 58 34 4 146 172 70 63 90 22
Enrique P. Calot Algoritmos y Programacion II
3 Resolucion explayada 13
22
384 309
358 354 264 65
262 304 349 334 231 58 34 4
146 172 70 63 90 394
Vector:
22 384 309 358 354 264 65 262 304 349 334
231 58 34 4 146 172 70 63 90 394
Paso 1: ultimo congelado pedido antes del corte
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Algoritmos y Programacion II Facultad de Ingenierıa
14 3.2 Quick Sort
Paso 0 Paso 1 Paso 2 Paso 3022 309 394 394146 349 090 384309 058 384 358394 358 172 354334 146 070 349058 065 065 334065 394 264 309358 334 063 304063 384 262 264349 264 058 262384 034 358 231231 004 354 172264 304 349 146034 354 146 090004 063 334 070262 022 034 065172 262 231 063070 172 022 058304 231 309 034090 070 004 022354 090 304 004
3.2. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1. Desarrollo
Paso 1 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354
Paso 2 4 22 309 394 334 58 65 358 63 349 384 231 264 34 146 262 172 70 304 90 354
Paso 3 146 90 304 58 65 70 63 172 262 231 264 34 309 384 349 358 334 394 354
Paso 4 63 90 34 58 65 70 146 172 262 231 264 304 354 349 358 334 384 394
Paso 5 34 58 63 90 65 70 172 262 231 264 304 334 349 354 358
Paso 6 34 58 70 65 90 231 262 264 304 334 349
Final 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 15
3.3.1. Arbol inicial
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354
Arbol inicial y su vector asociadoHeapfy paso 0
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384
231 264 34 4 262 172 70 304 90 354
Heapfy paso 1
22
146 309
394 334 58 65
358 304 354 384 231 264 34 4
262 172 70 63 90 349
Vector:
22 146 309 394 334 58 65 358 304 354 384
231 264 34 4 262 172 70 63 90 349
Heapfy paso 2
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
22
146 309
394 384 264 65
358 304 354 334 231 58 34 4
262 172 70 63 90 349
Vector:
22 146 309 394 384 264 65 358 304 354 334
231 58 34 4 262 172 70 63 90 349
Heapfy paso 3
22
394 309
358 384 264 65
262 304 354 334 231 58 34 4
146 172 70 63 90 349
Vector:
22 394 309 358 384 264 65 262 304 354 334
231 58 34 4 146 172 70 63 90 349
Heapfy paso 4
394
384 309
358 354 264 65
262 304 349 334 231 58 34 4
146 172 70 63 90 22
Vector:
394 384 309 358 354 264 65 262 304 349 334
231 58 34 4 146 172 70 63 90 22
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
22
384 309
358 354 264 65
262 304 349 334 231 58 34 4
146 172 70 63 90 394
Vector:
22 384 309 358 354 264 65 262 304 349 334
231 58 34 4 146 172 70 63 90 394
Swapdown
384
358 309
304 354 264 65
262 70 349 334 231 58 34 4
146 172 22 63 90 394
Vector:
384 358 309 304 354 264 65 262 70 349 334
231 58 34 4 146 172 22 63 90 394
Intercambio y congelamiento
90
358 309
304 354 264 65
262 70 349 334 231 58 34 4
146 172 22 63 384 394
Vector:
90 358 309 304 354 264 65 262 70 349 334
231 58 34 4 146 172 22 63 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
358
354 309
304 349 264 65
262 70 90 334 231 58 34 4
146 172 22 63 384 394
Vector:
358 354 309 304 349 264 65 262 70 90 334
231 58 34 4 146 172 22 63 384 394
Intercambio y congelamiento
63
354 309
304 349 264 65
262 70 90 334 231 58 34 4
146 172 22 358 384 394
Vector:
63 354 309 304 349 264 65 262 70 90 334
231 58 34 4 146 172 22 358 384 394
Swapdown
354
349 309
304 334 264 65
262 70 90 63 231 58 34 4
146 172 22 358 384 394
Vector:
354 349 309 304 334 264 65 262 70 90 63
231 58 34 4 146 172 22 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
22
349 309
304 334 264 65
262 70 90 63 231 58 34 4
146 172 354 358 384 394
Vector:
22 349 309 304 334 264 65 262 70 90 63
231 58 34 4 146 172 354 358 384 394
Swapdown
349
334 309
304 90 264 65
262 70 22 63 231 58 34 4
146 172 354 358 384 394
Vector:
349 334 309 304 90 264 65 262 70 22 63
231 58 34 4 146 172 354 358 384 394
Intercambio y congelamiento
172
334 309
304 90 264 65
262 70 22 63 231 58 34 4
146 349 354 358 384 394
Vector:
172 334 309 304 90 264 65 262 70 22 63
231 58 34 4 146 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
334
304 309
262 90 264 65
172 70 22 63 231 58 34 4
146 349 354 358 384 394
Vector:
334 304 309 262 90 264 65 172 70 22 63
231 58 34 4 146 349 354 358 384 394
Intercambio y congelamiento
146
304 309
262 90 264 65
172 70 22 63 231 58 34 4
334 349 354 358 384 394
Vector:
146 304 309 262 90 264 65 172 70 22 63
231 58 34 4 334 349 354 358 384 394
Swapdown
309
304 264
262 90 231 65
172 70 22 63 146 58 34 4
334 349 354 358 384 394
Vector:
309 304 264 262 90 231 65 172 70 22 63
146 58 34 4 334 349 354 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
4
304 264
262 90 231 65
172 70 22 63 146 58 34 309
334 349 354 358 384 394
Vector:
4 304 264 262 90 231 65 172 70 22 63
146 58 34 309 334 349 354 358 384 394
Swapdown
304
262 264
172 90 231 65
4 70 22 63 146 58 34 309
334 349 354 358 384 394
Vector:
304 262 264 172 90 231 65 4 70 22 63
146 58 34 309 334 349 354 358 384 394
Intercambio y congelamiento
34
262 264
172 90 231 65
4 70 22 63 146 58 304 309
334 349 354 358 384 394
Vector:
34 262 264 172 90 231 65 4 70 22 63
146 58 304 309 334 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
264
262 231
172 90 146 65
4 70 22 63 34 58 304 309
334 349 354 358 384 394
Vector:
264 262 231 172 90 146 65 4 70 22 63
34 58 304 309 334 349 354 358 384 394
Intercambio y congelamiento
58
262 231
172 90 146 65
4 70 22 63 34 264 304 309
334 349 354 358 384 394
Vector:
58 262 231 172 90 146 65 4 70 22 63
34 264 304 309 334 349 354 358 384 394
Swapdown
262
172 231
70 90 146 65
4 58 22 63 34 264 304 309
334 349 354 358 384 394
Vector:
262 172 231 70 90 146 65 4 58 22 63
34 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
34
172 231
70 90 146 65
4 58 22 63 262 264 304 309
334 349 354 358 384 394
Vector:
34 172 231 70 90 146 65 4 58 22 63
262 264 304 309 334 349 354 358 384 394
Swapdown
231
172 146
70 90 34 65
4 58 22 63 262 264 304 309
334 349 354 358 384 394
Vector:
231 172 146 70 90 34 65 4 58 22 63
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
63
172 146
70 90 34 65
4 58 22 231 262 264 304 309
334 349 354 358 384 394
Vector:
63 172 146 70 90 34 65 4 58 22 231
262 264 304 309 334 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
172
90 146
70 63 34 65
4 58 22 231 262 264 304 309
334 349 354 358 384 394
Vector:
172 90 146 70 63 34 65 4 58 22 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
22
90 146
70 63 34 65
4 58 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
22 90 146 70 63 34 65 4 58 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
146
90 65
70 63 34 22
4 58 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
146 90 65 70 63 34 22 4 58 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
58
90 65
70 63 34 22
4 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
58 90 65 70 63 34 22 4 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
90
70 65
58 63 34 22
4 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
90 70 65 58 63 34 22 4 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
4
70 65
58 63 34 22
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 70 65 58 63 34 22 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
70
63 65
58 4 34 22
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
70 63 65 58 4 34 22 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
22
63 65
58 4 34 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
22 63 65 58 4 34 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
65
63 34
58 4 22 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
65 63 34 58 4 22 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
22
63 34
58 4 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
22 63 34 58 4 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
63
58 34
22 4 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
63 58 34 22 4 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
4
58 34
22 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 58 34 22 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
58
22 34
4 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
58 22 34 4 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
4
22 34
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 22 34 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
34
22 4
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
34 22 4 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
4
22 34
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 22 34 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
22
4 34
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
22 4 34 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Intercambio y congelamiento
4
22 34
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 22 34 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.4 Heap Sort descendente
4
22 34
58 63 65 70
90 146 172 231 262 264 304 309
334 349 354 358 384 394
Vector:
4 22 34 58 63 65 70 90 146 172 231
262 264 304 309 334 349 354 358 384 394
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
3.4.1. Arbol inicial
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
22
146 309
394 334 58 65
358 63 349 384 231 264 34 4
262 172 70 304 90 354
Vector:
22 146 309 394 334 58 65 358 63 349 384
231 264 34 4 262 172 70 304 90 354
Heapfy paso 1
22
146 309
394 334 58 65
172 63 90 384 231 264 34 4
262 358 70 304 349 354
Vector:
22 146 309 394 334 58 65 172 63 90 384
231 264 34 4 262 358 70 304 349 354
Heapfy paso 2
22
146 309
63 90 58 4
172 70 334 384 231 264 34 65
262 358 394 304 349 354
Vector:
22 146 309 63 90 58 4 172 70 334 384
231 264 34 65 262 358 394 304 349 354
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
22
63 4
70 90 58 34
172 146 334 384 231 264 309 65
262 358 394 304 349 354
Vector:
22 63 4 70 90 58 34 172 146 334 384
231 264 309 65 262 358 394 304 349 354
Heapfy paso 4
4
63 22
70 90 58 34
172 146 334 384 231 264 309 65
262 358 394 304 349 354
Vector:
4 63 22 70 90 58 34 172 146 334 384
231 264 309 65 262 358 394 304 349 354
Intercambio y congelamiento
354
63 22
70 90 58 34
172 146 334 384 231 264 309 65
262 358 394 304 349 4
Vector:
354 63 22 70 90 58 34 172 146 334 384
231 264 309 65 262 358 394 304 349 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
22
63 34
70 90 58 65
172 146 334 384 231 264 309 354
262 358 394 304 349 4
Vector:
22 63 34 70 90 58 65 172 146 334 384
231 264 309 354 262 358 394 304 349 4
Intercambio y congelamiento
349
63 34
70 90 58 65
172 146 334 384 231 264 309 354
262 358 394 304 22 4
Vector:
349 63 34 70 90 58 65 172 146 334 384
231 264 309 354 262 358 394 304 22 4
Swapdown
34
63 58
70 90 231 65
172 146 334 384 349 264 309 354
262 358 394 304 22 4
Vector:
34 63 58 70 90 231 65 172 146 334 384
349 264 309 354 262 358 394 304 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
304
63 58
70 90 231 65
172 146 334 384 349 264 309 354
262 358 394 34 22 4
Vector:
304 63 58 70 90 231 65 172 146 334 384
349 264 309 354 262 358 394 34 22 4
Swapdown
58
63 65
70 90 231 304
172 146 334 384 349 264 309 354
262 358 394 34 22 4
Vector:
58 63 65 70 90 231 304 172 146 334 384
349 264 309 354 262 358 394 34 22 4
Intercambio y congelamiento
394
63 65
70 90 231 304
172 146 334 384 349 264 309 354
262 358 58 34 22 4
Vector:
394 63 65 70 90 231 304 172 146 334 384
349 264 309 354 262 358 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
63
70 65
146 90 231 304
172 394 334 384 349 264 309 354
262 358 58 34 22 4
Vector:
63 70 65 146 90 231 304 172 394 334 384
349 264 309 354 262 358 58 34 22 4
Intercambio y congelamiento
358
70 65
146 90 231 304
172 394 334 384 349 264 309 354
262 63 58 34 22 4
Vector:
358 70 65 146 90 231 304 172 394 334 384
349 264 309 354 262 63 58 34 22 4
Swapdown
65
70 231
146 90 264 304
172 394 334 384 349 358 309 354
262 63 58 34 22 4
Vector:
65 70 231 146 90 264 304 172 394 334 384
349 358 309 354 262 63 58 34 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
262
70 231
146 90 264 304
172 394 334 384 349 358 309 354
65 63 58 34 22 4
Vector:
262 70 231 146 90 264 304 172 394 334 384
349 358 309 354 65 63 58 34 22 4
Swapdown
70
90 231
146 262 264 304
172 394 334 384 349 358 309 354
65 63 58 34 22 4
Vector:
70 90 231 146 262 264 304 172 394 334 384
349 358 309 354 65 63 58 34 22 4
Intercambio y congelamiento
354
90 231
146 262 264 304
172 394 334 384 349 358 309 70
65 63 58 34 22 4
Vector:
354 90 231 146 262 264 304 172 394 334 384
349 358 309 70 65 63 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
90
146 231
172 262 264 304
354 394 334 384 349 358 309 70
65 63 58 34 22 4
Vector:
90 146 231 172 262 264 304 354 394 334 384
349 358 309 70 65 63 58 34 22 4
Intercambio y congelamiento
309
146 231
172 262 264 304
354 394 334 384 349 358 90 70
65 63 58 34 22 4
Vector:
309 146 231 172 262 264 304 354 394 334 384
349 358 90 70 65 63 58 34 22 4
Swapdown
146
172 231
309 262 264 304
354 394 334 384 349 358 90 70
65 63 58 34 22 4
Vector:
146 172 231 309 262 264 304 354 394 334 384
349 358 90 70 65 63 58 34 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
358
172 231
309 262 264 304
354 394 334 384 349 146 90 70
65 63 58 34 22 4
Vector:
358 172 231 309 262 264 304 354 394 334 384
349 146 90 70 65 63 58 34 22 4
Swapdown
172
262 231
309 334 264 304
354 394 358 384 349 146 90 70
65 63 58 34 22 4
Vector:
172 262 231 309 334 264 304 354 394 358 384
349 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
349
262 231
309 334 264 304
354 394 358 384 172 146 90 70
65 63 58 34 22 4
Vector:
349 262 231 309 334 264 304 354 394 358 384
172 146 90 70 65 63 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
231
262 264
309 334 349 304
354 394 358 384 172 146 90 70
65 63 58 34 22 4
Vector:
231 262 264 309 334 349 304 354 394 358 384
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
384
262 264
309 334 349 304
354 394 358 231 172 146 90 70
65 63 58 34 22 4
Vector:
384 262 264 309 334 349 304 354 394 358 231
172 146 90 70 65 63 58 34 22 4
Swapdown
262
309 264
354 334 349 304
384 394 358 231 172 146 90 70
65 63 58 34 22 4
Vector:
262 309 264 354 334 349 304 384 394 358 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
358
309 264
354 334 349 304
384 394 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
358 309 264 354 334 349 304 384 394 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
264
309 304
354 334 349 358
384 394 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
264 309 304 354 334 349 358 384 394 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
394
309 304
354 334 349 358
384 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
394 309 304 354 334 349 358 384 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
304
309 349
354 334 394 358
384 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
304 309 349 354 334 394 358 384 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
384
309 349
354 334 394 358
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
384 309 349 354 334 394 358 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
309
334 349
354 384 394 358
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
309 334 349 354 384 394 358 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
358
334 349
354 384 394 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
358 334 349 354 384 394 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
334
354 349
358 384 394 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
334 354 349 358 384 394 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
394
354 349
358 384 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
394 354 349 358 384 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
349
354 394
358 384 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
349 354 394 358 384 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
384
354 394
358 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
384 354 394 358 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
354
358 394
384 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
354 358 394 384 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
384
358 394
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
384 358 394 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
358
384 394
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
358 384 394 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
394
384 358
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
394 384 358 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion de reemplazo 45
384
394 358
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
384 394 358 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Intercambio y congelamiento
394
384 358
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
394 384 358 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
Swapdown
394
384 358
354 349 334 309
304 264 262 231 172 146 90 70
65 63 58 34 22 4
Vector:
394 384 358 354 349 334 309 304 264 262 231
172 146 90 70 65 63 58 34 22 4
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.6 Merge Polifasico de las particiones marcadas
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 5: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 146, 309, 334, 394 58, 63, 65, 349, 358,384
–
34, 231, 262, 264 4, 70, 90, 172, 304,354
– –
Cuadro 6: Fase 1
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {22, 146, 309, 334, 394}; p2 = {58, 65, 358}; . . . ; p6 = {70, 172}; p7 = {90, 304, 354}.
E1 E2 E3 S
D 22, 146, 309, 334, 394 58, 63, 65, 349, 358,384
22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
E1 E2 S E3
34, 231, 262, 264 4, 70, 90, 172, 304,354
– 22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
Cuadro 7: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico completo con particiones formadas de 1 elemento 47
E1 E2 E3 S
D 22, 146, 309, 334, 394 58, 63, 65, 349, 358,384
22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
E1 E2 S E3
34, 231, 262, 264 4, 70, 90, 172, 304,354
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
S E2 E1 E3
– – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
–
Cuadro 8: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 9: Calculo de la distribucion de columnas y dummies
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.7. Merge Polifasico completo con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.7 Merge Polifasico completo con particiones formadas de 1 elemento
E1 E2 E3 S
D D 22, 146, 309, 334, 394 –58, 65, 358 63 349, 384 –4, 34, 231, 262, 264 70, 172 – –90, 304, 354 – – –
Cuadro 10: Fase 1
E1 E2 E3 S
D D 22, 146, 309, 334, 394 22, 146, 309, 334, 39458, 65, 358 63 349, 384 58, 63, 65, 349, 358,
384
E1 E2 S E3
4, 34, 231, 262, 264 70, 172 – 22, 146, 309, 334, 39490, 304, 354 – – 58, 63, 65, 349, 358,
384
Cuadro 11: Fase 2
E1 E2 E3 S
D D 22, 146, 309, 334, 394 22, 146, 309, 334, 39458, 65, 358 63 349, 384 58, 63, 65, 349, 358,
384
E1 E2 S E3
4, 34, 231, 262, 264 70, 172 4, 22, 34, 70, 146,172, 231, 262, 264,309, 334, 394
22, 146, 309, 334, 394
E1 S E2 E3
90, 304, 354 – 4, 22, 34, 70, 146,172, 231, 262, 264,309, 334, 394
58, 63, 65, 349, 358,384
Cuadro 12: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 49
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 13: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –D D D –D D D –D 22 146 –309 394 334 –58 65 358 –63 349 384 –231 264 – –34 4 – –262 172 – –70 304 – –90 – – –354 – – –
Cuadro 14: Fase 1
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {22, 146}; p2 = {309, 394}; . . . ; p10 = {90, 304}; p11 = {354}.
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 – D
34 4 – D
262 172 – D
70 304 – 22, 14690 – – 309, 334, 394354 – – 58, 65, 358– – – 63, 349, 384
Cuadro 15: Fase 2
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 231, 264 D
34 4 4, 34 D
262 172 172, 262 D
70 304 22, 70, 146, 304 22, 146
E1 S E2 E3
90 – 231, 264 309, 334, 394354 – 4, 34 58, 65, 358– – 172, 262 63, 349, 384– – 22, 70, 146, 304 –
Cuadro 16: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 51
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 231, 264 D
34 4 4, 34 D
262 172 172, 262 D
70 304 22, 70, 146, 304 22, 146
E1 S E2 E3
90 90, 231, 264, 309,334, 394
231, 264 309, 334, 394
354 4, 34, 58, 65, 354, 358 4, 34 58, 65, 358
S E1 E2 E3
– 90, 231, 264, 309,334, 394
172, 262 63, 349, 384
– 4, 34, 58, 65, 354, 358 22, 70, 146, 304 –
Cuadro 17: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 231, 264 D
34 4 4, 34 D
262 172 172, 262 D
70 304 22, 70, 146, 304 22, 146
E1 S E2 E3
90 90, 231, 264, 309,334, 394
231, 264 309, 334, 394
354 4, 34, 58, 65, 354, 358 4, 34 58, 65, 358
S E1 E2 E3
63, 90, 172, 231, 262,264, 309, 334, 349,384, 394
90, 231, 264, 309,334, 394
172, 262 63, 349, 384
E3 E1 E2 S
63, 90, 172, 231, 262,264, 309, 334, 349,384, 394
4, 34, 58, 65, 354, 358 22, 70, 146, 304 –
Cuadro 18: Fase 5
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 53
E1 E2 E3 S
D D D D
D D D D
D D D D
D 22 146 22, 146309 394 334 309, 334, 39458 65 358 58, 65, 35863 349 384 63, 349, 384
E1 E2 S E3
231 264 231, 264 D
34 4 4, 34 D
262 172 172, 262 D
70 304 22, 70, 146, 304 22, 146
E1 S E2 E3
90 90, 231, 264, 309,334, 394
231, 264 309, 334, 394
354 4, 34, 58, 65, 354, 358 4, 34 58, 65, 358
S E1 E2 E3
63, 90, 172, 231, 262,264, 309, 334, 349,384, 394
90, 231, 264, 309,334, 394
172, 262 63, 349, 384
E3 E1 E2 S
63, 90, 172, 231, 262,264, 309, 334, 349,384, 394
4, 34, 58, 65, 354, 358 22, 70, 146, 304 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E1 E2 E3
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 19: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 3 elementos
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 20: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –D D D –22, 146 309, 394 58, 334 –65, 358 63, 349 231, 384 –34, 264 4, 262 – –70, 172 90, 304 – –354 – – –
Cuadro 21: Fase 1
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {22, 146, 309}; p2 = {58, 334, 394}; . . . ; p6 = {70, 172, 262}; p7 = {90, 304, 354}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de las
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 55
E1 E2 E3 S
D D D D
D D D D
22, 146 309, 394 58, 334 22, 58, 146, 309, 334,394
65, 358 63, 349 231, 384 63, 65, 231, 349, 358,384
E1 E2 S E3
34, 264 4, 262 – D
70, 172 90, 304 – D
354 – – 22, 58, 146, 309, 334,394
– – – 63, 65, 231, 349, 358,384
Cuadro 22: Fase 2
E1 E2 E3 S
D D D D
D D D D
22, 146 309, 394 58, 334 22, 58, 146, 309, 334,394
65, 358 63, 349 231, 384 63, 65, 231, 349, 358,384
E1 E2 S E3
34, 264 4, 262 4, 34, 262, 264 D
70, 172 90, 304 70, 90, 172, 304 D
E1 S E2 E3
354 – 4, 34, 262, 264 22, 58, 146, 309, 334,394
– – 70, 90, 172, 304 63, 65, 231, 349, 358,384
Cuadro 23: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.10 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
D D D D
22, 146 309, 394 58, 334 22, 58, 146, 309, 334,394
65, 358 63, 349 231, 384 63, 65, 231, 349, 358,384
E1 E2 S E3
34, 264 4, 262 4, 34, 262, 264 D
70, 172 90, 304 70, 90, 172, 304 D
E1 S E2 E3
354 4, 22, 34, 58, 146,262, 264, 309, 334,354, 394
4, 34, 262, 264 22, 58, 146, 309, 334,394
S E1 E2 E3
– 4, 22, 34, 58, 146,262, 264, 309, 334,354, 394
70, 90, 172, 304 63, 65, 231, 349, 358,384
Cuadro 24: Fase 4
cuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.10. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {22, 146, 309, 394}; p2 = {58, 65, 334, 358}; p3 = {63, 231, 349, 384}; p4 ={4, 34, 262, 264}; p5 = {70, 90, 172, 304}; p6 = {354}.
3.10.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.10.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.11. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 57
E1 E2 E3 S
D D D D
D D D D
22, 146 309, 394 58, 334 22, 58, 146, 309, 334,394
65, 358 63, 349 231, 384 63, 65, 231, 349, 358,384
E1 E2 S E3
34, 264 4, 262 4, 34, 262, 264 D
70, 172 90, 304 70, 90, 172, 304 D
E1 S E2 E3
354 4, 22, 34, 58, 146,262, 264, 309, 334,354, 394
4, 34, 262, 264 22, 58, 146, 309, 334,394
S E1 E2 E3
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
4, 22, 34, 58, 146,262, 264, 309, 334,354, 394
70, 90, 172, 304 63, 65, 231, 349, 358,384
E1 S E2 E3
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
– – –
Cuadro 25: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 26: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 22, 146, 309 –58, 334, 394 63, 65, 358 231, 349, 384 –4, 34, 264 70, 172, 262 – –90, 304, 354 – – –
Cuadro 27: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 22, 146, 309 22, 146, 30958, 334, 394 63, 65, 358 231, 349, 384 58, 63, 65, 231, 334,
349, 358, 384, 394
E1 E2 S E3
4, 34, 264 70, 172, 262 – 22, 146, 30990, 304, 354 – – 58, 63, 65, 231, 334,
349, 358, 384, 394
Cuadro 28: Fase 2
E1 E2 E3 S
D D 22, 146, 309 22, 146, 30958, 334, 394 63, 65, 358 231, 349, 384 58, 63, 65, 231, 334,
349, 358, 384, 394
E1 E2 S E3
4, 34, 264 70, 172, 262 4, 22, 34, 70, 146,172, 262, 264, 309
22, 146, 309
E1 S E2 E3
90, 304, 354 – 4, 22, 34, 70, 146,172, 262, 264, 309
58, 63, 65, 231, 334,349, 358, 384, 394
Cuadro 29: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D 22, 146, 309 22, 146, 30958, 334, 394 63, 65, 358 231, 349, 384 58, 63, 65, 231, 334,
349, 358, 384, 394
E1 E2 S E3
4, 34, 264 70, 172, 262 4, 22, 34, 70, 146,172, 262, 264, 309
22, 146, 309
E1 S E2 E3
90, 304, 354 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
4, 22, 34, 70, 146,172, 262, 264, 309
58, 63, 65, 231, 334,349, 358, 384, 394
S E1 E2 E3
– 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
– –
Cuadro 30: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 31: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –22, 146, 309, 394 58, 65, 334, 358 63, 231, 349, 384 –4, 34, 262, 264 70, 90, 172, 304 – –354 – – –
Cuadro 32: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
22, 146, 309, 394 58, 65, 334, 358 63, 231, 349, 384 22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
E1 E2 S E3
4, 34, 262, 264 70, 90, 172, 304 – D
354 – – 22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
Cuadro 33: Fase 2
E1 E2 E3 S
D D D D
22, 146, 309, 394 58, 65, 334, 358 63, 231, 349, 384 22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
E1 E2 S E3
4, 34, 262, 264 70, 90, 172, 304 4, 34, 70, 90, 172,262, 264, 304
D
E1 S E2 E3
354 – 4, 34, 70, 90, 172,262, 264, 304
22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
Cuadro 34: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 61
E1 E2 E3 S
D D D D
22, 146, 309, 394 58, 65, 334, 358 63, 231, 349, 384 22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
E1 E2 S E3
4, 34, 262, 264 70, 90, 172, 304 4, 34, 70, 90, 172,262, 264, 304
D
E1 S E2 E3
354 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
4, 34, 70, 90, 172,262, 264, 304
22, 58, 63, 65, 146,231, 309, 334, 349,358, 384, 394
S E1 E2 E3
– 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
– –
Cuadro 35: Fase final
3.11.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.12 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
b1 b2 Sale Entra
– – Nada 22
22 – Nada 146
22 146 22 309
309 146 146 394
309 394 309 334
334 394 334 58
58 394 394 65
58 65
Nueva particion! Se cierra la particion p1 = {22, 146, 309, 334, 394}58 358
358 65 65 63
358 63 358 349
349 63
Nueva particion! Se cierra la particion p2 = {58, 65, 358}63 384
349 384 349 231
231 384 384 264
231 264
Nueva particion! Se cierra la particion p3 = {63, 349, 384}231 34
34 264 264 4
34 4
Nueva particion! Se cierra la particion p4 = {231, 264}4 262
34 262 34 172
172 262 172 70
70 262 262 304
70 304 304 90
70 90
Nueva particion! Se cierra la particion p5 = {4, 34, 172, 262, 304}70 354
354 90 90 Nada
354 – 354 Nada
Finaliza la ultima particion en p6 = {70, 90, 354}
3.11.2. Salida final
p1 = {22, 146, 309, 334, 394};
p2 = {58, 65, 358};
p3 = {63, 349, 384};
p4 = {231, 264};
p5 = {4, 34, 172, 262, 304};
p6 = {70, 90, 354}.
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 63
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 36: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –22, 146, 309, 334, 394 58, 65, 358 63, 349, 384 –231, 264 4, 34, 172, 262, 304 – –70, 90, 354 – – –
Cuadro 37: Fase 1
3.12.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.12.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.13. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
22, 146, 309, 334, 394 58, 65, 358 63, 349, 384 22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
E1 E2 S E3
231, 264 4, 34, 172, 262, 304 – D
70, 90, 354 – – 22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
Cuadro 38: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Seleccion Natural con buffers de tamano 2
E1 E2 E3 S
D D D D
22, 146, 309, 334, 394 58, 65, 358 63, 349, 384 22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
E1 E2 S E3
231, 264 4, 34, 172, 262, 304 4, 34, 172, 231, 262,264, 304
D
E1 S E2 E3
70, 90, 354 – 4, 34, 172, 231, 262,264, 304
22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
Cuadro 39: Fase 3
E1 E2 E3 S
D D D D
22, 146, 309, 334, 394 58, 65, 358 63, 349, 384 22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
E1 E2 S E3
231, 264 4, 34, 172, 262, 304 4, 34, 172, 231, 262,264, 304
D
E1 S E2 E3
70, 90, 354 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
4, 34, 172, 231, 262,264, 304
22, 58, 63, 65, 146,309, 334, 349, 358,384, 394
S E1 E2 E3
– 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
– –
Cuadro 40: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 65
3.13.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 22
22 – – – Nada 146
22 146 – – 22 309
309 146 – – 146 394
309 394 – – 309 334
334 394 – – 334 58
– 394 58 – Nada 65
– 394 58 65 394 Nada
58 65 – –
Nueva particion! Se cierra la particion p1 = {22, 146, 309, 334, 394}58 358
358 65 – – 65 63
358 – 63 – Nada 349
358 349 63 – 349 384
358 384 63 – 358 231
– 384 63 231 384 Nada
63 231 – –
Nueva particion! Se cierra la particion p2 = {58, 65, 349, 358, 384}63 264
264 231 – – 231 34
264 – 34 – Nada 4
264 – 34 4 264 Nada
34 4 – –
Nueva particion! Se cierra la particion p3 = {63, 231, 264}4 262
34 262 – – 34 172
172 262 – – 172 70
– 262 70 – Nada 304
304 262 70 – 262 90
304 – 70 90 304 Nada
70 90 – –
Nueva particion! Se cierra la particion p4 = {4, 34, 172, 262, 304}70 354
354 90 – – 90 Nada
354 – – – 354 Nada
Finaliza la ultima particion en p5 = {70, 90, 354}
3.13.2. Salida final
p1 = {22, 146, 309, 334, 394};
p2 = {58, 65, 349, 358, 384};
p3 = {63, 231, 264};
p4 = {4, 34, 172, 262, 304};
p5 = {70, 90, 354}.
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 41: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 146, 309, 334, 394 58, 65, 349, 358, 384 63, 231, 264 –4, 34, 172, 262, 304 70, 90, 354 – –
Cuadro 42: Fase 1
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.14.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.14.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
3.15. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
E1 E2 E3 S
22, 146, 309, 334, 394 58, 65, 349, 358, 384 63, 231, 264 22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
E1 E2 S E3
4, 34, 172, 262, 304 70, 90, 354 – 22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
Cuadro 43: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.15 Seleccion Natural con buffers de tamano 3 67
E1 E2 E3 S
22, 146, 309, 334, 394 58, 65, 349, 358, 384 63, 231, 264 22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
E1 E2 S E3
4, 34, 172, 262, 304 70, 90, 354 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
S E2 E1 E3
– – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
–
Cuadro 44: Fase final
3.15.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.16 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 22
22 – – – – – Nada 146
22 146 – – – – Nada 309
22 146 309 – – – 22 394
394 146 309 – – – 146 334
394 334 309 – – – 309 58
394 334 – 58 – – Nada 65
394 334 – 58 65 – Nada 358
394 334 358 58 65 – 334 63
394 – 358 58 65 63 358 Nada
394 – – 58 65 63 394 Nada
58 65 63 – – –
Nueva particion! Se cierra la particion p1 = {22, 146, 309, 334, 358, 394}58 349
349 65 63 – – – 63 384
349 65 384 – – – 65 231
349 231 384 – – – 231 264
349 264 384 – – – 264 34
349 – 384 34 – – Nada 4
349 – 384 34 4 – Nada 262
349 – 384 34 4 262 349 Nada
– – 384 34 4 262 384 Nada
34 4 262 – – –
Nueva particion! Se cierra la particion p2 = {58, 63, 65, 231, 264, 349, 384}4 172
34 172 262 – – – 34 70
70 172 262 – – – 70 304
304 172 262 – – – 172 90
304 – 262 90 – – Nada 354
304 354 262 90 – – 262 Nada
304 354 – 90 – – 304 Nada
– 354 – 90 – – 354 Nada
90 – – – – –
Nueva particion! Se cierra la particion p3 = {4, 34, 70, 172, 262, 304, 354}90 Nada
Finaliza la ultima particion en p4 = {90}
3.15.2. Salida final
p1 = {22, 146, 309, 334, 358, 394};
p2 = {58, 63, 65, 231, 264, 349, 384};
p3 = {4, 34, 70, 172, 262, 304, 354};
p4 = {90}.
3.16. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.16.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot Algoritmos y Programacion II
3.17 Seleccion de reemplazo con buffer de tamano 4 69
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 45: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 146, 309, 334,358, 394
58, 63, 65, 231, 264,349, 384
–
4, 34, 70, 172, 262,304, 354
90 – –
Cuadro 46: Fase 1
3.16.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.17. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
3.17.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
E1 E2 E3 S
D 22, 146, 309, 334,358, 394
58, 63, 65, 231, 264,349, 384
22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
E1 E2 S E3
4, 34, 70, 172, 262,304, 354
90 – 22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
Cuadro 47: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.17 Seleccion de reemplazo con buffer de tamano 4
E1 E2 E3 S
D 22, 146, 309, 334,358, 394
58, 63, 65, 231, 264,349, 384
22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
E1 E2 S E3
4, 34, 70, 172, 262,304, 354
90 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
22, 58, 63, 65, 146,231, 264, 309, 334,349, 358, 384, 394
S E2 E1 E3
– – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
–
Cuadro 48: Fase final
b1 b2 b3 b4 Sale Entra
– – – – Nada 22
22 – – – Nada 146
22 146 – – Nada 309
22 146 309 – Nada 394
22 146 309 394 22 334
334 146 309 394 146 58
334 58 309 394 309 65
334 58 65 394 334 358
358 58 65 394 358 63
63 58 65 394 394 349
63 58 65 349
Nueva particion! Se cierra la particion p1 =
{22, 146, 309, 334, 358, 394}58 384
63 384 65 349 63 231
231 384 65 349 65 264
231 384 264 349 231 34
34 384 264 349 264 4
34 384 4 349 349 262
34 384 4 262 384 172
34 172 4 262
Nueva particion! Se cierra la particion p2 =
{58, 63, 65, 231, 264, 349, 384}4 70
34 172 70 262 34 304
304 172 70 262 70 90
304 172 90 262 90 354
304 172 354 262 172 Nada
304 – 354 262 262 Nada
304 – 354 – 304 Nada
– – 354 – 354 Nada
Finaliza la ultima particion en p3 = {4, 34, 70, 90, 172, 262, 304, 354}
Enrique P. Calot Algoritmos y Programacion II
3.18 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 71
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 49: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 146, 309, 334,358, 394
58, 63, 65, 231, 264,349, 384
4, 34, 70, 90, 172,262, 304, 354
–
Cuadro 50: Fase 1
3.17.2. Salida final
p1 = {22, 146, 309, 334, 358, 394};
p2 = {58, 63, 65, 231, 264, 349, 384};
p3 = {4, 34, 70, 90, 172, 262, 304, 354}.
3.18. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.18.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.18.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.19. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
3.19.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.19 Seleccion Natural con buffers de tamano 4
E1 E2 E3 S
22, 146, 309, 334,358, 394
58, 63, 65, 231, 264,349, 384
4, 34, 70, 90, 172,262, 304, 354
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 51: Fase final
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 22
22 – – – – – – – Nada 146
22 146 – – – – – – Nada 309
22 146 309 – – – – – Nada 394
22 146 309 394 – – – – 22 334
334 146 309 394 – – – – 146 58
334 – 309 394 58 – – – Nada 65
334 – 309 394 58 65 – – Nada 358
334 358 309 394 58 65 – – 309 63
334 358 – 394 58 65 63 – Nada 349
334 358 349 394 58 65 63 – 334 384
384 358 349 394 58 65 63 – 349 231
384 358 – 394 58 65 63 231 358 Nada
384 – – 394 58 65 63 231 384 Nada
– – – 394 58 65 63 231 394 Nada
58 65 63 231 – – – –
Nueva particion! Se cierra la particion p1 = {22, 146, 309, 334, 349, 358, 384, 394}58 264
264 65 63 231 – – – – 63 34
264 65 – 231 34 – – – Nada 4
264 65 – 231 34 4 – – Nada 262
264 65 262 231 34 4 – – 65 172
264 172 262 231 34 4 – – 172 70
264 – 262 231 34 4 70 – Nada 304
264 304 262 231 34 4 70 – 231 90
264 304 262 – 34 4 70 90 262 Nada
264 304 – – 34 4 70 90 264 Nada
– 304 – – 34 4 70 90 304 Nada
34 4 70 90 – – – –
Nueva particion! Se cierra la particion p2 = {58, 63, 65, 172, 231, 262, 264, 304}4 354
34 354 70 90 – – – – 34 Nada
– 354 70 90 – – – – 70 Nada
– 354 – 90 – – – – 90 Nada
– 354 – – – – – – 354 Nada
Finaliza la ultima particion en p3 = {4, 34, 70, 90, 354}
Enrique P. Calot Algoritmos y Programacion II
3.20 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 73
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 146, 309, 334,349, 358, 384, 394
58, 63, 65, 172, 231,262, 264, 304
4, 34, 70, 90, 354 –
Cuadro 53: Fase 1
3.19.2. Salida final
p1 = {22, 146, 309, 334, 349, 358, 384, 394};
p2 = {58, 63, 65, 172, 231, 262, 264, 304};
p3 = {4, 34, 70, 90, 354}.
3.20. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.20.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.20.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.21. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.21.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.21 Seleccion de reemplazo con buffer de tamano 5
E1 E2 E3 S
22, 146, 309, 334,349, 358, 384, 394
58, 63, 65, 172, 231,262, 264, 304
4, 34, 70, 90, 354 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 54: Fase final
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 22
22 – – – – Nada 146
22 146 – – – Nada 309
22 146 309 – – Nada 394
22 146 309 394 – Nada 334
22 146 309 394 334 22 58
58 146 309 394 334 58 65
65 146 309 394 334 65 358
358 146 309 394 334 146 63
358 63 309 394 334 309 349
358 63 349 394 334 334 384
358 63 349 394 384 349 231
358 63 231 394 384 358 264
264 63 231 394 384 384 34
264 63 231 394 34 394 4
264 63 231 4 34
Nueva particion! Se cierra la particion p1 =
{22, 58, 65, 146, 309, 334, 349, 358, 384, 394}4 262
264 63 231 262 34 34 172
264 63 231 262 172 63 70
264 70 231 262 172 70 304
264 304 231 262 172 172 90
264 304 231 262 90 231 354
264 304 354 262 90 262 Nada
264 304 354 – 90 264 Nada
– 304 354 – 90 304 Nada
– – 354 – 90 354 Nada
– – – – 90
Nueva particion! Se cierra la particion p2 =
{4, 34, 63, 70, 172, 231, 262, 264, 304, 354}90 Nada
Finaliza la ultima particion en p3 = {90}
3.21.2. Salida final
p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394};
p2 = {4, 34, 63, 70, 172, 231, 262, 264, 304, 354};
Enrique P. Calot Algoritmos y Programacion II
3.22 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 75
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 172,231, 262, 264, 304,354
90 –
Cuadro 56: Fase 1
p3 = {90}.
3.22. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.22.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.22.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.23. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.23.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.23 Seleccion Natural con buffers de tamano 5
E1 E2 E3 S
22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 172,231, 262, 264, 304,354
90 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 57: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 22
22 – – – – – – – – – Nada 146
22 146 – – – – – – – – Nada 309
22 146 309 – – – – – – – Nada 394
22 146 309 394 – – – – – – Nada 334
22 146 309 394 334 – – – – – 22 58
58 146 309 394 334 – – – – – 58 65
65 146 309 394 334 – – – – – 65 358
358 146 309 394 334 – – – – – 146 63
358 – 309 394 334 63 – – – – Nada 349
358 349 309 394 334 63 – – – – 309 384
358 349 384 394 334 63 – – – – 334 231
358 349 384 394 – 63 231 – – – Nada 264
358 349 384 394 – 63 231 264 – – Nada 34
358 349 384 394 – 63 231 264 34 – Nada 4
358 349 384 394 – 63 231 264 34 4 349 Nada
358 – 384 394 – 63 231 264 34 4 358 Nada
– – 384 394 – 63 231 264 34 4 384 Nada
– – – 394 – 63 231 264 34 4 394 Nada
63 231 264 34 4 – – – – –
Nueva particion! Se cierra la particion p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394}4 262
63 231 264 34 262 – – – – – 34 172
63 231 264 172 262 – – – – – 63 70
70 231 264 172 262 – – – – – 70 304
304 231 264 172 262 – – – – – 172 90
304 231 264 – 262 90 – – – – Nada 354
304 231 264 354 262 90 – – – – 231 Nada
304 – 264 354 262 90 – – – – 262 Nada
304 – 264 354 – 90 – – – – 264 Nada
304 – – 354 – 90 – – – – 304 Nada
– – – 354 – 90 – – – – 354 Nada
90 – – – – – – – – –
Nueva particion! Se cierra la particion p2 = {4, 34, 63, 70, 172, 231, 262, 264, 304, 354}90 Nada
Finaliza la ultima particion en p3 = {90}
Enrique P. Calot Algoritmos y Programacion II
3.24 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 77
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 58: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 172,231, 262, 264, 304,354
90 –
Cuadro 59: Fase 1
3.23.2. Salida final
p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394};
p2 = {4, 34, 63, 70, 172, 231, 262, 264, 304, 354};
p3 = {90}.
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.24.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.24.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.25. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.25.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.25 Seleccion de reemplazo con buffer de tamano 6
E1 E2 E3 S
22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 172,231, 262, 264, 304,354
90 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 60: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 22
22 – – – – – Nada 146
22 146 – – – – Nada 309
22 146 309 – – – Nada 394
22 146 309 394 – – Nada 334
22 146 309 394 334 – Nada 58
22 146 309 394 334 58 22 65
65 146 309 394 334 58 58 358
65 146 309 394 334 358 65 63
63 146 309 394 334 358 146 349
63 349 309 394 334 358 309 384
63 349 384 394 334 358 334 231
63 349 384 394 231 358 349 264
63 264 384 394 231 358 358 34
63 264 384 394 231 34 384 4
63 264 4 394 231 34 394 262
63 264 4 262 231 34
Nueva particion! Se cierra la particion p1 =
{22, 58, 65, 146, 309, 334, 349, 358, 384, 394}4 172
63 264 172 262 231 34 34 70
63 264 172 262 231 70 63 304
304 264 172 262 231 70 70 90
304 264 172 262 231 90 90 354
304 264 172 262 231 354 172 Nada
304 264 – 262 231 354 231 Nada
304 264 – 262 – 354 262 Nada
304 264 – – – 354 264 Nada
304 – – – – 354 304 Nada
– – – – – 354 354 Nada
Finaliza la ultima particion en p2 =
{4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}
3.25.2. Salida final
p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394};
p2 = {4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}.
Enrique P. Calot Algoritmos y Programacion II
3.26 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 79
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 61: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 90, 172,231, 262, 264, 304,354
–
Cuadro 62: Fase 1
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.26.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.26.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.27. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.27.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.27 Seleccion Natural con buffers de tamano 6
E1 E2 E3 S
D 22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 90, 172,231, 262, 264, 304,354
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 63: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 22
22 – – – – – – – – – – – Nada 146
22 146 – – – – – – – – – – Nada 309
22 146 309 – – – – – – – – – Nada 394
22 146 309 394 – – – – – – – – Nada 334
22 146 309 394 334 – – – – – – – Nada 58
22 146 309 394 334 58 – – – – – – 22 65
65 146 309 394 334 58 – – – – – – 58 358
65 146 309 394 334 358 – – – – – – 65 63
– 146 309 394 334 358 63 – – – – – Nada 349
349 146 309 394 334 358 63 – – – – – 146 384
349 384 309 394 334 358 63 – – – – – 309 231
349 384 – 394 334 358 63 231 – – – – Nada 264
349 384 – 394 334 358 63 231 264 – – – Nada 34
349 384 – 394 334 358 63 231 264 34 – – Nada 4
349 384 – 394 334 358 63 231 264 34 4 – Nada 262
349 384 – 394 334 358 63 231 264 34 4 262 334 Nada
349 384 – 394 – 358 63 231 264 34 4 262 349 Nada
– 384 – 394 – 358 63 231 264 34 4 262 358 Nada
– 384 – 394 – – 63 231 264 34 4 262 384 Nada
– – – 394 – – 63 231 264 34 4 262 394 Nada
63 231 264 34 4 262 – – – – – –
Nueva particion! Se cierra la particion p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394}4 172
63 231 264 34 172 262 – – – – – – 34 70
63 231 264 70 172 262 – – – – – – 63 304
304 231 264 70 172 262 – – – – – – 70 90
304 231 264 90 172 262 – – – – – – 90 354
304 231 264 354 172 262 – – – – – – 172 Nada
304 231 264 354 – 262 – – – – – – 231 Nada
304 – 264 354 – 262 – – – – – – 262 Nada
304 – 264 354 – – – – – – – – 264 Nada
304 – – 354 – – – – – – – – 304 Nada
– – – 354 – – – – – – – – 354 Nada
Finaliza la ultima particion en p2 = {4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}
3.27.2. Salida final
p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394};
Enrique P. Calot Algoritmos y Programacion II
3.28 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 81
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 64: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 90, 172,231, 262, 264, 304,354
–
Cuadro 65: Fase 1
p2 = {4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}.
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.28.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.28.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.29 Bubble Sort ascendente
E1 E2 E3 S
D 22, 58, 65, 146, 309,334, 349, 358, 384,394
4, 34, 63, 70, 90, 172,231, 262, 264, 304,354
4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
S E2 E3 E1
– – – 4, 22, 34, 58, 63, 65,70, 90, 146, 172, 231,262, 264, 304, 309,334, 349, 354, 358,384, 394
Cuadro 66: Fase final
3.29. Bubble Sort ascendente
3.29.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 17/20
1 22 146 309 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 394 14/19
2 22 146 309 58 65 334 63 349 358 231 264 34 4 262 172 70 304 90 354 384 394 13/18
3 22 146 58 65 309 63 334 349 231 264 34 4 262 172 70 304 90 354 358 384 394 12/17
4 22 58 65 146 63 309 334 231 264 34 4 262 172 70 304 90 349 354 358 384 394 10/16
5 22 58 65 63 146 309 231 264 34 4 262 172 70 304 90 334 349 354 358 384 394 10/15
6 22 58 63 65 146 231 264 34 4 262 172 70 304 90 309 334 349 354 358 384 394 6/14
7 22 58 63 65 146 231 34 4 262 172 70 264 90 304 309 334 349 354 358 384 394 5/13
8 22 58 63 65 146 34 4 231 172 70 262 90 264 304 309 334 349 354 358 384 394 5/12
9 22 58 63 65 34 4 146 172 70 231 90 262 264 304 309 334 349 354 358 384 394 4/11
10 22 58 63 34 4 65 146 70 172 90 231 262 264 304 309 334 349 354 358 384 394 4/10
11 22 58 34 4 63 65 70 146 90 172 231 262 264 304 309 334 349 354 358 384 394 3/9
12 22 34 4 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 1/8
13 22 4 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 1/7
14 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/6
15 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/5
16 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/4
17 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/3
18 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/2
19 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/1
20 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/0
Enrique P. Calot Algoritmos y Programacion II
3.30 Bubble Sort descendente 83
3.30. Bubble Sort descendente
3.30.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 19/20
1 146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354 4 16/19
2 309 394 334 146 65 358 63 349 384 231 264 58 34 262 172 70 304 90 354 22 4 13/18
3 394 334 309 146 358 65 349 384 231 264 63 58 262 172 70 304 90 354 34 22 4 11/17
4 394 334 309 358 146 349 384 231 264 65 63 262 172 70 304 90 354 58 34 22 4 11/16
5 394 334 358 309 349 384 231 264 146 65 262 172 70 304 90 354 63 58 34 22 4 10/15
6 394 358 334 349 384 309 264 231 146 262 172 70 304 90 354 65 63 58 34 22 4 7/14
7 394 358 349 384 334 309 264 231 262 172 146 304 90 354 70 65 63 58 34 22 4 4/13
8 394 358 384 349 334 309 264 262 231 172 304 146 354 90 70 65 63 58 34 22 4 3/12
9 394 384 358 349 334 309 264 262 231 304 172 354 146 90 70 65 63 58 34 22 4 2/11
10 394 384 358 349 334 309 264 262 304 231 354 172 146 90 70 65 63 58 34 22 4 2/10
11 394 384 358 349 334 309 264 304 262 354 231 172 146 90 70 65 63 58 34 22 4 2/9
12 394 384 358 349 334 309 304 264 354 262 231 172 146 90 70 65 63 58 34 22 4 1/8
13 394 384 358 349 334 309 304 354 264 262 231 172 146 90 70 65 63 58 34 22 4 1/7
14 394 384 358 349 334 309 354 304 264 262 231 172 146 90 70 65 63 58 34 22 4 1/6
15 394 384 358 349 334 354 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 1/5
16 394 384 358 349 354 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 1/4
17 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/3
18 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/2
19 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/1
20 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.31 Bilateral Bubble Sort ascendente
3.31. Bilateral Bubble Sort ascendente
3.31.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 17/20
1 22 146 309 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 394 16/20
2 4 22 146 309 334 58 65 358 63 349 384 231 264 34 70 262 172 90 304 354 394 13/18
3 4 22 146 309 58 65 334 63 349 358 231 264 34 70 262 172 90 304 354 384 394 12/18
4 4 22 34 146 309 58 65 334 63 349 358 231 264 70 90 262 172 304 354 384 394 11/16
5 4 22 34 146 58 65 309 63 334 349 231 264 70 90 262 172 304 354 358 384 394 8/16
6 4 22 34 58 146 63 65 309 70 334 349 231 264 90 172 262 304 354 358 384 394 9/14
7 4 22 34 58 63 65 146 70 309 334 231 264 90 172 262 304 349 354 358 384 394 5/14
8 4 22 34 58 63 65 70 146 90 309 334 231 264 172 262 304 349 354 358 384 394 6/12
9 4 22 34 58 63 65 70 90 146 309 231 264 172 262 304 334 349 354 358 384 394 3/12
10 4 22 34 58 63 65 70 90 146 172 309 231 264 262 304 334 349 354 358 384 394 4/10
11 4 22 34 58 63 65 70 90 146 172 231 264 262 304 309 334 349 354 358 384 394 1/10
12 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/8
13 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/8
14 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/6
15 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/6
16 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/4
17 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/4
18 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/2
19 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/2
20 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 0/0
Enrique P. Calot Algoritmos y Programacion II
3.32 Bilateral Bubble Sort descendente 85
3.32. Bilateral Bubble Sort descendente
3.32.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 19/20
1 146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354 4 17/20
2 394 146 309 384 334 58 65 358 63 349 354 231 264 34 22 262 172 70 304 90 4 15/18
3 394 309 384 334 146 65 358 63 349 354 231 264 58 34 262 172 70 304 90 22 4 13/18
4 394 384 309 358 334 146 65 354 63 349 304 231 264 58 34 262 172 70 90 22 4 11/16
5 394 384 358 334 309 146 354 65 349 304 231 264 63 58 262 172 70 90 34 22 4 8/16
6 394 384 358 354 334 309 146 349 65 304 264 231 262 63 58 172 90 70 34 22 4 8/14
7 394 384 358 354 334 309 349 146 304 264 231 262 65 63 172 90 70 58 34 22 4 6/14
8 394 384 358 354 349 334 309 304 146 264 262 231 172 65 63 90 70 58 34 22 4 6/12
9 394 384 358 354 349 334 309 304 264 262 231 172 146 65 90 70 63 58 34 22 4 1/12
10 394 384 358 354 349 334 309 304 264 262 231 172 146 90 65 70 63 58 34 22 4 1/10
11 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/10
12 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/8
13 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/8
14 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/6
15 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/6
16 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/4
17 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/4
18 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/2
19 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/2
20 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.33 Selection Sort ascendente
3.33. Selection Sort ascendente
3.33.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 1/20
1 4 146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354 1/19
2 4 22 309 394 334 58 65 358 63 349 384 231 264 34 146 262 172 70 304 90 354 1/18
3 4 22 34 394 334 58 65 358 63 349 384 231 264 309 146 262 172 70 304 90 354 1/17
4 4 22 34 58 334 394 65 358 63 349 384 231 264 309 146 262 172 70 304 90 354 1/16
5 4 22 34 58 63 394 65 358 334 349 384 231 264 309 146 262 172 70 304 90 354 1/15
6 4 22 34 58 63 65 394 358 334 349 384 231 264 309 146 262 172 70 304 90 354 1/14
7 4 22 34 58 63 65 70 358 334 349 384 231 264 309 146 262 172 394 304 90 354 1/13
8 4 22 34 58 63 65 70 90 334 349 384 231 264 309 146 262 172 394 304 358 354 1/12
9 4 22 34 58 63 65 70 90 146 349 384 231 264 309 334 262 172 394 304 358 354 1/11
10 4 22 34 58 63 65 70 90 146 172 384 231 264 309 334 262 349 394 304 358 354 1/10
11 4 22 34 58 63 65 70 90 146 172 231 384 264 309 334 262 349 394 304 358 354 1/9
12 4 22 34 58 63 65 70 90 146 172 231 262 264 309 334 384 349 394 304 358 354 1/8
13 4 22 34 58 63 65 70 90 146 172 231 262 264 309 334 384 349 394 304 358 354 1/7
14 4 22 34 58 63 65 70 90 146 172 231 262 264 304 334 384 349 394 309 358 354 1/6
15 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 384 349 394 334 358 354 1/5
16 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 394 384 358 354 1/4
17 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 394 384 358 354 1/3
18 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 384 358 394 1/2
19 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 1/1
20 4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394 1/0
Enrique P. Calot Algoritmos y Programacion II
3.34 Selection Sort descendente 87
3.34. Selection Sort descendente
3.34.1. Desarrollo
0 22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 1/20
1 394 146 309 22 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354 1/19
2 394 384 309 22 334 58 65 358 63 349 146 231 264 34 4 262 172 70 304 90 354 1/18
3 394 384 358 22 334 58 65 309 63 349 146 231 264 34 4 262 172 70 304 90 354 1/17
4 394 384 358 354 334 58 65 309 63 349 146 231 264 34 4 262 172 70 304 90 22 1/16
5 394 384 358 354 349 58 65 309 63 334 146 231 264 34 4 262 172 70 304 90 22 1/15
6 394 384 358 354 349 334 65 309 63 58 146 231 264 34 4 262 172 70 304 90 22 1/14
7 394 384 358 354 349 334 309 65 63 58 146 231 264 34 4 262 172 70 304 90 22 1/13
8 394 384 358 354 349 334 309 304 63 58 146 231 264 34 4 262 172 70 65 90 22 1/12
9 394 384 358 354 349 334 309 304 264 58 146 231 63 34 4 262 172 70 65 90 22 1/11
10 394 384 358 354 349 334 309 304 264 262 146 231 63 34 4 58 172 70 65 90 22 1/10
11 394 384 358 354 349 334 309 304 264 262 231 146 63 34 4 58 172 70 65 90 22 1/9
12 394 384 358 354 349 334 309 304 264 262 231 172 63 34 4 58 146 70 65 90 22 1/8
13 394 384 358 354 349 334 309 304 264 262 231 172 146 34 4 58 63 70 65 90 22 1/7
14 394 384 358 354 349 334 309 304 264 262 231 172 146 90 4 58 63 70 65 34 22 1/6
15 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 58 63 4 65 34 22 1/5
16 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 4 58 34 22 1/4
17 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 4 58 34 22 1/3
18 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 4 34 22 1/2
19 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 4 22 1/1
20 394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22 4 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-08-02
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
22, 146, 309, 394, 334†, 58, 65, 358†, 63†, 349, 384†, 231, 264, 34, 4, 262†, 172, 70†,
304, 90, 354†
Se pide:
a. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
b. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones ordenadastomadas del lote de datos.
c. Se dice que el orden del algoritmo de Heap Sort es de O(n log2n), explique con sus palabras de donde sale
ese logaritmo.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
262, 231†, 304†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente(hacer al menos 1 swapdown).
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 13 de Diciembre de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-12-13
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 6
2.1. a. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 62.1.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. b. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. b. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. c. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6. d. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7. e. Seleccion de reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Resolucion explayada 15
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5. Merge Polifasico de las salidas por seleccion de reemplazo . . . . . . . . . . . . . . . . . . 473.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 493.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7. Merge Polifasico completo con particiones formadas de 1 elemento . . . . . . . . . . . . . 503.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 503.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.8. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 503.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 523.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.9. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 523.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 523.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.10. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 573.10.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 57
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.11. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 57
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 633.12.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 643.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.13. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 673.14.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 673.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.15. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.16. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 693.16.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 693.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.17. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 703.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.18. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 723.18.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 723.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.19. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.20. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 743.20.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 743.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.21. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 743.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.22. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 763.22.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 763.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.23. Seleccion Natural con buffers de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano 5 . . . . . . . . . . 783.24.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.25. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 783.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 803.26.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 803.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 823.28.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 823.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
40, 254, 177, 400, 256†, 147, 376, 89†, 95†, 274, 382†, 16, 205, 217, 42,
182†, 179, 172†, 245, 176, 313†
Se pide:
a. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
b. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown), QuickSort (hasta haber completado dos niveles de recursividad) y Radix Sort en orden ascendente (en-tero).
c. Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,se sabe que solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado enuna maquina con una memoria interna comparable a 2p2×sizeof(tElem). Dispone de las siguientessoluciones:
a) Sort externo: seleccion de reemplazo (se asume M ≥ 3) y merge polifasico
b) Sort externo: seleccion natural (se asume M ≥ 3) y merge polifasico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2 elementos ymerge polifasico
d) Sort interno: quick sort de pivoteo en el primer elemento
e) Sort interno: quick sort de pivoteo en el ultimo elemento
f ) Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si nohay intercambios)
g) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap elpadre es mayor a los hijos)
h) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap elpadre es menor a los hijos)
i) Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
205, 182†, 245†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
e. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
Algoritmos y Programacion II Facultad de Ingenierıa
6 2 Resolucion estricta
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Merge Polifasico
Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones orde-nadas tomadas del lote de datos.
2.1.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.1.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
2.2. b. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
Enrique P. Calot Algoritmos y Programacion II
2.2 b. Radix Sort 7
E1 E2 E3 S
D D D –D D D –D D D –D 40 254 –177 400 256 –147 376 89 –95 274 382 –16 205 – –217 42 – –182 179 – –172 245 – –176 – – –313 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 – D
217 42 – D
182 179 – D
172 245 – 40, 254176 – – 177, 256, 400313 – – 89, 147, 376– – – 95, 274, 382
Cuadro 3: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.2 b. Radix Sort
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 16, 205 D
217 42 42, 217 D
182 179 179, 182 D
172 245 40, 172, 245, 254 40, 254
E1 S E2 E3
176 – 16, 205 177, 256, 400313 – 42, 217 89, 147, 376– – 179, 182 95, 274, 382– – 40, 172, 245, 254 –
Cuadro 4: Fase 3
2.2.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Enrique P. Calot Algoritmos y Programacion II
2.3 b. Quick Sort 9
Paso 0 Paso 1 Paso 2 Paso 3040 040 400 016254 400 205 040177 382 313 042400 042 016 089256 182 217 095147 172 040 147376 313 042 172089 254 245 176095 274 147 177274 095 254 179382 205 256 182016 245 172 205205 256 274 217217 376 376 245042 016 176 254182 176 177 256179 177 179 274172 147 382 313245 217 182 376176 089 089 382313 179 095 400
2.3. b. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.3.1. Desarrollo
Paso 1 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313
Paso 2 16 40 177 400 256 147 376 89 95 274 382 254 205 217 42 182 179 172 245 176 313
Paso 3 95 176 172 147 42 89 177 274 382 254 205 217 376 182 179 256 245 400 313
Final 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400
2.4. b. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.4 b. Heap Sort
2.4.1. Arbol inicial
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313
Arbol inicial y su vector asociadoHeapfy paso 0
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382
16 205 217 42 182 179 172 245 176 313
Heapfy paso 1
40
254 177
400 256 147 376
182 245 313 382 16 205 217 42
89 179 172 95 176 274
Vector:
40 254 177 400 256 147 376 182 245 313 382
16 205 217 42 89 179 172 95 176 274
Heapfy paso 2
Enrique P. Calot Algoritmos y Programacion II
2.4 b. Heap Sort 11
40
254 177
400 382 205 376
182 245 313 256 16 147 217 42
89 179 172 95 176 274
Vector:
40 254 177 400 382 205 376 182 245 313 256
16 147 217 42 89 179 172 95 176 274
Heapfy paso 3
40
400 376
254 382 205 217
182 245 313 256 16 147 177 42
89 179 172 95 176 274
Vector:
40 400 376 254 382 205 217 182 245 313 256
16 147 177 42 89 179 172 95 176 274
Heapfy paso 4
400
382 376
254 313 205 217
182 245 274 256 16 147 177 42
89 179 172 95 176 40
Vector:
400 382 376 254 313 205 217 182 245 274 256
16 147 177 42 89 179 172 95 176 40
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.5 c. Pregunta teorica
40
382 376
254 313 205 217
182 245 274 256 16 147 177 42
89 179 172 95 176 400
Vector:
40 382 376 254 313 205 217 182 245 274 256
16 147 177 42 89 179 172 95 176 400
Paso 1: ultimo congelado pedido antes del corte
2.5. c. Pregunta teorica
Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,se sabe que solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado enuna maquina con una memoria interna comparable a 2p2 × sizeof(tElem). Dispone de las siguientessoluciones:
a. Sort externo: seleccion de reemplazo (se asume M ≥ 3) y merge polifasico
b. Sort externo: seleccion natural (se asume M ≥ 3) y merge polifasico
c. Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2 elementos y merge
polifasico
d. Sort interno: quick sort de pivoteo en el primer elemento
e. Sort interno: quick sort de pivoteo en el ultimo elemento
f. Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si no hayintercambios)
g. Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padrees mayor a los hijos)
h. Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padrees menor a los hijos)
i. Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
2.5.1. Respuesta
La mejor solucion es bubble sort, porque en como maximo 3 recorridas (3p comparaciones) se garantizael ordenamiento (del orden de O(p)), el sort externo queda descartado porque es menos optimo y el internose puede utilizar (la informacion entra en la memoria interna y se encuentra disponible), selection sort sedescarta por ser de orden O(p2) (incluso si el arreglo esta semi-ordenado), heap sort es de orden O(p log p)
Enrique P. Calot Algoritmos y Programacion II
2.6 d. Ejercicio de B-trees 13
y ambas implementaciones de quick sort resultan ineficientes para un arreglo semi-ordenado (en este casoserıan casi de orden O(p2)).
2.6. d. Ejercicio de B-trees
Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
205, 182†, 245†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.6.1. Insercion
•254•
×40×177× ×256×400×
Insercion de 5 elementos: 40, 254, 177, 400, 256
•254•
×40×89×147×177× ×256×376×400×
Insercion de 3 elementos: 147, 376, 89
•95•254•
×40×89× ×147×177× ×256×376×400×
Insercion de 1 elemento: 95
•95•254•376•
×40×89× ×147×177× ×256×274× ×382×400×
Insercion de 2 elementos: 274, 382
•95•182•254•376•
×16×40×42×89× ×147×177× ×205×217× ×256×274× ×382×400×
Insercion de 5 elementos: 16, 205, 217, 42, 182
•95•182•254•376•
×16×40×42×89× ×147×172×177×179× ×205×217× ×256×274× ×382×400×
Insercion de 2 elementos: 179, 172
•182•
•95•176• •254•376•
×16×40×42×89× ×147×172× ×177×179× ×205×217×245× ×256×274×313× ×382×400×
Insercion de 3 elementos: 245, 176, 313
Algoritmos y Programacion II Facultad de Ingenierıa
14 2.7 e. Seleccion de reemplazo
2.6.2. Eliminacion
•95•176•254•376•
×16×40×42×89× ×147×172× ×177×179×217×245× ×256×274×313× ×382×400×
Eliminacion de 2 elementos: 205, 182
•95•176•254•376•
×16×40×42×89× ×147×172× ×177×179×217× ×256×274×313× ×382×400×
Eliminacion de 1 elemento: 245
2.7. e. Seleccion de reemplazo
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
2.7.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 Sale Entra
– – – Nada 40
40 – – Nada 254
40 254 – Nada 177
40 254 177 40 400
400 254 177 177 256
400 254 256 254 147
400 147 256 256 376
400 147 376 376 89
400 147 89 400 95
95 147 89
Nueva particion! Se cierra la particion p1 =
{40, 177, 254, 256, 376, 400}89 274
95 147 274 95 382
382 147 274 147 16
382 16 274 274 205
382 16 205 382 217
217 16 205
Nueva particion! Se cierra la particion p2 = {89, 95, 147, 274, 382}16 42
217 42 205 42 182
217 182 205 182 179
217 179 205 205 172
217 179 172 217 245
245 179 172 245 176
176 179 172
Nueva particion! Se cierra la particion p3 = {16, 42, 182, 205, 217, 245}172 313
176 179 313 176 Nada
– 179 313 179 Nada
– – 313 313 Nada
Finaliza la ultima particion en p4 = {172, 176, 179, 313}
Enrique P. Calot Algoritmos y Programacion II
3 Resolucion explayada 15
2.7.2. Salida final
p1 = {40, 177, 254, 256, 376, 400};
p2 = {89, 95, 147, 274, 382};
p3 = {16, 42, 182, 205, 217, 245};
p4 = {172, 176, 179, 313}.
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Paso 0 Paso 1 Paso 2 Paso 3040 089 095 400254 179 089 382177 177 382 376400 147 182 313256 217 179 274147 256 177 256376 376 376 254089 016 176 245095 176 274 217274 095 172 205382 205 256 182016 245 254 179205 254 147 177217 274 245 176042 313 042 172182 382 040 147179 042 217 095172 182 016 089245 172 313 042176 040 205 040313 400 400 016
3.2. Quick Sort completo
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
3.2.1. Desarrollo
Paso 1 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313
Paso 2 16 40 177 400 256 147 376 89 95 274 382 254 205 217 42 182 179 172 245 176 313
Paso 3 95 176 172 147 42 89 177 274 382 254 205 217 376 182 179 256 245 400 313
Paso 4 42 89 95 147 172 176 179 245 254 205 217 256 182 274 376 382 400 313
Paso 5 42 89 147 172 176 179 245 254 205 217 256 182 313 376 400 382
Paso 6 172 176 217 182 205 245 256 254 382 400
Paso 7 205 182 217 254 256
Final 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
3.3.1. Arbol inicial
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313
Arbol inicial y su vector asociadoHeapfy paso 0
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382
16 205 217 42 182 179 172 245 176 313
Heapfy paso 1
40
254 177
400 256 147 376
182 245 313 382 16 205 217 42
89 179 172 95 176 274
Vector:
40 254 177 400 256 147 376 182 245 313 382
16 205 217 42 89 179 172 95 176 274
Heapfy paso 2
40
254 177
400 382 205 376
182 245 313 256 16 147 217 42
89 179 172 95 176 274
Vector:
40 254 177 400 382 205 376 182 245 313 256
16 147 217 42 89 179 172 95 176 274
Heapfy paso 3
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
40
400 376
254 382 205 217
182 245 313 256 16 147 177 42
89 179 172 95 176 274
Vector:
40 400 376 254 382 205 217 182 245 313 256
16 147 177 42 89 179 172 95 176 274
Heapfy paso 4
400
382 376
254 313 205 217
182 245 274 256 16 147 177 42
89 179 172 95 176 40
Vector:
400 382 376 254 313 205 217 182 245 274 256
16 147 177 42 89 179 172 95 176 40
Intercambio y congelamiento
40
382 376
254 313 205 217
182 245 274 256 16 147 177 42
89 179 172 95 176 400
Vector:
40 382 376 254 313 205 217 182 245 274 256
16 147 177 42 89 179 172 95 176 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
382
313 376
254 274 205 217
182 245 176 256 16 147 177 42
89 179 172 95 40 400
Vector:
382 313 376 254 274 205 217 182 245 176 256
16 147 177 42 89 179 172 95 40 400
Intercambio y congelamiento
40
313 376
254 274 205 217
182 245 176 256 16 147 177 42
89 179 172 95 382 400
Vector:
40 313 376 254 274 205 217 182 245 176 256
16 147 177 42 89 179 172 95 382 400
Swapdown
376
313 217
254 274 205 177
182 245 176 256 16 147 40 42
89 179 172 95 382 400
Vector:
376 313 217 254 274 205 177 182 245 176 256
16 147 40 42 89 179 172 95 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
95
313 217
254 274 205 177
182 245 176 256 16 147 40 42
89 179 172 376 382 400
Vector:
95 313 217 254 274 205 177 182 245 176 256
16 147 40 42 89 179 172 376 382 400
Swapdown
313
274 217
254 256 205 177
182 245 176 95 16 147 40 42
89 179 172 376 382 400
Vector:
313 274 217 254 256 205 177 182 245 176 95
16 147 40 42 89 179 172 376 382 400
Intercambio y congelamiento
172
274 217
254 256 205 177
182 245 176 95 16 147 40 42
89 179 313 376 382 400
Vector:
172 274 217 254 256 205 177 182 245 176 95
16 147 40 42 89 179 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
274
256 217
254 176 205 177
182 245 172 95 16 147 40 42
89 179 313 376 382 400
Vector:
274 256 217 254 176 205 177 182 245 172 95
16 147 40 42 89 179 313 376 382 400
Intercambio y congelamiento
179
256 217
254 176 205 177
182 245 172 95 16 147 40 42
89 274 313 376 382 400
Vector:
179 256 217 254 176 205 177 182 245 172 95
16 147 40 42 89 274 313 376 382 400
Swapdown
256
254 217
245 176 205 177
182 179 172 95 16 147 40 42
89 274 313 376 382 400
Vector:
256 254 217 245 176 205 177 182 179 172 95
16 147 40 42 89 274 313 376 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
89
254 217
245 176 205 177
182 179 172 95 16 147 40 42
256 274 313 376 382 400
Vector:
89 254 217 245 176 205 177 182 179 172 95
16 147 40 42 256 274 313 376 382 400
Swapdown
254
245 217
182 176 205 177
89 179 172 95 16 147 40 42
256 274 313 376 382 400
Vector:
254 245 217 182 176 205 177 89 179 172 95
16 147 40 42 256 274 313 376 382 400
Intercambio y congelamiento
42
245 217
182 176 205 177
89 179 172 95 16 147 40 254
256 274 313 376 382 400
Vector:
42 245 217 182 176 205 177 89 179 172 95
16 147 40 254 256 274 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
245
182 217
179 176 205 177
89 42 172 95 16 147 40 254
256 274 313 376 382 400
Vector:
245 182 217 179 176 205 177 89 42 172 95
16 147 40 254 256 274 313 376 382 400
Intercambio y congelamiento
40
182 217
179 176 205 177
89 42 172 95 16 147 245 254
256 274 313 376 382 400
Vector:
40 182 217 179 176 205 177 89 42 172 95
16 147 245 254 256 274 313 376 382 400
Swapdown
217
182 205
179 176 147 177
89 42 172 95 16 40 245 254
256 274 313 376 382 400
Vector:
217 182 205 179 176 147 177 89 42 172 95
16 40 245 254 256 274 313 376 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
40
182 205
179 176 147 177
89 42 172 95 16 217 245 254
256 274 313 376 382 400
Vector:
40 182 205 179 176 147 177 89 42 172 95
16 217 245 254 256 274 313 376 382 400
Swapdown
205
182 177
179 176 147 40
89 42 172 95 16 217 245 254
256 274 313 376 382 400
Vector:
205 182 177 179 176 147 40 89 42 172 95
16 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
16
182 177
179 176 147 40
89 42 172 95 205 217 245 254
256 274 313 376 382 400
Vector:
16 182 177 179 176 147 40 89 42 172 95
205 217 245 254 256 274 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
182
179 177
89 176 147 40
16 42 172 95 205 217 245 254
256 274 313 376 382 400
Vector:
182 179 177 89 176 147 40 16 42 172 95
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
95
179 177
89 176 147 40
16 42 172 182 205 217 245 254
256 274 313 376 382 400
Vector:
95 179 177 89 176 147 40 16 42 172 182
205 217 245 254 256 274 313 376 382 400
Swapdown
179
176 177
89 172 147 40
16 42 95 182 205 217 245 254
256 274 313 376 382 400
Vector:
179 176 177 89 172 147 40 16 42 95 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
95
176 177
89 172 147 40
16 42 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
95 176 177 89 172 147 40 16 42 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
177
176 147
89 172 95 40
16 42 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
177 176 147 89 172 95 40 16 42 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
42
176 147
89 172 95 40
16 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
42 176 147 89 172 95 40 16 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
176
172 147
89 42 95 40
16 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
176 172 147 89 42 95 40 16 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
16
172 147
89 42 95 40
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
16 172 147 89 42 95 40 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
172
89 147
16 42 95 40
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
172 89 147 16 42 95 40 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
40
89 147
16 42 95 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
40 89 147 16 42 95 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
147
89 95
16 42 40 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
147 89 95 16 42 40 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
40
89 95
16 42 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
40 89 95 16 42 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
95
89 40
16 42 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
95 89 40 16 42 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
42
89 40
16 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
42 89 40 16 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
89
42 40
16 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
89 42 40 16 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.3 Heap Sort completo
16
42 40
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
16 42 40 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
42
16 40
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
42 16 40 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
40
16 42
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
40 16 42 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
40
16 42
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
40 16 42 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Intercambio y congelamiento
16
40 42
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
16 40 42 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
Swapdown
16
40 42
89 95 147 172
176 177 179 182 205 217 245 254
256 274 313 376 382 400
Vector:
16 40 42 89 95 147 172 176 177 179 182
205 217 245 254 256 274 313 376 382 400
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
3.4.1. Arbol inicial
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313
Arbol inicial y su vector asociadoHeapfy paso 0
40
254 177
400 256 147 376
89 95 274 382 16 205 217 42
182 179 172 245 176 313
Vector:
40 254 177 400 256 147 376 89 95 274 382
16 205 217 42 182 179 172 245 176 313
Heapfy paso 1
40
254 177
400 256 147 376
89 95 176 382 16 205 217 42
182 179 172 245 274 313
Vector:
40 254 177 400 256 147 376 89 95 176 382
16 205 217 42 182 179 172 245 274 313
Heapfy paso 2
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
40
254 177
89 176 16 42
179 95 256 382 147 205 217 376
182 400 172 245 274 313
Vector:
40 254 177 89 176 16 42 179 95 256 382
147 205 217 376 182 400 172 245 274 313
Heapfy paso 3
40
89 16
95 176 147 42
179 172 256 382 177 205 217 376
182 400 254 245 274 313
Vector:
40 89 16 95 176 147 42 179 172 256 382
177 205 217 376 182 400 254 245 274 313
Heapfy paso 4
16
89 40
95 176 147 42
179 172 256 382 177 205 217 376
182 400 254 245 274 313
Vector:
16 89 40 95 176 147 42 179 172 256 382
177 205 217 376 182 400 254 245 274 313
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
313
89 40
95 176 147 42
179 172 256 382 177 205 217 376
182 400 254 245 274 16
Vector:
313 89 40 95 176 147 42 179 172 256 382
177 205 217 376 182 400 254 245 274 16
Swapdown
40
89 42
95 176 147 217
179 172 256 382 177 205 313 376
182 400 254 245 274 16
Vector:
40 89 42 95 176 147 217 179 172 256 382
177 205 313 376 182 400 254 245 274 16
Intercambio y congelamiento
274
89 42
95 176 147 217
179 172 256 382 177 205 313 376
182 400 254 245 40 16
Vector:
274 89 42 95 176 147 217 179 172 256 382
177 205 313 376 182 400 254 245 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
42
89 147
95 176 177 217
179 172 256 382 274 205 313 376
182 400 254 245 40 16
Vector:
42 89 147 95 176 177 217 179 172 256 382
274 205 313 376 182 400 254 245 40 16
Intercambio y congelamiento
245
89 147
95 176 177 217
179 172 256 382 274 205 313 376
182 400 254 42 40 16
Vector:
245 89 147 95 176 177 217 179 172 256 382
274 205 313 376 182 400 254 42 40 16
Swapdown
89
95 147
172 176 177 217
179 245 256 382 274 205 313 376
182 400 254 42 40 16
Vector:
89 95 147 172 176 177 217 179 245 256 382
274 205 313 376 182 400 254 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
254
95 147
172 176 177 217
179 245 256 382 274 205 313 376
182 400 89 42 40 16
Vector:
254 95 147 172 176 177 217 179 245 256 382
274 205 313 376 182 400 89 42 40 16
Swapdown
95
172 147
179 176 177 217
182 245 256 382 274 205 313 376
254 400 89 42 40 16
Vector:
95 172 147 179 176 177 217 182 245 256 382
274 205 313 376 254 400 89 42 40 16
Intercambio y congelamiento
400
172 147
179 176 177 217
182 245 256 382 274 205 313 376
254 95 89 42 40 16
Vector:
400 172 147 179 176 177 217 182 245 256 382
274 205 313 376 254 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
147
172 177
179 176 205 217
182 245 256 382 274 400 313 376
254 95 89 42 40 16
Vector:
147 172 177 179 176 205 217 182 245 256 382
274 400 313 376 254 95 89 42 40 16
Intercambio y congelamiento
254
172 177
179 176 205 217
182 245 256 382 274 400 313 376
147 95 89 42 40 16
Vector:
254 172 177 179 176 205 217 182 245 256 382
274 400 313 376 147 95 89 42 40 16
Swapdown
172
176 177
179 254 205 217
182 245 256 382 274 400 313 376
147 95 89 42 40 16
Vector:
172 176 177 179 254 205 217 182 245 256 382
274 400 313 376 147 95 89 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
376
176 177
179 254 205 217
182 245 256 382 274 400 313 172
147 95 89 42 40 16
Vector:
376 176 177 179 254 205 217 182 245 256 382
274 400 313 172 147 95 89 42 40 16
Swapdown
176
179 177
182 254 205 217
376 245 256 382 274 400 313 172
147 95 89 42 40 16
Vector:
176 179 177 182 254 205 217 376 245 256 382
274 400 313 172 147 95 89 42 40 16
Intercambio y congelamiento
313
179 177
182 254 205 217
376 245 256 382 274 400 176 172
147 95 89 42 40 16
Vector:
313 179 177 182 254 205 217 376 245 256 382
274 400 176 172 147 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
177
179 205
182 254 274 217
376 245 256 382 313 400 176 172
147 95 89 42 40 16
Vector:
177 179 205 182 254 274 217 376 245 256 382
313 400 176 172 147 95 89 42 40 16
Intercambio y congelamiento
400
179 205
182 254 274 217
376 245 256 382 313 177 176 172
147 95 89 42 40 16
Vector:
400 179 205 182 254 274 217 376 245 256 382
313 177 176 172 147 95 89 42 40 16
Swapdown
179
182 205
245 254 274 217
376 400 256 382 313 177 176 172
147 95 89 42 40 16
Vector:
179 182 205 245 254 274 217 376 400 256 382
313 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
313
182 205
245 254 274 217
376 400 256 382 179 177 176 172
147 95 89 42 40 16
Vector:
313 182 205 245 254 274 217 376 400 256 382
179 177 176 172 147 95 89 42 40 16
Swapdown
182
245 205
313 254 274 217
376 400 256 382 179 177 176 172
147 95 89 42 40 16
Vector:
182 245 205 313 254 274 217 376 400 256 382
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
382
245 205
313 254 274 217
376 400 256 182 179 177 176 172
147 95 89 42 40 16
Vector:
382 245 205 313 254 274 217 376 400 256 182
179 177 176 172 147 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
205
245 217
313 254 274 382
376 400 256 182 179 177 176 172
147 95 89 42 40 16
Vector:
205 245 217 313 254 274 382 376 400 256 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
256
245 217
313 254 274 382
376 400 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
256 245 217 313 254 274 382 376 400 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
217
245 256
313 254 274 382
376 400 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
217 245 256 313 254 274 382 376 400 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
400
245 256
313 254 274 382
376 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
400 245 256 313 254 274 382 376 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
245
254 256
313 400 274 382
376 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
245 254 256 313 400 274 382 376 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
376
254 256
313 400 274 382
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
376 254 256 313 400 274 382 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
254
313 256
376 400 274 382
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
254 313 256 376 400 274 382 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
382
313 256
376 400 274 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
382 313 256 376 400 274 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
256
313 274
376 400 382 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
256 313 274 376 400 382 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
382
313 274
376 400 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
382 313 274 376 400 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
274
313 382
376 400 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
274 313 382 376 400 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
400
313 382
376 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
400 313 382 376 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 45
313
376 382
400 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
313 376 382 400 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
400
376 382
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
400 376 382 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
376
400 382
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
376 400 382 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.4 Heap Sort descendente
382
400 376
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
382 400 376 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
382
400 376
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
382 400 376 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Intercambio y congelamiento
400
382 376
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
400 382 376 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion de reemplazo 47
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 5: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 –
16, 42, 182, 205, 217,245
172, 176, 179, 313 – –
Cuadro 6: Fase 1
400
382 376
313 274 256 254
245 217 205 182 179 177 176 172
147 95 89 42 40 16
Vector:
400 382 376 313 274 256 254 245 217 205 182
179 177 176 172 147 95 89 42 40 16
3.5. Merge Polifasico de las salidas por seleccion de reemplazo
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.5 Merge Polifasico de las salidas por seleccion de reemplazo
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
E1 E2 S E3
16, 42, 182, 205, 217,245
172, 176, 179, 313 – 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
Cuadro 7: Fase 2
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
E1 E2 S E3
16, 42, 182, 205, 217,245
172, 176, 179, 313 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
S E2 E1 E3
– – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
–
Cuadro 8: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.6 Merge Polifasico de las particiones marcadas 49
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 9: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 40, 177, 254, 256, 400 –89, 147, 376 95 274, 382 –16, 42, 182, 205, 217 172, 179 – –176, 245, 313 – – –
Cuadro 10: Fase 1
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {40, 177, 254, 256, 400}; p2 = {89, 147, 376}; . . . ; p6 = {172, 179}; p7 = {176, 245, 313}.
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
E1 E2 E3 S
D D 40, 177, 254, 256, 400 40, 177, 254, 256, 40089, 147, 376 95 274, 382 89, 95, 147, 274, 376,
382
E1 E2 S E3
16, 42, 182, 205, 217 172, 179 – 40, 177, 254, 256, 400176, 245, 313 – – 89, 95, 147, 274, 376,
382
Cuadro 11: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.7 Merge Polifasico completo con particiones formadas de 1 elemento
E1 E2 E3 S
D D 40, 177, 254, 256, 400 40, 177, 254, 256, 40089, 147, 376 95 274, 382 89, 95, 147, 274, 376,
382
E1 E2 S E3
16, 42, 182, 205, 217 172, 179 16, 40, 42, 172, 177,179, 182, 205, 217,254, 256, 400
40, 177, 254, 256, 400
E1 S E2 E3
176, 245, 313 – 16, 40, 42, 172, 177,179, 182, 205, 217,254, 256, 400
89, 95, 147, 274, 376,382
Cuadro 12: Fase 3
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 13: Calculo de la distribucion de columnas y dummies
3.7. Merge Polifasico completo con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {40, 254}; p2 = {177, 400}; . . . ; p10 = {176, 245}; p11 = {313}.
Enrique P. Calot Algoritmos y Programacion II
3.8 Merge Polifasico con particiones formadas de 2 elementos 51
E1 E2 E3 S
D D D –D D D –D D D –D 40 254 –177 400 256 –147 376 89 –95 274 382 –16 205 – –217 42 – –182 179 – –172 245 – –176 – – –313 – – –
Cuadro 14: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 – D
217 42 – D
182 179 – D
172 245 – 40, 254176 – – 177, 256, 400313 – – 89, 147, 376– – – 95, 274, 382
Cuadro 15: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 16, 205 D
217 42 42, 217 D
182 179 179, 182 D
172 245 40, 172, 245, 254 40, 254
E1 S E2 E3
176 – 16, 205 177, 256, 400313 – 42, 217 89, 147, 376– – 179, 182 95, 274, 382– – 40, 172, 245, 254 –
Cuadro 16: Fase 3
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {40, 177, 254}; p2 = {147, 256, 400}; . . . ; p6 = {172, 179, 182}; p7 = {176, 245, 313}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de las
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 53
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 16, 205 D
217 42 42, 217 D
182 179 179, 182 D
172 245 40, 172, 245, 254 40, 254
E1 S E2 E3
176 16, 176, 177, 205,256, 400
16, 205 177, 256, 400
313 42, 89, 147, 217, 313,376
42, 217 89, 147, 376
S E1 E2 E3
– 16, 176, 177, 205,256, 400
179, 182 95, 274, 382
– 42, 89, 147, 217, 313,376
40, 172, 245, 254 –
Cuadro 17: Fase 4
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 16, 205 D
217 42 42, 217 D
182 179 179, 182 D
172 245 40, 172, 245, 254 40, 254
E1 S E2 E3
176 16, 176, 177, 205,256, 400
16, 205 177, 256, 400
313 42, 89, 147, 217, 313,376
42, 217 89, 147, 376
S E1 E2 E3
16, 95, 176, 177, 179,182, 205, 256, 274,382, 400
16, 176, 177, 205,256, 400
179, 182 95, 274, 382
E3 E1 E2 S
16, 95, 176, 177, 179,182, 205, 256, 274,382, 400
42, 89, 147, 217, 313,376
40, 172, 245, 254 –
Cuadro 18: Fase 5
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 55
E1 E2 E3 S
D D D D
D D D D
D D D D
D 40 254 40, 254177 400 256 177, 256, 400147 376 89 89, 147, 37695 274 382 95, 274, 382
E1 E2 S E3
16 205 16, 205 D
217 42 42, 217 D
182 179 179, 182 D
172 245 40, 172, 245, 254 40, 254
E1 S E2 E3
176 16, 176, 177, 205,256, 400
16, 205 177, 256, 400
313 42, 89, 147, 217, 313,376
42, 217 89, 147, 376
S E1 E2 E3
16, 95, 176, 177, 179,182, 205, 256, 274,382, 400
16, 176, 177, 205,256, 400
179, 182 95, 274, 382
E3 E1 E2 S
16, 95, 176, 177, 179,182, 205, 256, 274,382, 400
42, 89, 147, 217, 313,376
40, 172, 245, 254 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E1 E2 E3
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 19: Fase final
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 20: Calculo de la distribucion de columnas y dummies
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D –D D D –40, 254 177, 400 147, 256 –89, 376 95, 274 16, 382 –205, 217 42, 182 – –172, 179 176, 245 – –313 – – –
Cuadro 21: Fase 1
E1 E2 E3 S
D D D D
D D D D
40, 254 177, 400 147, 256 40, 147, 177, 254,256, 400
89, 376 95, 274 16, 382 16, 89, 95, 274, 376,382
E1 E2 S E3
205, 217 42, 182 – D
172, 179 176, 245 – D
313 – – 40, 147, 177, 254,256, 400
– – – 16, 89, 95, 274, 376,382
Cuadro 22: Fase 2
E1 E2 E3 S
D D D D
D D D D
40, 254 177, 400 147, 256 40, 147, 177, 254,256, 400
89, 376 95, 274 16, 382 16, 89, 95, 274, 376,382
E1 E2 S E3
205, 217 42, 182 42, 182, 205, 217 D
172, 179 176, 245 172, 176, 179, 245 D
E1 S E2 E3
313 – 42, 182, 205, 217 40, 147, 177, 254,256, 400
– – 172, 176, 179, 245 16, 89, 95, 274, 376,382
Cuadro 23: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.10 Merge Polifasico con particiones formadas de 4 elementos 57
E1 E2 E3 S
D D D D
D D D D
40, 254 177, 400 147, 256 40, 147, 177, 254,256, 400
89, 376 95, 274 16, 382 16, 89, 95, 274, 376,382
E1 E2 S E3
205, 217 42, 182 42, 182, 205, 217 D
172, 179 176, 245 172, 176, 179, 245 D
E1 S E2 E3
313 40, 42, 147, 177, 182,205, 217, 254, 256,313, 400
42, 182, 205, 217 40, 147, 177, 254,256, 400
S E1 E2 E3
– 40, 42, 147, 177, 182,205, 217, 254, 256,313, 400
172, 176, 179, 245 16, 89, 95, 274, 376,382
Cuadro 24: Fase 4
cuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.10. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {40, 177, 254, 400}; p2 = {89, 147, 256, 376}; p3 = {16, 95, 274, 382}; p4 ={42, 182, 205, 217}; p5 = {172, 176, 179, 245}; p6 = {313}.
3.10.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.10.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.11. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
D D D D
40, 254 177, 400 147, 256 40, 147, 177, 254,256, 400
89, 376 95, 274 16, 382 16, 89, 95, 274, 376,382
E1 E2 S E3
205, 217 42, 182 42, 182, 205, 217 D
172, 179 176, 245 172, 176, 179, 245 D
E1 S E2 E3
313 40, 42, 147, 177, 182,205, 217, 254, 256,313, 400
42, 182, 205, 217 40, 147, 177, 254,256, 400
S E1 E2 E3
16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
40, 42, 147, 177, 182,205, 217, 254, 256,313, 400
172, 176, 179, 245 16, 89, 95, 274, 376,382
E1 S E2 E3
16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
– – –
Cuadro 25: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 26: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 40, 177, 254 –147, 256, 400 89, 95, 376 16, 274, 382 –42, 205, 217 172, 179, 182 – –176, 245, 313 – – –
Cuadro 27: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D 40, 177, 254 40, 177, 254147, 256, 400 89, 95, 376 16, 274, 382 16, 89, 95, 147, 256,
274, 376, 382, 400
E1 E2 S E3
42, 205, 217 172, 179, 182 – 40, 177, 254176, 245, 313 – – 16, 89, 95, 147, 256,
274, 376, 382, 400
Cuadro 28: Fase 2
E1 E2 E3 S
D D 40, 177, 254 40, 177, 254147, 256, 400 89, 95, 376 16, 274, 382 16, 89, 95, 147, 256,
274, 376, 382, 400
E1 E2 S E3
42, 205, 217 172, 179, 182 40, 42, 172, 177, 179,182, 205, 217, 254
40, 177, 254
E1 S E2 E3
176, 245, 313 – 40, 42, 172, 177, 179,182, 205, 217, 254
16, 89, 95, 147, 256,274, 376, 382, 400
Cuadro 29: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 40, 177, 254 40, 177, 254147, 256, 400 89, 95, 376 16, 274, 382 16, 89, 95, 147, 256,
274, 376, 382, 400
E1 E2 S E3
42, 205, 217 172, 179, 182 40, 42, 172, 177, 179,182, 205, 217, 254
40, 177, 254
E1 S E2 E3
176, 245, 313 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
40, 42, 172, 177, 179,182, 205, 217, 254
16, 89, 95, 147, 256,274, 376, 382, 400
S E1 E2 E3
– 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
– –
Cuadro 30: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 31: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –40, 177, 254, 400 89, 147, 256, 376 16, 95, 274, 382 –42, 182, 205, 217 172, 176, 179, 245 – –313 – – –
Cuadro 32: Fase 1
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 61
E1 E2 E3 S
D D D D
40, 177, 254, 400 89, 147, 256, 376 16, 95, 274, 382 16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
E1 E2 S E3
42, 182, 205, 217 172, 176, 179, 245 – D
313 – – 16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
Cuadro 33: Fase 2
E1 E2 E3 S
D D D D
40, 177, 254, 400 89, 147, 256, 376 16, 95, 274, 382 16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
E1 E2 S E3
42, 182, 205, 217 172, 176, 179, 245 42, 172, 176, 179,182, 205, 217, 245
D
E1 S E2 E3
313 – 42, 172, 176, 179,182, 205, 217, 245
16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
Cuadro 34: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
40, 177, 254, 400 89, 147, 256, 376 16, 95, 274, 382 16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
E1 E2 S E3
42, 182, 205, 217 172, 176, 179, 245 42, 172, 176, 179,182, 205, 217, 245
D
E1 S E2 E3
313 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
42, 172, 176, 179,182, 205, 217, 245
16, 40, 89, 95, 147,177, 254, 256, 274,376, 382, 400
S E1 E2 E3
– 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
– –
Cuadro 35: Fase final
3.11.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.12 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 63
b1 b2 Sale Entra
– – Nada 40
40 – Nada 254
40 254 40 177
177 254 177 400
400 254 254 256
400 256 256 147
400 147 400 376
376 147
Nueva particion! Se cierra la particion p1 = {40, 177, 254, 256, 400}147 89
376 89 376 95
95 89
Nueva particion! Se cierra la particion p2 = {147, 376}89 274
95 274 95 382
382 274 274 16
382 16 382 205
205 16
Nueva particion! Se cierra la particion p3 = {89, 95, 274, 382}16 217
205 217 205 42
42 217 217 182
42 182
Nueva particion! Se cierra la particion p4 = {16, 205, 217}42 179
179 182 179 172
172 182 182 245
172 245 245 176
172 176
Nueva particion! Se cierra la particion p5 = {42, 179, 182, 245}172 313
313 176 176 Nada
313 – 313 Nada
Finaliza la ultima particion en p6 = {172, 176, 313}
3.11.2. Salida final
p1 = {40, 177, 254, 256, 400};
p2 = {147, 376};
p3 = {89, 95, 274, 382};
p4 = {16, 205, 217};
p5 = {42, 179, 182, 245};
p6 = {172, 176, 313}.
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Seleccion Natural con buffers de tamano 2
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 36: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –40, 177, 254, 256, 400 147, 376 89, 95, 274, 382 –16, 205, 217 42, 179, 182, 245 – –172, 176, 313 – – –
Cuadro 37: Fase 1
3.12.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.12.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.13. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
40, 177, 254, 256, 400 147, 376 89, 95, 274, 382 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
E1 E2 S E3
16, 205, 217 42, 179, 182, 245 – D
172, 176, 313 – – 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
Cuadro 38: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 65
E1 E2 E3 S
D D D D
40, 177, 254, 256, 400 147, 376 89, 95, 274, 382 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
E1 E2 S E3
16, 205, 217 42, 179, 182, 245 16, 42, 179, 182, 205,217, 245
D
E1 S E2 E3
172, 176, 313 – 16, 42, 179, 182, 205,217, 245
40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
Cuadro 39: Fase 3
E1 E2 E3 S
D D D D
40, 177, 254, 256, 400 147, 376 89, 95, 274, 382 40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
E1 E2 S E3
16, 205, 217 42, 179, 182, 245 16, 42, 179, 182, 205,217, 245
D
E1 S E2 E3
172, 176, 313 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
16, 42, 179, 182, 205,217, 245
40, 89, 95, 147, 177,254, 256, 274, 376,382, 400
S E1 E2 E3
– 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
– –
Cuadro 40: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.13 Seleccion Natural con buffers de tamano 2
3.13.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 40
40 – – – Nada 254
40 254 – – 40 177
177 254 – – 177 400
400 254 – – 254 256
400 256 – – 256 147
400 – 147 – Nada 376
400 376 147 – 376 89
400 – 147 89 400 Nada
147 89 – –
Nueva particion! Se cierra la particion p1 = {40, 177, 254, 256, 376, 400}89 95
147 95 – – 95 274
147 274 – – 147 382
382 274 – – 274 16
382 – 16 – Nada 205
382 – 16 205 382 Nada
16 205 – –
Nueva particion! Se cierra la particion p2 = {89, 95, 147, 274, 382}16 217
217 205 – – 205 42
217 – 42 – Nada 182
217 – 42 182 217 Nada
42 182 – –
Nueva particion! Se cierra la particion p3 = {16, 205, 217}42 179
179 182 – – 179 172
– 182 172 – Nada 245
245 182 172 – 182 176
245 – 172 176 245 Nada
172 176 – –
Nueva particion! Se cierra la particion p4 = {42, 179, 182, 245}172 313
313 176 – – 176 Nada
313 – – – 313 Nada
Finaliza la ultima particion en p5 = {172, 176, 313}
3.13.2. Salida final
p1 = {40, 177, 254, 256, 376, 400};
p2 = {89, 95, 147, 274, 382};
p3 = {16, 205, 217};
p4 = {42, 179, 182, 245};
p5 = {172, 176, 313}.
Enrique P. Calot Algoritmos y Programacion II
3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 67
Fases c1 c2 c3∑3
i=1 ci < 50 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 41: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 16, 205, 217 –
42, 179, 182, 245 172, 176, 313 – –
Cuadro 42: Fase 1
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.14.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.14.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 5+ 0. Por lo tanto es necesario repartir 5 particiones de lascuales 0 son dummies (particiones vacıas) y 5 son mis particiones de entrada.
E1 E2 E3 S
40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 16, 205, 217 16, 40, 89, 95, 147,177, 205, 217, 254,256, 274, 376, 382,400
E1 E2 S E3
42, 179, 182, 245 172, 176, 313 – 16, 40, 89, 95, 147,177, 205, 217, 254,256, 274, 376, 382,400
Cuadro 43: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.15 Seleccion Natural con buffers de tamano 3
E1 E2 E3 S
40, 177, 254, 256,376, 400
89, 95, 147, 274, 382 16, 205, 217 16, 40, 89, 95, 147,177, 205, 217, 254,256, 274, 376, 382,400
E1 E2 S E3
42, 179, 182, 245 172, 176, 313 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
16, 40, 89, 95, 147,177, 205, 217, 254,256, 274, 376, 382,400
S E2 E1 E3
– – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
–
Cuadro 44: Fase final
3.15. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.15.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.16 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 69
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 40
40 – – – – – Nada 254
40 254 – – – – Nada 177
40 254 177 – – – 40 400
400 254 177 – – – 177 256
400 254 256 – – – 254 147
400 – 256 147 – – Nada 376
400 376 256 147 – – 256 89
400 376 – 147 89 – Nada 95
400 376 – 147 89 95 376 Nada
400 – – 147 89 95 400 Nada
147 89 95 – – –
Nueva particion! Se cierra la particion p1 = {40, 177, 254, 256, 376, 400}89 274
147 274 95 – – – 95 382
147 274 382 – – – 147 16
– 274 382 16 – – Nada 205
205 274 382 16 – – 205 217
217 274 382 16 – – 217 42
– 274 382 16 42 – Nada 182
– 274 382 16 42 182 274 Nada
– – 382 16 42 182 382 Nada
16 42 182 – – –
Nueva particion! Se cierra la particion p2 = {89, 95, 147, 205, 217, 274, 382}16 179
179 42 182 – – – 42 172
179 172 182 – – – 172 245
179 245 182 – – – 179 176
– 245 182 176 – – Nada 313
313 245 182 176 – – 182 Nada
313 245 – 176 – – 245 Nada
313 – – 176 – – 313 Nada
176 – – – – –
Nueva particion! Se cierra la particion p3 = {16, 42, 172, 179, 182, 245, 313}176 Nada
Finaliza la ultima particion en p4 = {176}
3.15.2. Salida final
p1 = {40, 177, 254, 256, 376, 400};
p2 = {89, 95, 147, 205, 217, 274, 382};
p3 = {16, 42, 172, 179, 182, 245, 313};
p4 = {176}.
3.16. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.16.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.17 Seleccion de reemplazo con buffer de tamano 4
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 45: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 205, 217,274, 382
–
16, 42, 172, 179, 182,245, 313
176 – –
Cuadro 46: Fase 1
3.16.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.17. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
3.17.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 205, 217,274, 382
40, 89, 95, 147, 177,205, 217, 254, 256,274, 376, 382, 400
E1 E2 S E3
16, 42, 172, 179, 182,245, 313
176 – 40, 89, 95, 147, 177,205, 217, 254, 256,274, 376, 382, 400
Cuadro 47: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.17 Seleccion de reemplazo con buffer de tamano 4 71
E1 E2 E3 S
D 40, 177, 254, 256,376, 400
89, 95, 147, 205, 217,274, 382
40, 89, 95, 147, 177,205, 217, 254, 256,274, 376, 382, 400
E1 E2 S E3
16, 42, 172, 179, 182,245, 313
176 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
40, 89, 95, 147, 177,205, 217, 254, 256,274, 376, 382, 400
S E2 E1 E3
– – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
–
Cuadro 48: Fase final
b1 b2 b3 b4 Sale Entra
– – – – Nada 40
40 – – – Nada 254
40 254 – – Nada 177
40 254 177 – Nada 400
40 254 177 400 40 256
256 254 177 400 177 147
256 254 147 400 254 376
256 376 147 400 256 89
89 376 147 400 376 95
89 95 147 400 400 274
89 95 147 274
Nueva particion! Se cierra la particion p1 =
{40, 177, 254, 256, 376, 400}89 382
382 95 147 274 95 16
382 16 147 274 147 205
382 16 205 274 205 217
382 16 217 274 217 42
382 16 42 274 274 182
382 16 42 182 382 179
179 16 42 182
Nueva particion! Se cierra la particion p2 =
{89, 95, 147, 205, 217, 274, 382}16 172
179 172 42 182 42 245
179 172 245 182 172 176
179 176 245 182 176 313
179 313 245 182 179 Nada
– 313 245 182 182 Nada
– 313 245 – 245 Nada
– 313 – – 313 Nada
Finaliza la ultima particion en p3 =
{16, 42, 172, 176, 179, 182, 245, 313}
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.18 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 49: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
40, 177, 254, 256,376, 400
89, 95, 147, 205, 217,274, 382
16, 42, 172, 176, 179,182, 245, 313
–
Cuadro 50: Fase 1
3.17.2. Salida final
p1 = {40, 177, 254, 256, 376, 400};
p2 = {89, 95, 147, 205, 217, 274, 382};
p3 = {16, 42, 172, 176, 179, 182, 245, 313}.
3.18. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.18.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.18.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.19. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
3.19.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.19 Seleccion Natural con buffers de tamano 4 73
E1 E2 E3 S
40, 177, 254, 256,376, 400
89, 95, 147, 205, 217,274, 382
16, 42, 172, 176, 179,182, 245, 313
16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 51: Fase final
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 40
40 – – – – – – – Nada 254
40 254 – – – – – – Nada 177
40 254 177 – – – – – Nada 400
40 254 177 400 – – – – 40 256
256 254 177 400 – – – – 177 147
256 254 – 400 147 – – – Nada 376
256 254 376 400 147 – – – 254 89
256 – 376 400 147 89 – – Nada 95
256 – 376 400 147 89 95 – Nada 274
256 274 376 400 147 89 95 – 256 382
382 274 376 400 147 89 95 – 274 16
382 – 376 400 147 89 95 16 376 Nada
382 – – 400 147 89 95 16 382 Nada
– – – 400 147 89 95 16 400 Nada
147 89 95 16 – – – –
Nueva particion! Se cierra la particion p1 = {40, 177, 254, 256, 274, 376, 382, 400}16 205
147 89 95 205 – – – – 89 217
147 217 95 205 – – – – 95 42
147 217 – 205 42 – – – Nada 182
147 217 182 205 42 – – – 147 179
179 217 182 205 42 – – – 179 172
– 217 182 205 42 172 – – Nada 245
245 217 182 205 42 172 – – 182 176
245 217 – 205 42 172 176 – Nada 313
245 217 313 205 42 172 176 – 205 Nada
245 217 313 – 42 172 176 – 217 Nada
245 – 313 – 42 172 176 – 245 Nada
– – 313 – 42 172 176 – 313 Nada
42 172 176 – – – – –
Nueva particion! Se cierra la particion p2 = {16, 89, 95, 147, 179, 182, 205, 217, 245, 313}42 Nada
– 172 176 – – – – – 172 Nada
– – 176 – – – – – 176 Nada
Finaliza la ultima particion en p3 = {42, 172, 176}
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.20 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
40, 177, 254, 256,274, 376, 382, 400
16, 89, 95, 147, 179,182, 205, 217, 245,313
42, 172, 176 –
Cuadro 53: Fase 1
3.19.2. Salida final
p1 = {40, 177, 254, 256, 274, 376, 382, 400};
p2 = {16, 89, 95, 147, 179, 182, 205, 217, 245, 313};
p3 = {42, 172, 176}.
3.20. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.20.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.20.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.21. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.21.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.21 Seleccion de reemplazo con buffer de tamano 5 75
E1 E2 E3 S
40, 177, 254, 256,274, 376, 382, 400
16, 89, 95, 147, 179,182, 205, 217, 245,313
42, 172, 176 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 54: Fase final
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 40
40 – – – – Nada 254
40 254 – – – Nada 177
40 254 177 – – Nada 400
40 254 177 400 – Nada 256
40 254 177 400 256 40 147
147 254 177 400 256 147 376
376 254 177 400 256 177 89
376 254 89 400 256 254 95
376 95 89 400 256 256 274
376 95 89 400 274 274 382
376 95 89 400 382 376 16
16 95 89 400 382 382 205
16 95 89 400 205 400 217
16 95 89 217 205
Nueva particion! Se cierra la particion p1 =
{40, 147, 177, 254, 256, 274, 376, 382, 400}16 42
42 95 89 217 205 42 182
182 95 89 217 205 89 179
182 95 179 217 205 95 172
182 172 179 217 205 172 245
182 245 179 217 205 179 176
182 245 176 217 205 182 313
313 245 176 217 205 205 Nada
313 245 176 217 – 217 Nada
313 245 176 – – 245 Nada
313 – 176 – – 313 Nada
– – 176 – –
Nueva particion! Se cierra la particion p2 =
{16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313}176 Nada
Finaliza la ultima particion en p3 = {176}
3.21.2. Salida final
p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};
p2 = {16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313};
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.22 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,179, 182, 205, 217,245, 313
176 –
Cuadro 56: Fase 1
p3 = {176}.
3.22. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.22.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.22.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.23. Seleccion Natural con buffers de tamano 5
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
3.23.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.23 Seleccion Natural con buffers de tamano 5 77
E1 E2 E3 S
40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,179, 182, 205, 217,245, 313
176 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 57: Fase final
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 40
40 – – – – – – – – – Nada 254
40 254 – – – – – – – – Nada 177
40 254 177 – – – – – – – Nada 400
40 254 177 400 – – – – – – Nada 256
40 254 177 400 256 – – – – – 40 147
147 254 177 400 256 – – – – – 147 376
376 254 177 400 256 – – – – – 177 89
376 254 – 400 256 89 – – – – Nada 95
376 254 – 400 256 89 95 – – – Nada 274
376 254 274 400 256 89 95 – – – 254 382
376 382 274 400 256 89 95 – – – 256 16
376 382 274 400 – 89 95 16 – – Nada 205
376 382 274 400 – 89 95 16 205 – Nada 217
376 382 274 400 – 89 95 16 205 217 274 Nada
376 382 – 400 – 89 95 16 205 217 376 Nada
– 382 – 400 – 89 95 16 205 217 382 Nada
– – – 400 – 89 95 16 205 217 400 Nada
89 95 16 205 217 – – – – –
Nueva particion! Se cierra la particion p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400}16 42
89 95 42 205 217 – – – – – 42 182
89 95 182 205 217 – – – – – 89 179
179 95 182 205 217 – – – – – 95 172
179 172 182 205 217 – – – – – 172 245
179 245 182 205 217 – – – – – 179 176
– 245 182 205 217 176 – – – – Nada 313
313 245 182 205 217 176 – – – – 182 Nada
313 245 – 205 217 176 – – – – 205 Nada
313 245 – – 217 176 – – – – 217 Nada
313 245 – – – 176 – – – – 245 Nada
313 – – – – 176 – – – – 313 Nada
176 – – – – – – – – –
Nueva particion! Se cierra la particion p2 = {16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313}176 Nada
Finaliza la ultima particion en p3 = {176}
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.24 Merge Polifasico de las salidas por seleccion natural de buffers tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 58: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,179, 182, 205, 217,245, 313
176 –
Cuadro 59: Fase 1
3.23.2. Salida final
p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};
p2 = {16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313};
p3 = {176}.
3.24. Merge Polifasico de las salidas por seleccion natural de buffers tamano
5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.24.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.24.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.25. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.25.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.25 Seleccion de reemplazo con buffer de tamano 6 79
E1 E2 E3 S
40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,179, 182, 205, 217,245, 313
176 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 60: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 40
40 – – – – – Nada 254
40 254 – – – – Nada 177
40 254 177 – – – Nada 400
40 254 177 400 – – Nada 256
40 254 177 400 256 – Nada 147
40 254 177 400 256 147 40 376
376 254 177 400 256 147 147 89
376 254 177 400 256 89 177 95
376 254 95 400 256 89 254 274
376 274 95 400 256 89 256 382
376 274 95 400 382 89 274 16
376 16 95 400 382 89 376 205
205 16 95 400 382 89 382 217
205 16 95 400 217 89 400 42
205 16 95 42 217 89
Nueva particion! Se cierra la particion p1 =
{40, 147, 177, 254, 256, 274, 376, 382, 400}16 182
205 182 95 42 217 89 42 179
205 182 95 179 217 89 89 172
205 182 95 179 217 172 95 245
205 182 245 179 217 172 172 176
205 182 245 179 217 176 176 313
205 182 245 179 217 313 179 Nada
205 182 245 – 217 313 182 Nada
205 – 245 – 217 313 205 Nada
– – 245 – 217 313 217 Nada
– – 245 – – 313 245 Nada
– – – – – 313 313 Nada
Finaliza la ultima particion en p2 =
{16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}
3.25.2. Salida final
p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};
p2 = {16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}.
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.26 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 61: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,176, 179, 182, 205,217, 245, 313
–
Cuadro 62: Fase 1
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.26.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.26.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.27. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.27.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.27 Seleccion Natural con buffers de tamano 6 81
E1 E2 E3 S
D 40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,176, 179, 182, 205,217, 245, 313
16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 63: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 40
40 – – – – – – – – – – – Nada 254
40 254 – – – – – – – – – – Nada 177
40 254 177 – – – – – – – – – Nada 400
40 254 177 400 – – – – – – – – Nada 256
40 254 177 400 256 – – – – – – – Nada 147
40 254 177 400 256 147 – – – – – – 40 376
376 254 177 400 256 147 – – – – – – 147 89
376 254 177 400 256 – 89 – – – – – Nada 95
376 254 177 400 256 – 89 95 – – – – Nada 274
376 254 177 400 256 274 89 95 – – – – 177 382
376 254 382 400 256 274 89 95 – – – – 254 16
376 – 382 400 256 274 89 95 16 – – – Nada 205
376 – 382 400 256 274 89 95 16 205 – – Nada 217
376 – 382 400 256 274 89 95 16 205 217 – Nada 42
376 – 382 400 256 274 89 95 16 205 217 42 256 Nada
376 – 382 400 – 274 89 95 16 205 217 42 274 Nada
376 – 382 400 – – 89 95 16 205 217 42 376 Nada
– – 382 400 – – 89 95 16 205 217 42 382 Nada
– – – 400 – – 89 95 16 205 217 42 400 Nada
89 95 16 205 217 42 – – – – – –
Nueva particion! Se cierra la particion p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400}16 182
89 95 182 205 217 42 – – – – – – 42 179
89 95 182 205 217 179 – – – – – – 89 172
172 95 182 205 217 179 – – – – – – 95 245
172 245 182 205 217 179 – – – – – – 172 176
176 245 182 205 217 179 – – – – – – 176 313
313 245 182 205 217 179 – – – – – – 179 Nada
313 245 182 205 217 – – – – – – – 182 Nada
313 245 – 205 217 – – – – – – – 205 Nada
313 245 – – 217 – – – – – – – 217 Nada
313 245 – – – – – – – – – – 245 Nada
313 – – – – – – – – – – – 313 Nada
Finaliza la ultima particion en p2 = {16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}
3.27.2. Salida final
p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.28 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 64: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,176, 179, 182, 205,217, 245, 313
–
Cuadro 65: Fase 1
p2 = {16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}.
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.28.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.28.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.29 Bubble Sort ascendente 83
E1 E2 E3 S
D 40, 147, 177, 254,256, 274, 376, 382,400
16, 42, 89, 95, 172,176, 179, 182, 205,217, 245, 313
16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
S E2 E3 E1
– – – 16, 40, 42, 89, 95,147, 172, 176, 177,179, 182, 205, 217,245, 254, 256, 274,313, 376, 382, 400
Cuadro 66: Fase final
3.29. Bubble Sort ascendente
3.29.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 18/20
1 40 177 254 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 400 14/19
2 40 177 254 147 256 89 95 274 376 16 205 217 42 182 179 172 245 176 313 382 400 13/18
3 40 177 147 254 89 95 256 274 16 205 217 42 182 179 172 245 176 313 376 382 400 12/17
4 40 147 177 89 95 254 256 16 205 217 42 182 179 172 245 176 274 313 376 382 400 11/16
5 40 147 89 95 177 254 16 205 217 42 182 179 172 245 176 256 274 313 376 382 400 11/15
6 40 89 95 147 177 16 205 217 42 182 179 172 245 176 254 256 274 313 376 382 400 6/14
7 40 89 95 147 16 177 205 42 182 179 172 217 176 245 254 256 274 313 376 382 400 6/13
8 40 89 95 16 147 177 42 182 179 172 205 176 217 245 254 256 274 313 376 382 400 5/12
9 40 89 16 95 147 42 177 179 172 182 176 205 217 245 254 256 274 313 376 382 400 4/11
10 40 16 89 95 42 147 177 172 179 176 182 205 217 245 254 256 274 313 376 382 400 4/10
11 16 40 89 42 95 147 172 177 176 179 182 205 217 245 254 256 274 313 376 382 400 2/9
12 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/8
13 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/7
14 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/6
15 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/5
16 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/4
17 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/3
18 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/2
19 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/1
20 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.30 Bubble Sort descendente
3.30. Bubble Sort descendente
3.30.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 19/20
1 254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313 16 15/19
2 254 400 256 177 376 147 95 274 382 89 205 217 42 182 179 172 245 176 313 40 16 13/18
3 400 256 254 376 177 147 274 382 95 205 217 89 182 179 172 245 176 313 42 40 16 11/17
4 400 256 376 254 177 274 382 147 205 217 95 182 179 172 245 176 313 89 42 40 16 11/16
5 400 376 256 254 274 382 177 205 217 147 182 179 172 245 176 313 95 89 42 40 16 10/15
6 400 376 256 274 382 254 205 217 177 182 179 172 245 176 313 147 95 89 42 40 16 8/14
7 400 376 274 382 256 254 217 205 182 179 177 245 176 313 172 147 95 89 42 40 16 3/13
8 400 376 382 274 256 254 217 205 182 179 245 177 313 176 172 147 95 89 42 40 16 3/12
9 400 382 376 274 256 254 217 205 182 245 179 313 177 176 172 147 95 89 42 40 16 2/11
10 400 382 376 274 256 254 217 205 245 182 313 179 177 176 172 147 95 89 42 40 16 2/10
11 400 382 376 274 256 254 217 245 205 313 182 179 177 176 172 147 95 89 42 40 16 2/9
12 400 382 376 274 256 254 245 217 313 205 182 179 177 176 172 147 95 89 42 40 16 1/8
13 400 382 376 274 256 254 245 313 217 205 182 179 177 176 172 147 95 89 42 40 16 1/7
14 400 382 376 274 256 254 313 245 217 205 182 179 177 176 172 147 95 89 42 40 16 1/6
15 400 382 376 274 256 313 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 1/5
16 400 382 376 274 313 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 1/4
17 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/3
18 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/2
19 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/1
20 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/0
Enrique P. Calot Algoritmos y Programacion II
3.31 Bilateral Bubble Sort ascendente 85
3.31. Bilateral Bubble Sort ascendente
3.31.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 18/20
1 40 177 254 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 400 15/20
2 16 40 177 254 256 147 376 89 95 274 382 42 205 217 172 182 179 176 245 313 400 13/18
3 16 40 177 254 147 256 89 95 274 376 42 205 217 172 182 179 176 245 313 382 400 12/18
4 16 40 42 177 254 147 256 89 95 274 376 172 205 217 176 182 179 245 313 382 400 11/16
5 16 40 42 177 147 254 89 95 256 274 172 205 217 176 182 179 245 313 376 382 400 8/16
6 16 40 42 89 177 147 254 95 172 256 274 176 205 217 179 182 245 313 376 382 400 9/14
7 16 40 42 89 147 177 95 172 254 256 176 205 217 179 182 245 274 313 376 382 400 6/14
8 16 40 42 89 95 147 177 172 176 254 256 179 205 217 182 245 274 313 376 382 400 7/12
9 16 40 42 89 95 147 172 176 177 254 179 205 217 182 245 256 274 313 376 382 400 3/12
10 16 40 42 89 95 147 172 176 177 179 254 182 205 217 245 256 274 313 376 382 400 4/10
11 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/10
12 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/8
13 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/8
14 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/6
15 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/6
16 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/4
17 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/4
18 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/2
19 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/2
20 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.32 Bilateral Bubble Sort descendente
3.32. Bilateral Bubble Sort descendente
3.32.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 19/20
1 254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313 16 17/20
2 400 254 177 382 256 147 376 89 95 274 313 40 205 217 42 182 179 172 245 176 16 14/18
3 400 254 382 256 177 376 147 95 274 313 89 205 217 42 182 179 172 245 176 40 16 13/18
4 400 382 254 376 256 177 313 147 95 274 245 89 205 217 42 182 179 172 176 40 16 11/16
5 400 382 376 256 254 313 177 147 274 245 95 205 217 89 182 179 172 176 42 40 16 8/16
6 400 382 376 313 256 254 274 177 147 245 217 95 205 182 89 179 176 172 42 40 16 8/14
7 400 382 376 313 256 274 254 177 245 217 147 205 182 95 179 176 172 89 42 40 16 4/14
8 400 382 376 313 274 256 254 245 177 217 205 147 182 179 95 176 172 89 42 40 16 6/12
9 400 382 376 313 274 256 254 245 217 205 177 182 179 147 176 172 95 89 42 40 16 2/12
10 400 382 376 313 274 256 254 245 217 205 182 177 179 176 147 172 95 89 42 40 16 2/10
11 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/10
12 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/8
13 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/8
14 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/6
15 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/6
16 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/4
17 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/4
18 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/2
19 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/2
20 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 0/0
Enrique P. Calot Algoritmos y Programacion II
3.33 Selection Sort ascendente 87
3.33. Selection Sort ascendente
3.33.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 1/20
1 16 254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313 1/19
2 16 40 177 400 256 147 376 89 95 274 382 254 205 217 42 182 179 172 245 176 313 1/18
3 16 40 42 400 256 147 376 89 95 274 382 254 205 217 177 182 179 172 245 176 313 1/17
4 16 40 42 89 256 147 376 400 95 274 382 254 205 217 177 182 179 172 245 176 313 1/16
5 16 40 42 89 95 147 376 400 256 274 382 254 205 217 177 182 179 172 245 176 313 1/15
6 16 40 42 89 95 147 376 400 256 274 382 254 205 217 177 182 179 172 245 176 313 1/14
7 16 40 42 89 95 147 172 400 256 274 382 254 205 217 177 182 179 376 245 176 313 1/13
8 16 40 42 89 95 147 172 176 256 274 382 254 205 217 177 182 179 376 245 400 313 1/12
9 16 40 42 89 95 147 172 176 177 274 382 254 205 217 256 182 179 376 245 400 313 1/11
10 16 40 42 89 95 147 172 176 177 179 382 254 205 217 256 182 274 376 245 400 313 1/10
11 16 40 42 89 95 147 172 176 177 179 182 254 205 217 256 382 274 376 245 400 313 1/9
12 16 40 42 89 95 147 172 176 177 179 182 205 254 217 256 382 274 376 245 400 313 1/8
13 16 40 42 89 95 147 172 176 177 179 182 205 217 254 256 382 274 376 245 400 313 1/7
14 16 40 42 89 95 147 172 176 177 179 182 205 217 245 256 382 274 376 254 400 313 1/6
15 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 382 274 376 256 400 313 1/5
16 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 376 382 400 313 1/4
17 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 376 382 400 313 1/3
18 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 382 400 376 1/2
19 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 400 382 1/1
20 16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
88 3.34 Selection Sort descendente
3.34. Selection Sort descendente
3.34.1. Desarrollo
0 40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 1/20
1 400 254 177 40 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 1/19
2 400 382 177 40 256 147 376 89 95 274 254 16 205 217 42 182 179 172 245 176 313 1/18
3 400 382 376 40 256 147 177 89 95 274 254 16 205 217 42 182 179 172 245 176 313 1/17
4 400 382 376 313 256 147 177 89 95 274 254 16 205 217 42 182 179 172 245 176 40 1/16
5 400 382 376 313 274 147 177 89 95 256 254 16 205 217 42 182 179 172 245 176 40 1/15
6 400 382 376 313 274 256 177 89 95 147 254 16 205 217 42 182 179 172 245 176 40 1/14
7 400 382 376 313 274 256 254 89 95 147 177 16 205 217 42 182 179 172 245 176 40 1/13
8 400 382 376 313 274 256 254 245 95 147 177 16 205 217 42 182 179 172 89 176 40 1/12
9 400 382 376 313 274 256 254 245 217 147 177 16 205 95 42 182 179 172 89 176 40 1/11
10 400 382 376 313 274 256 254 245 217 205 177 16 147 95 42 182 179 172 89 176 40 1/10
11 400 382 376 313 274 256 254 245 217 205 182 16 147 95 42 177 179 172 89 176 40 1/9
12 400 382 376 313 274 256 254 245 217 205 182 179 147 95 42 177 16 172 89 176 40 1/8
13 400 382 376 313 274 256 254 245 217 205 182 179 177 95 42 147 16 172 89 176 40 1/7
14 400 382 376 313 274 256 254 245 217 205 182 179 177 176 42 147 16 172 89 95 40 1/6
15 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 16 42 89 95 40 1/5
16 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 16 42 89 95 40 1/4
17 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 42 89 16 40 1/3
18 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 16 40 1/2
19 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 16 40 1/1
20 400 382 376 313 274 256 254 245 217 205 182 179 177 176 172 147 95 89 42 40 16 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-12-13
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
40, 254, 177, 400, 256†, 147, 376, 89†, 95†, 274, 382†, 16, 205, 217, 42, 182†, 179,
172†, 245, 176, 313†
Se pide:
a. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones ordenadastomadas del lote de datos.
b. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown), Quick Sort(hasta haber completado dos niveles de recursividad) y Radix Sort en orden ascendente (entero).
c. Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem, se sabeque solo hay tres elementos fuera de su lugar (no se sabe cuales), el software es ejecutado en una maquinacon una memoria interna comparable a 2p2 × sizeof(tElem). Dispone de las siguientes soluciones:
a) Sort externo: seleccion de reemplazo (se asume M ≥ 3) y merge polifasico
b) Sort externo: seleccion natural (se asume M ≥ 3) y merge polifasico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de p
2elementos y merge
polifasico
d) Sort interno: quick sort de pivoteo en el primer elemento
e) Sort interno: quick sort de pivoteo en el ultimo elemento
f ) Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si no hayintercambios)
g) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padrees mayor a los hijos)
h) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padrees menor a los hijos)
i) Sort interno: selection sort
¿cual de todas implementarıa? Justifique su eleccion.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
205, 182†, 245†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
e. Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
Resolucion Teorica Oficial de la Evaluacion Integradora tomada
el 20 de Diciembre de 2010
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingenierıa
Universidad de Buenos Aires
2010-12-20
2 INDICE
Indice
1. Enunciado 5
2. Resolucion estricta 5
2.1. a. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. c. Seleccion Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. d. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. d. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6. d. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.6.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7. e. Merge Polifasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 122.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3. Resolucion explayada 14
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.4.1. Arbol inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5. Merge Polifasico de las salidas por seleccion natural . . . . . . . . . . . . . . . . . . . . . 473.5.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6. Merge Polifasico de las particiones marcadas . . . . . . . . . . . . . . . . . . . . . . . . . . 473.6.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 473.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7. Merge Polifasico completo con particiones formadas de 1 elemento . . . . . . . . . . . . . 493.7.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 493.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8. Merge Polifasico con particiones formadas de 2 elementos . . . . . . . . . . . . . . . . . . 493.8.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 513.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.9. Merge Polifasico con particiones formadas de 3 elementos . . . . . . . . . . . . . . . . . . 513.9.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 513.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.10. Merge Polifasico con particiones formadas de 4 elementos . . . . . . . . . . . . . . . . . . 563.10.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 56
Enrique P. Calot Algoritmos y Programacion II
INDICE 3
3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.11. Seleccion de reemplazo con buffer de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . 56
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2 . . . . . . . 623.12.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 633.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13. Seleccion Natural con buffers de tamano 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 . . . . . . . . . . 663.14.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 663.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.15. Seleccion de reemplazo con buffer de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . 683.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 3 . . . . . . . 683.16.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 693.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.17. Seleccion Natural con buffers de tamano 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 . . . . . . . . . . 713.18.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 713.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.19. Seleccion de reemplazo con buffer de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . 723.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4 . . . . . . . 743.20.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 743.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.21. Seleccion Natural con buffers de tamano 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano 4 . . . . . . . . . . 763.22.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 763.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.23. Seleccion de reemplazo con buffer de tamano 5 . . . . . . . . . . . . . . . . . . . . . . . . 763.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.24. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5 . . . . . . . 783.24.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 783.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.25. Seleccion de reemplazo con buffer de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . 783.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6 . . . . . . . 803.26.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 803.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Algoritmos y Programacion II Facultad de Ingenierıa
4 INDICE
3.27. Seleccion Natural con buffers de tamano 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano 6 . . . . . . . . . . 823.28.1. Calculo de la distribucion de columnas y dummies . . . . . . . . . . . . . . . . . . 823.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Enrique P. Calot Algoritmos y Programacion II
1 Enunciado 5
1. Enunciado
Dado el siguiente lote de datos:
285, 38, 305, 220, 382†, 160, 71, 374†, 75†, 330, 376†, 246, 28, 256, 47,
273†, 236, 183†, 277, 190, 331†
Se pide:
a. ¿Que es lo que garantiza que una vez congelado un pivote tras una iteracion de Quick Sort este quedeen su posicion final pese a que el resto de los elementos pueden estar completamente desordenados?
b. Procesar el B-tree de orden 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
256, 246†, 277†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
d. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero), Heap Sort en orden ascen-dente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursivi-dad).
e. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
2. Resolucion estricta
El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion concep-tual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiendesu funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que sibien se presentan estos ejemplo no es para que se responda el examen por analogıa, sino para permitirleal alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion estan desarrolladas a modo de explicacion y sin escatimarespacio ni tiempo de escritura, en los examenes, las respuestas pueden ser mas sinteticas, evitando escribirmuchas veces un arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.Cada algoritmo tiene su metodo de abreviacion, pero escapa de los alcances de este apunte explicarlos.Es por esta razon que este resuelto tiene una extension mucho mayor que la que puede llegar a tener unarespuesta de examen.
La resolucion estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado loexplicita. En casos de dudas, mas adelante se encuentra la resolucion explayada, que continua algunosejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismolote de datos para permitir al alumno efectuar comparaciones.
2.1. a. Pregunta teorica
¿Que es lo que garantiza que una vez congelado un pivote tras una iteracion de Quick Sort este quedeen su posicion final pese a que el resto de los elementos pueden estar completamente desordenados?
Algoritmos y Programacion II Facultad de Ingenierıa
6 2.2 b. Ejercicio de B-trees
2.1.1. Respuesta
Lo que da esa garantıa es que luego del procedimiento de intercambios, todos los menores quedan deun lado y los mayores quedan del otro, lo cual es la definicion de ordenamiento.
2.2. b. Ejercicio de B-trees
Procesar el B-tree de orden 2 resultante de ingresar los elementos del lote en el orden dado y luegoeliminar los siguientes:
256, 246†, 277†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
2.2.1. Insercion
•285•
×38×220× ×305×382×
Insercion de 5 elementos: 285, 38, 305, 220, 382
•285•
×38×71×160×220× ×305×374×382×
Insercion de 3 elementos: 160, 71, 374
•75•285•
×38×71× ×160×220× ×305×374×382×
Insercion de 1 elemento: 75
•75•285•374•
×38×71× ×160×220× ×305×330× ×376×382×
Insercion de 2 elementos: 330, 376
•75•246•285•374•
×28×38×47×71× ×160×220× ×256×273× ×305×330× ×376×382×
Insercion de 5 elementos: 246, 28, 256, 47, 273
•75•246•285•374•
×28×38×47×71× ×160×183×220×236× ×256×273× ×305×330× ×376×382×
Insercion de 2 elementos: 236, 183
•246•
•75•190• •285•374•
×28×38×47×71× ×160×183× ×220×236× ×256×273×277× ×305×330×331× ×376×382×
Insercion de 3 elementos: 277, 190, 331
Enrique P. Calot Algoritmos y Programacion II
2.3 c. Seleccion Natural 7
2.2.2. Eliminacion
•75•190•285•374•
×28×38×47×71× ×160×183× ×220×236×273×277× ×305×330×331× ×376×382×
Eliminacion de 2 elementos: 256, 246
•75•190•285•374•
×28×38×47×71× ×160×183× ×220×236×273× ×305×330×331× ×376×382×
Eliminacion de 1 elemento: 277
2.3. c. Seleccion Natural
Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
2.3.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
8 2.4 d. Radix Sort
b1 b2 b3 b4 b5 a1 a2 a3 a4 a5 Sale Entra
– – – – – – – – – – Nada 285
285 – – – – – – – – – Nada 38
285 38 – – – – – – – – Nada 305
285 38 305 – – – – – – – Nada 220
285 38 305 220 – – – – – – Nada 382
285 38 305 220 382 – – – – – 38 160
285 160 305 220 382 – – – – – 160 71
285 – 305 220 382 71 – – – – Nada 374
285 374 305 220 382 71 – – – – 220 75
285 374 305 – 382 71 75 – – – Nada 330
285 374 305 330 382 71 75 – – – 285 376
376 374 305 330 382 71 75 – – – 305 246
376 374 – 330 382 71 75 246 – – Nada 28
376 374 – 330 382 71 75 246 28 – Nada 256
376 374 – 330 382 71 75 246 28 256 330 Nada
376 374 – – 382 71 75 246 28 256 374 Nada
376 – – – 382 71 75 246 28 256 376 Nada
– – – – 382 71 75 246 28 256 382 Nada
71 75 246 28 256 – – – – –
Nueva particion! Se cierra la particion p1 = {38, 160, 220, 285, 305, 330, 374, 376, 382}28 47
71 75 246 47 256 – – – – – 47 273
71 75 246 273 256 – – – – – 71 236
236 75 246 273 256 – – – – – 75 183
236 183 246 273 256 – – – – – 183 277
236 277 246 273 256 – – – – – 236 190
– 277 246 273 256 190 – – – – Nada 331
331 277 246 273 256 190 – – – – 246 Nada
331 277 – 273 256 190 – – – – 256 Nada
331 277 – 273 – 190 – – – – 273 Nada
331 277 – – – 190 – – – – 277 Nada
331 – – – – 190 – – – – 331 Nada
190 – – – – – – – – –
Nueva particion! Se cierra la particion p2 = {28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331}190 Nada
Finaliza la ultima particion en p3 = {190}
2.3.2. Salida final
p1 = {38, 160, 220, 285, 305, 330, 374, 376, 382};
p2 = {28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331};
p3 = {190}.
2.4. d. Radix Sort
Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).
2.4.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.
Enrique P. Calot Algoritmos y Programacion II
2.5 d. Quick Sort 9
Paso 0 Paso 1 Paso 2 Paso 3285 220 305 028038 160 220 038305 330 028 047220 190 330 071382 071 331 075160 331 236 160071 382 038 183374 273 246 190075 183 047 220330 374 256 236376 285 160 246246 305 071 256028 075 273 273256 376 374 277047 246 075 285273 256 376 305236 236 277 330183 047 382 331277 277 183 374190 038 285 376331 028 190 382
2.5. d. Quick Sort
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.5.1. Desarrollo
Paso 1 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Paso 2 47 38 190 220 277 160 71 183 75 236 273 246 28 256 285 376 330 374 382 305 331
Paso 3 28 38 47 220 277 160 71 183 75 236 273 246 190 256 305 330 374 331 376 382
Final 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
2.6. d. Heap Sort
Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).
Algoritmos y Programacion II Facultad de Ingenierıa
10 2.6 d. Heap Sort
2.6.1. Arbol inicial
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Arbol inicial y su vector asociadoHeapfy paso 0
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Heapfy paso 1
285
38 305
220 382 160 71
374 277 331 376 246 28 256 47
273 236 183 75 190 330
Vector:
285 38 305 220 382 160 71 374 277 331 376 246 28 256 47 273 236 183 75 190 330
Enrique P. Calot Algoritmos y Programacion II
2.6 d. Heap Sort 11
Heapfy paso 2
285
38 305
374 382 246 256
273 277 331 376 160 28 71 47
220 236 183 75 190 330
Vector:
285 38 305 374 382 246 256 273 277 331 376 160 28 71 47 220 236 183 75 190 330
Heapfy paso 3
285
382 305
374 376 246 256
273 277 331 38 160 28 71 47
220 236 183 75 190 330
Vector:
285 382 305 374 376 246 256 273 277 331 38 160 28 71 47 220 236 183 75 190 330
Heapfy paso 4
382
376 305
374 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 190 285
Vector:
382 376 305 374 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 190 285
Algoritmos y Programacion II Facultad de Ingenierıa
12 2.7 e. Merge Polifasico
285
376 305
374 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 190 382
Vector:
285 376 305 374 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 190 382
Paso 1: ultimo congelado pedido antes del corte
2.7. e. Merge Polifasico
Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones orde-nadas tomadas del lote de datos.
2.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
2.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 1: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
2.7 e. Merge Polifasico 13
E1 E2 E3 S
D D D –D D D –D D D –D 285 38 –305 220 382 –160 71 374 –75 330 376 –246 28 – –256 47 – –273 236 – –183 277 – –190 – – –331 – – –
Cuadro 2: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 – D
256 47 – D
273 236 – D
183 277 – 38, 285190 – – 220, 305, 382331 – – 71, 160, 374– – – 75, 330, 376
Cuadro 3: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
14 3 Resolucion explayada
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 28, 246 D
256 47 47, 256 D
273 236 236, 273 D
183 277 38, 183, 277, 285 38, 285
E1 S E2 E3
190 – 28, 246 220, 305, 382331 – 47, 256 71, 160, 374– – 236, 273 75, 330, 376– – 38, 183, 277, 285 –
Cuadro 4: Fase 3
3. Resolucion explayada
Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completasa los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumnopodra comparar algoritmos.
3.1. Radix Sort descendente
Desarrollar el algoritmo de Radix Sort en orden descendente (entero).
3.1.1. Desarrollo
A continuacion se presenta el desarrollo del Radix Sort en orden Descendente.
Enrique P. Calot Algoritmos y Programacion II
3.2 Quick Sort completo 15
Paso 0 Paso 1 Paso 2 Paso 3285 038 190 382038 028 285 376305 047 183 374220 277 382 331382 376 277 330160 246 376 305071 256 075 285374 236 374 277075 285 273 273330 305 071 256376 075 160 246246 374 256 236028 273 047 220256 183 246 190047 382 038 183273 071 236 160236 331 331 075183 220 330 071277 160 028 047190 330 220 038331 190 305 028
3.2. Quick Sort completo
Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1. Desarrollo
Paso 1 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Paso 2 47 38 190 220 277 160 71 183 75 236 273 246 28 256 285 376 330 374 382 305 331
Paso 3 28 38 47 220 277 160 71 183 75 236 273 246 190 256 305 330 374 331 376 382
Paso 4 28 38 75 190 160 71 183 220 236 273 246 277 256 305 330 374 331
Paso 5 71 75 160 190 183 236 273 246 277 256 330 374 331
Paso 6 160 190 183 256 246 273 277 331 374
Final 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
3.3. Heap Sort completo
Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).
Algoritmos y Programacion II Facultad de Ingenierıa
16 3.3 Heap Sort completo
3.3.1. Arbol inicial
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Arbol inicial y su vector asociadoHeapfy paso 0
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Heapfy paso 1
285
38 305
220 382 160 71
374 277 331 376 246 28 256 47
273 236 183 75 190 330
Vector:
285 38 305 220 382 160 71 374 277 331 376 246 28 256 47 273 236 183 75 190 330
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 17
Heapfy paso 2
285
38 305
374 382 246 256
273 277 331 376 160 28 71 47
220 236 183 75 190 330
Vector:
285 38 305 374 382 246 256 273 277 331 376 160 28 71 47 220 236 183 75 190 330
Heapfy paso 3
285
382 305
374 376 246 256
273 277 331 38 160 28 71 47
220 236 183 75 190 330
Vector:
285 382 305 374 376 246 256 273 277 331 38 160 28 71 47 220 236 183 75 190 330
Heapfy paso 4
382
376 305
374 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 190 285
Vector:
382 376 305 374 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 190 285
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
18 3.3 Heap Sort completo
285
376 305
374 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 190 382
Vector:
285 376 305 374 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 190 382
Swapdown
376
374 305
285 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 190 382
Vector:
376 374 305 285 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 190 382
Intercambio y congelamiento
190
374 305
285 331 246 256
273 277 330 38 160 28 71 47
220 236 183 75 376 382
Vector:
190 374 305 285 331 246 256 273 277 330 38 160 28 71 47 220 236 183 75 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 19
374
331 305
285 330 246 256
273 277 190 38 160 28 71 47
220 236 183 75 376 382
Vector:
374 331 305 285 330 246 256 273 277 190 38 160 28 71 47 220 236 183 75 376 382
Intercambio y congelamiento
75
331 305
285 330 246 256
273 277 190 38 160 28 71 47
220 236 183 374 376 382
Vector:
75 331 305 285 330 246 256 273 277 190 38 160 28 71 47 220 236 183 374 376 382
Swapdown
331
330 305
285 190 246 256
273 277 75 38 160 28 71 47
220 236 183 374 376 382
Vector:
331 330 305 285 190 246 256 273 277 75 38 160 28 71 47 220 236 183 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
20 3.3 Heap Sort completo
183
330 305
285 190 246 256
273 277 75 38 160 28 71 47
220 236 331 374 376 382
Vector:
183 330 305 285 190 246 256 273 277 75 38 160 28 71 47 220 236 331 374 376 382
Swapdown
330
285 305
277 190 246 256
273 183 75 38 160 28 71 47
220 236 331 374 376 382
Vector:
330 285 305 277 190 246 256 273 183 75 38 160 28 71 47 220 236 331 374 376 382
Intercambio y congelamiento
236
285 305
277 190 246 256
273 183 75 38 160 28 71 47
220 330 331 374 376 382
Vector:
236 285 305 277 190 246 256 273 183 75 38 160 28 71 47 220 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 21
305
285 256
277 190 246 236
273 183 75 38 160 28 71 47
220 330 331 374 376 382
Vector:
305 285 256 277 190 246 236 273 183 75 38 160 28 71 47 220 330 331 374 376 382
Intercambio y congelamiento
220
285 256
277 190 246 236
273 183 75 38 160 28 71 47
305 330 331 374 376 382
Vector:
220 285 256 277 190 246 236 273 183 75 38 160 28 71 47 305 330 331 374 376 382
Swapdown
285
277 256
273 190 246 236
220 183 75 38 160 28 71 47
305 330 331 374 376 382
Vector:
285 277 256 273 190 246 236 220 183 75 38 160 28 71 47 305 330 331 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
22 3.3 Heap Sort completo
47
277 256
273 190 246 236
220 183 75 38 160 28 71 285
305 330 331 374 376 382
Vector:
47 277 256 273 190 246 236 220 183 75 38 160 28 71 285 305 330 331 374 376 382
Swapdown
277
273 256
220 190 246 236
47 183 75 38 160 28 71 285
305 330 331 374 376 382
Vector:
277 273 256 220 190 246 236 47 183 75 38 160 28 71 285 305 330 331 374 376 382
Intercambio y congelamiento
71
273 256
220 190 246 236
47 183 75 38 160 28 277 285
305 330 331 374 376 382
Vector:
71 273 256 220 190 246 236 47 183 75 38 160 28 277 285 305 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 23
273
220 256
183 190 246 236
47 71 75 38 160 28 277 285
305 330 331 374 376 382
Vector:
273 220 256 183 190 246 236 47 71 75 38 160 28 277 285 305 330 331 374 376 382
Intercambio y congelamiento
28
220 256
183 190 246 236
47 71 75 38 160 273 277 285
305 330 331 374 376 382
Vector:
28 220 256 183 190 246 236 47 71 75 38 160 273 277 285 305 330 331 374 376 382
Swapdown
256
220 246
183 190 160 236
47 71 75 38 28 273 277 285
305 330 331 374 376 382
Vector:
256 220 246 183 190 160 236 47 71 75 38 28 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
24 3.3 Heap Sort completo
28
220 246
183 190 160 236
47 71 75 38 256 273 277 285
305 330 331 374 376 382
Vector:
28 220 246 183 190 160 236 47 71 75 38 256 273 277 285 305 330 331 374 376 382
Swapdown
246
220 236
183 190 160 28
47 71 75 38 256 273 277 285
305 330 331 374 376 382
Vector:
246 220 236 183 190 160 28 47 71 75 38 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
38
220 236
183 190 160 28
47 71 75 246 256 273 277 285
305 330 331 374 376 382
Vector:
38 220 236 183 190 160 28 47 71 75 246 256 273 277 285 305 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 25
236
220 160
183 190 38 28
47 71 75 246 256 273 277 285
305 330 331 374 376 382
Vector:
236 220 160 183 190 38 28 47 71 75 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
75
220 160
183 190 38 28
47 71 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
75 220 160 183 190 38 28 47 71 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
220
190 160
183 75 38 28
47 71 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
220 190 160 183 75 38 28 47 71 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
26 3.3 Heap Sort completo
71
190 160
183 75 38 28
47 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
71 190 160 183 75 38 28 47 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
190
183 160
71 75 38 28
47 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
190 183 160 71 75 38 28 47 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
47
183 160
71 75 38 28
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
47 183 160 71 75 38 28 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 27
183
75 160
71 47 38 28
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
183 75 160 71 47 38 28 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
28
75 160
71 47 38 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
28 75 160 71 47 38 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
160
75 38
71 47 28 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
160 75 38 71 47 28 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
28 3.3 Heap Sort completo
28
75 38
71 47 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
28 75 38 71 47 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
75
71 38
28 47 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
75 71 38 28 47 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
47
71 38
28 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
47 71 38 28 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.3 Heap Sort completo 29
71
47 38
28 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
71 47 38 28 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
28
47 38
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
28 47 38 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
47
28 38
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
47 28 38 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
Algoritmos y Programacion II Facultad de Ingenierıa
30 3.3 Heap Sort completo
38
28 47
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
38 28 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
38
28 47
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
38 28 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Intercambio y congelamiento
28
38 47
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
Swapdown
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 31
28
38 47
71 75 160 183
190 220 236 246 256 273 277 285
305 330 331 374 376 382
Vector:
28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382
3.4. Heap Sort descendente
Desarrollar el algoritmo de Heap Sort en orden descendente (entero).
3.4.1. Arbol inicial
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Arbol inicial y su vector asociadoHeapfy paso 0
Algoritmos y Programacion II Facultad de Ingenierıa
32 3.4 Heap Sort descendente
285
38 305
220 382 160 71
374 75 330 376 246 28 256 47
273 236 183 277 190 331
Vector:
285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331
Heapfy paso 1
285
38 305
220 382 160 71
236 75 190 376 246 28 256 47
273 374 183 277 330 331
Vector:
285 38 305 220 382 160 71 236 75 190 376 246 28 256 47 273 374 183 277 330 331
Heapfy paso 2
285
38 305
75 190 28 47
236 183 330 376 246 160 256 71
273 374 220 277 382 331
Vector:
285 38 305 75 190 28 47 236 183 330 376 246 160 256 71 273 374 220 277 382 331
Heapfy paso 3
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 33
285
38 28
75 190 160 47
236 183 330 376 246 305 256 71
273 374 220 277 382 331
Vector:
285 38 28 75 190 160 47 236 183 330 376 246 305 256 71 273 374 220 277 382 331
Heapfy paso 4
28
38 47
75 190 160 71
236 183 330 376 246 305 256 285
273 374 220 277 382 331
Vector:
28 38 47 75 190 160 71 236 183 330 376 246 305 256 285 273 374 220 277 382 331
Intercambio y congelamiento
331
38 47
75 190 160 71
236 183 330 376 246 305 256 285
273 374 220 277 382 28
Vector:
331 38 47 75 190 160 71 236 183 330 376 246 305 256 285 273 374 220 277 382 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
34 3.4 Heap Sort descendente
38
75 47
183 190 160 71
236 220 330 376 246 305 256 285
273 374 331 277 382 28
Vector:
38 75 47 183 190 160 71 236 220 330 376 246 305 256 285 273 374 331 277 382 28
Intercambio y congelamiento
382
75 47
183 190 160 71
236 220 330 376 246 305 256 285
273 374 331 277 38 28
Vector:
382 75 47 183 190 160 71 236 220 330 376 246 305 256 285 273 374 331 277 38 28
Swapdown
47
75 71
183 190 160 256
236 220 330 376 246 305 382 285
273 374 331 277 38 28
Vector:
47 75 71 183 190 160 256 236 220 330 376 246 305 382 285 273 374 331 277 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 35
277
75 71
183 190 160 256
236 220 330 376 246 305 382 285
273 374 331 47 38 28
Vector:
277 75 71 183 190 160 256 236 220 330 376 246 305 382 285 273 374 331 47 38 28
Swapdown
71
75 160
183 190 246 256
236 220 330 376 277 305 382 285
273 374 331 47 38 28
Vector:
71 75 160 183 190 246 256 236 220 330 376 277 305 382 285 273 374 331 47 38 28
Intercambio y congelamiento
331
75 160
183 190 246 256
236 220 330 376 277 305 382 285
273 374 71 47 38 28
Vector:
331 75 160 183 190 246 256 236 220 330 376 277 305 382 285 273 374 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
36 3.4 Heap Sort descendente
75
183 160
220 190 246 256
236 331 330 376 277 305 382 285
273 374 71 47 38 28
Vector:
75 183 160 220 190 246 256 236 331 330 376 277 305 382 285 273 374 71 47 38 28
Intercambio y congelamiento
374
183 160
220 190 246 256
236 331 330 376 277 305 382 285
273 75 71 47 38 28
Vector:
374 183 160 220 190 246 256 236 331 330 376 277 305 382 285 273 75 71 47 38 28
Swapdown
160
183 246
220 190 277 256
236 331 330 376 374 305 382 285
273 75 71 47 38 28
Vector:
160 183 246 220 190 277 256 236 331 330 376 374 305 382 285 273 75 71 47 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 37
273
183 246
220 190 277 256
236 331 330 376 374 305 382 285
160 75 71 47 38 28
Vector:
273 183 246 220 190 277 256 236 331 330 376 374 305 382 285 160 75 71 47 38 28
Swapdown
183
190 246
220 273 277 256
236 331 330 376 374 305 382 285
160 75 71 47 38 28
Vector:
183 190 246 220 273 277 256 236 331 330 376 374 305 382 285 160 75 71 47 38 28
Intercambio y congelamiento
285
190 246
220 273 277 256
236 331 330 376 374 305 382 183
160 75 71 47 38 28
Vector:
285 190 246 220 273 277 256 236 331 330 376 374 305 382 183 160 75 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
38 3.4 Heap Sort descendente
190
220 246
236 273 277 256
285 331 330 376 374 305 382 183
160 75 71 47 38 28
Vector:
190 220 246 236 273 277 256 285 331 330 376 374 305 382 183 160 75 71 47 38 28
Intercambio y congelamiento
382
220 246
236 273 277 256
285 331 330 376 374 305 190 183
160 75 71 47 38 28
Vector:
382 220 246 236 273 277 256 285 331 330 376 374 305 190 183 160 75 71 47 38 28
Swapdown
220
236 246
285 273 277 256
382 331 330 376 374 305 190 183
160 75 71 47 38 28
Vector:
220 236 246 285 273 277 256 382 331 330 376 374 305 190 183 160 75 71 47 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 39
305
236 246
285 273 277 256
382 331 330 376 374 220 190 183
160 75 71 47 38 28
Vector:
305 236 246 285 273 277 256 382 331 330 376 374 220 190 183 160 75 71 47 38 28
Swapdown
236
273 246
285 305 277 256
382 331 330 376 374 220 190 183
160 75 71 47 38 28
Vector:
236 273 246 285 305 277 256 382 331 330 376 374 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
374
273 246
285 305 277 256
382 331 330 376 236 220 190 183
160 75 71 47 38 28
Vector:
374 273 246 285 305 277 256 382 331 330 376 236 220 190 183 160 75 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
40 3.4 Heap Sort descendente
246
273 256
285 305 277 374
382 331 330 376 236 220 190 183
160 75 71 47 38 28
Vector:
246 273 256 285 305 277 374 382 331 330 376 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
376
273 256
285 305 277 374
382 331 330 246 236 220 190 183
160 75 71 47 38 28
Vector:
376 273 256 285 305 277 374 382 331 330 246 236 220 190 183 160 75 71 47 38 28
Swapdown
256
273 277
285 305 376 374
382 331 330 246 236 220 190 183
160 75 71 47 38 28
Vector:
256 273 277 285 305 376 374 382 331 330 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 41
330
273 277
285 305 376 374
382 331 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
330 273 277 285 305 376 374 382 331 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
273
285 277
330 305 376 374
382 331 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
273 285 277 330 305 376 374 382 331 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
331
285 277
330 305 376 374
382 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
331 285 277 330 305 376 374 382 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
42 3.4 Heap Sort descendente
277
285 331
330 305 376 374
382 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
277 285 331 330 305 376 374 382 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
382
285 331
330 305 376 374
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
382 285 331 330 305 376 374 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
285
305 331
330 382 376 374
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
285 305 331 330 382 376 374 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 43
374
305 331
330 382 376 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
374 305 331 330 382 376 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
305
330 331
374 382 376 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
305 330 331 374 382 376 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
376
330 331
374 382 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
376 330 331 374 382 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
44 3.4 Heap Sort descendente
330
374 331
376 382 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
330 374 331 376 382 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
382
374 331
376 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
382 374 331 376 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
331
374 382
376 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
331 374 382 376 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
Enrique P. Calot Algoritmos y Programacion II
3.4 Heap Sort descendente 45
376
374 382
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
376 374 382 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
374
376 382
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
374 376 382 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
382
376 374
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
Algoritmos y Programacion II Facultad de Ingenierıa
46 3.4 Heap Sort descendente
376
382 374
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
376 382 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Intercambio y congelamiento
382
376 374
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Swapdown
382
376 374
331 330 305 285
277 273 256 246 236 220 190 183
160 75 71 47 38 28
Vector:
382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28
Enrique P. Calot Algoritmos y Programacion II
3.5 Merge Polifasico de las salidas por seleccion natural 47
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 5: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 160, 220, 285,305, 330, 374, 376,382
28, 47, 71, 75, 183,236, 246, 256, 273,277, 331
190 –
Cuadro 6: Fase 1
3.5. Merge Polifasico de las salidas por seleccion natural
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.5.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.5.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.6. Merge Polifasico de las particiones marcadas
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las 7 particionescorrespondientes de ordenadar los subgrupos del lote de datos separados por †.Por ejemplo p1 = {38, 220, 285, 305, 382}; p2 = {71, 160, 374}; . . . ; p6 = {183, 236}; p7 = {190, 277, 331}.
3.6.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.6.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de lascuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
Algoritmos y Programacion II Facultad de Ingenierıa
48 3.6 Merge Polifasico de las particiones marcadas
E1 E2 E3 S
38, 160, 220, 285,305, 330, 374, 376,382
28, 47, 71, 75, 183,236, 246, 256, 273,277, 331
190 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 7: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 8: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 38, 220, 285, 305, 382 –71, 160, 374 75 330, 376 –28, 47, 246, 256, 273 183, 236 – –190, 277, 331 – – –
Cuadro 9: Fase 1
E1 E2 E3 S
D D 38, 220, 285, 305, 382 38, 220, 285, 305, 38271, 160, 374 75 330, 376 71, 75, 160, 330, 374,
376
E1 E2 S E3
28, 47, 246, 256, 273 183, 236 – 38, 220, 285, 305, 382190, 277, 331 – – 71, 75, 160, 330, 374,
376
Cuadro 10: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.7 Merge Polifasico completo con particiones formadas de 1 elemento 49
E1 E2 E3 S
D D 38, 220, 285, 305, 382 38, 220, 285, 305, 38271, 160, 374 75 330, 376 71, 75, 160, 330, 374,
376
E1 E2 S E3
28, 47, 246, 256, 273 183, 236 28, 38, 47, 183, 220,236, 246, 256, 273,285, 305, 382
38, 220, 285, 305, 382
E1 S E2 E3
190, 277, 331 – 28, 38, 47, 183, 220,236, 246, 256, 273,285, 305, 382
71, 75, 160, 330, 374,376
Cuadro 11: Fase 3
Fases c1 c2 c3∑3
i=1 ci < 210 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 Si5 13 11 7 31 No
Cuadro 12: Calculo de la distribucion de columnas y dummies
3.7. Merge Polifasico completo con particiones formadas de 1 elemento
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particionesordenadas tomadas del lote de datos.
3.7.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.7.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 31 = 13+11+7 = 21+10. Por lo tanto es necesario repartir 31 particionesde las cuales 10 son dummies (particiones vacıas) y 21 son mis particiones de entrada.
3.8. Merge Polifasico con particiones formadas de 2 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 11 particionesordenadas de 2 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {38, 285}; p2 = {220, 305}; . . . ; p10 = {190, 277}; p11 = {331}.
Algoritmos y Programacion II Facultad de Ingenierıa
50 3.8 Merge Polifasico con particiones formadas de 2 elementos
E1 E2 E3 S
D D D –D D D –D D D –D 285 38 –305 220 382 –160 71 374 –75 330 376 –246 28 – –256 47 – –273 236 – –183 277 – –190 – – –331 – – –
Cuadro 13: Fase 1
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 – D
256 47 – D
273 236 – D
183 277 – 38, 285190 – – 220, 305, 382331 – – 71, 160, 374– – – 75, 330, 376
Cuadro 14: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 51
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 28, 246 D
256 47 47, 256 D
273 236 236, 273 D
183 277 38, 183, 277, 285 38, 285
E1 S E2 E3
190 – 28, 246 220, 305, 382331 – 47, 256 71, 160, 374– – 236, 273 75, 330, 376– – 38, 183, 277, 285 –
Cuadro 15: Fase 3
3.8.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.8.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total + dummies = 17 = 7 + 6 + 4 = 11 + 6. Por lo tanto es necesario repartir 17 particionesde las cuales 6 son dummies (particiones vacıas) y 11 son mis particiones de entrada.
3.9. Merge Polifasico con particiones formadas de 3 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 7 particionesordenadas de 3 elementos cada una tomadas del lote de datos.Por ejemplo p1 = {38, 285, 305}; p2 = {160, 220, 382}; . . . ; p6 = {183, 236, 273}; p7 = {190, 277, 331}.
3.9.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.9.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 7+ 2. Por lo tanto es necesario repartir 9 particiones de las
Algoritmos y Programacion II Facultad de Ingenierıa
52 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 28, 246 D
256 47 47, 256 D
273 236 236, 273 D
183 277 38, 183, 277, 285 38, 285
E1 S E2 E3
190 28, 190, 220, 246,305, 382
28, 246 220, 305, 382
331 47, 71, 160, 256, 331,374
47, 256 71, 160, 374
S E1 E2 E3
– 28, 190, 220, 246,305, 382
236, 273 75, 330, 376
– 47, 71, 160, 256, 331,374
38, 183, 277, 285 –
Cuadro 16: Fase 4
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 53
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 28, 246 D
256 47 47, 256 D
273 236 236, 273 D
183 277 38, 183, 277, 285 38, 285
E1 S E2 E3
190 28, 190, 220, 246,305, 382
28, 246 220, 305, 382
331 47, 71, 160, 256, 331,374
47, 256 71, 160, 374
S E1 E2 E3
28, 75, 190, 220, 236,246, 273, 305, 330,376, 382
28, 190, 220, 246,305, 382
236, 273 75, 330, 376
E3 E1 E2 S
28, 75, 190, 220, 236,246, 273, 305, 330,376, 382
47, 71, 160, 256, 331,374
38, 183, 277, 285 –
Cuadro 17: Fase 5
Algoritmos y Programacion II Facultad de Ingenierıa
54 3.9 Merge Polifasico con particiones formadas de 3 elementos
E1 E2 E3 S
D D D D
D D D D
D D D D
D 285 38 38, 285305 220 382 220, 305, 382160 71 374 71, 160, 37475 330 376 75, 330, 376
E1 E2 S E3
246 28 28, 246 D
256 47 47, 256 D
273 236 236, 273 D
183 277 38, 183, 277, 285 38, 285
E1 S E2 E3
190 28, 190, 220, 246,305, 382
28, 246 220, 305, 382
331 47, 71, 160, 256, 331,374
47, 256 71, 160, 374
S E1 E2 E3
28, 75, 190, 220, 236,246, 273, 305, 330,376, 382
28, 190, 220, 246,305, 382
236, 273 75, 330, 376
E3 E1 E2 S
28, 75, 190, 220, 236,246, 273, 305, 330,376, 382
47, 71, 160, 256, 331,374
38, 183, 277, 285 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E1 E2 E3
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 18: Fase final
Fases c1 c2 c3∑3
i=1 ci < 110 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 Si4 7 6 4 17 No
Cuadro 19: Calculo de la distribucion de columnas y dummies
Enrique P. Calot Algoritmos y Programacion II
3.9 Merge Polifasico con particiones formadas de 3 elementos 55
E1 E2 E3 S
D D D –D D D –38, 285 220, 305 160, 382 –71, 374 75, 330 246, 376 –28, 256 47, 273 – –183, 236 190, 277 – –331 – – –
Cuadro 20: Fase 1
E1 E2 E3 S
D D D D
D D D D
38, 285 220, 305 160, 382 38, 160, 220, 285,305, 382
71, 374 75, 330 246, 376 71, 75, 246, 330, 374,376
E1 E2 S E3
28, 256 47, 273 – D
183, 236 190, 277 – D
331 – – 38, 160, 220, 285,305, 382
– – – 71, 75, 246, 330, 374,376
Cuadro 21: Fase 2
E1 E2 E3 S
D D D D
D D D D
38, 285 220, 305 160, 382 38, 160, 220, 285,305, 382
71, 374 75, 330 246, 376 71, 75, 246, 330, 374,376
E1 E2 S E3
28, 256 47, 273 28, 47, 256, 273 D
183, 236 190, 277 183, 190, 236, 277 D
E1 S E2 E3
331 – 28, 47, 256, 273 38, 160, 220, 285,305, 382
– – 183, 190, 236, 277 71, 75, 246, 330, 374,376
Cuadro 22: Fase 3
Algoritmos y Programacion II Facultad de Ingenierıa
56 3.10 Merge Polifasico con particiones formadas de 4 elementos
E1 E2 E3 S
D D D D
D D D D
38, 285 220, 305 160, 382 38, 160, 220, 285,305, 382
71, 374 75, 330 246, 376 71, 75, 246, 330, 374,376
E1 E2 S E3
28, 256 47, 273 28, 47, 256, 273 D
183, 236 190, 277 183, 190, 236, 277 D
E1 S E2 E3
331 28, 38, 47, 160, 220,256, 273, 285, 305,331, 382
28, 47, 256, 273 38, 160, 220, 285,305, 382
S E1 E2 E3
– 28, 38, 47, 160, 220,256, 273, 285, 305,331, 382
183, 190, 236, 277 71, 75, 246, 330, 374,376
Cuadro 23: Fase 4
cuales 2 son dummies (particiones vacıas) y 7 son mis particiones de entrada.
3.10. Merge Polifasico con particiones formadas de 4 elementos
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con 6 particionesordenadas de 4 elementos cada una tomadas del lote de datos.Es decir las particiones serıan p1 = {38, 220, 285, 305}; p2 = {71, 160, 374, 382}; p3 = {75, 246, 330, 376}; p4 ={28, 47, 256, 273}; p5 = {183, 190, 236, 277}; p6 = {331}.
3.10.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.10.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.11. Seleccion de reemplazo con buffer de tamano 2
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 2.
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 57
E1 E2 E3 S
D D D D
D D D D
38, 285 220, 305 160, 382 38, 160, 220, 285,305, 382
71, 374 75, 330 246, 376 71, 75, 246, 330, 374,376
E1 E2 S E3
28, 256 47, 273 28, 47, 256, 273 D
183, 236 190, 277 183, 190, 236, 277 D
E1 S E2 E3
331 28, 38, 47, 160, 220,256, 273, 285, 305,331, 382
28, 47, 256, 273 38, 160, 220, 285,305, 382
S E1 E2 E3
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
28, 38, 47, 160, 220,256, 273, 285, 305,331, 382
183, 190, 236, 277 71, 75, 246, 330, 374,376
E1 S E2 E3
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
– – –
Cuadro 24: Fase final
Fases c1 c2 c3∑3
i=1 ci < 70 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 25: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D 38, 285, 305 –160, 220, 382 71, 75, 374 246, 330, 376 –28, 47, 256 183, 236, 273 – –190, 277, 331 – – –
Cuadro 26: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
58 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D 38, 285, 305 38, 285, 305160, 220, 382 71, 75, 374 246, 330, 376 71, 75, 160, 220, 246,
330, 374, 376, 382
E1 E2 S E3
28, 47, 256 183, 236, 273 – 38, 285, 305190, 277, 331 – – 71, 75, 160, 220, 246,
330, 374, 376, 382
Cuadro 27: Fase 2
E1 E2 E3 S
D D 38, 285, 305 38, 285, 305160, 220, 382 71, 75, 374 246, 330, 376 71, 75, 160, 220, 246,
330, 374, 376, 382
E1 E2 S E3
28, 47, 256 183, 236, 273 28, 38, 47, 183, 236,256, 273, 285, 305
38, 285, 305
E1 S E2 E3
190, 277, 331 – 28, 38, 47, 183, 236,256, 273, 285, 305
71, 75, 160, 220, 246,330, 374, 376, 382
Cuadro 28: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 59
E1 E2 E3 S
D D 38, 285, 305 38, 285, 305160, 220, 382 71, 75, 374 246, 330, 376 71, 75, 160, 220, 246,
330, 374, 376, 382
E1 E2 S E3
28, 47, 256 183, 236, 273 28, 38, 47, 183, 236,256, 273, 285, 305
38, 285, 305
E1 S E2 E3
190, 277, 331 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
28, 38, 47, 183, 236,256, 273, 285, 305
71, 75, 160, 220, 246,330, 374, 376, 382
S E1 E2 E3
– 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
– –
Cuadro 29: Fase final
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 30: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –38, 220, 285, 305 71, 160, 374, 382 75, 246, 330, 376 –28, 47, 256, 273 183, 190, 236, 277 – –331 – – –
Cuadro 31: Fase 1
Algoritmos y Programacion II Facultad de Ingenierıa
60 3.11 Seleccion de reemplazo con buffer de tamano 2
E1 E2 E3 S
D D D D
38, 220, 285, 305 71, 160, 374, 382 75, 246, 330, 376 38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
E1 E2 S E3
28, 47, 256, 273 183, 190, 236, 277 – D
331 – – 38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
Cuadro 32: Fase 2
E1 E2 E3 S
D D D D
38, 220, 285, 305 71, 160, 374, 382 75, 246, 330, 376 38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
E1 E2 S E3
28, 47, 256, 273 183, 190, 236, 277 28, 47, 183, 190, 236,256, 273, 277
D
E1 S E2 E3
331 – 28, 47, 183, 190, 236,256, 273, 277
38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
Cuadro 33: Fase 3
Enrique P. Calot Algoritmos y Programacion II
3.11 Seleccion de reemplazo con buffer de tamano 2 61
E1 E2 E3 S
D D D D
38, 220, 285, 305 71, 160, 374, 382 75, 246, 330, 376 38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
E1 E2 S E3
28, 47, 256, 273 183, 190, 236, 277 28, 47, 183, 190, 236,256, 273, 277
D
E1 S E2 E3
331 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
28, 47, 183, 190, 236,256, 273, 277
38, 71, 75, 160, 220,246, 285, 305, 330,374, 376, 382
S E1 E2 E3
– 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
– –
Cuadro 34: Fase final
3.11.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Algoritmos y Programacion II Facultad de Ingenierıa
62 3.12 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 2
b1 b2 Sale Entra
– – Nada 285
285 – Nada 38
285 38 38 305
285 305 285 220
220 305 305 382
220 382 382 160
220 160
Nueva particion! Se cierra la particion p1 = {38, 285, 305, 382}160 71
220 71 220 374
374 71 374 75
75 71
Nueva particion! Se cierra la particion p2 = {160, 220, 374}71 330
75 330 75 376
376 330 330 246
376 246 376 28
28 246
Nueva particion! Se cierra la particion p3 = {71, 75, 330, 376}28 256
256 246 246 47
256 47 256 273
273 47 273 236
236 47
Nueva particion! Se cierra la particion p4 = {28, 246, 256, 273}47 183
236 183 183 277
236 277 236 190
190 277 277 331
190 331 331 Nada
190 –
Nueva particion! Se cierra la particion p5 = {47, 183, 236, 277, 331}190 Nada
Finaliza la ultima particion en p6 = {190}
3.11.2. Salida final
p1 = {38, 285, 305, 382};
p2 = {160, 220, 374};
p3 = {71, 75, 330, 376};
p4 = {28, 246, 256, 273};
p5 = {47, 183, 236, 277, 331};
p6 = {190}.
3.12. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 63
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 35: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 –28, 246, 256, 273 47, 183, 236, 277, 331 – –190 – – –
Cuadro 36: Fase 1
3.12.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.12.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
3.13. Seleccion Natural con buffers de tamano 2
Desarrollar el algoritmo de seleccion natural con buffers de tamano 2.
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 – D
190 – – 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
Cuadro 37: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
64 3.13 Seleccion Natural con buffers de tamano 2
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 28, 47, 183, 236, 246,256, 273, 277, 331
D
E1 S E2 E3
190 – 28, 47, 183, 236, 246,256, 273, 277, 331
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
Cuadro 38: Fase 3
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 28, 47, 183, 236, 246,256, 273, 277, 331
D
E1 S E2 E3
190 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
28, 47, 183, 236, 246,256, 273, 277, 331
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
S E1 E2 E3
– 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
– –
Cuadro 39: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.13 Seleccion Natural con buffers de tamano 2 65
3.13.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
b1 b2 a1 a2 Sale Entra
– – – – Nada 285
285 – – – Nada 38
285 38 – – 38 305
285 305 – – 285 220
– 305 220 – Nada 382
382 305 220 – 305 160
382 – 220 160 382 Nada
220 160 – –
Nueva particion! Se cierra la particion p1 = {38, 285, 305, 382}160 71
220 – 71 – Nada 374
220 374 71 – 220 75
– 374 71 75 374 Nada
71 75 – –
Nueva particion! Se cierra la particion p2 = {160, 220, 374}71 330
330 75 – – 75 376
330 376 – – 330 246
– 376 246 – Nada 28
– 376 246 28 376 Nada
246 28 – –
Nueva particion! Se cierra la particion p3 = {71, 75, 330, 376}28 256
246 256 – – 246 47
– 256 47 – Nada 273
273 256 47 – 256 236
273 – 47 236 273 Nada
47 236 – –
Nueva particion! Se cierra la particion p4 = {28, 246, 256, 273}47 183
183 236 – – 183 277
277 236 – – 236 190
277 – 190 – Nada 331
277 331 190 – 277 Nada
– 331 190 – 331 Nada
190 – – –
Nueva particion! Se cierra la particion p5 = {47, 183, 236, 277, 331}190 Nada
Finaliza la ultima particion en p6 = {190}
3.13.2. Salida final
p1 = {38, 285, 305, 382};
p2 = {160, 220, 374};
p3 = {71, 75, 330, 376};
p4 = {28, 246, 256, 273};
p5 = {47, 183, 236, 277, 331};
p6 = {190}.
Algoritmos y Programacion II Facultad de Ingenierıa
66 3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2
Fases c1 c2 c3∑3
i=1 ci < 60 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 Si3 4 3 2 9 No
Cuadro 40: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D D D –38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 –28, 246, 256, 273 47, 183, 236, 277, 331 – –190 – – –
Cuadro 41: Fase 1
3.14. Merge Polifasico de las salidas por seleccion natural de buffers tamano
2
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.14.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.14.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 9 = 4+ 3+ 2 = 6+ 3. Por lo tanto es necesario repartir 9 particiones de lascuales 3 son dummies (particiones vacıas) y 6 son mis particiones de entrada.
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 – D
190 – – 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
Cuadro 42: Fase 2
Enrique P. Calot Algoritmos y Programacion II
3.14 Merge Polifasico de las salidas por seleccion natural de buffers tamano 2 67
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 28, 47, 183, 236, 246,256, 273, 277, 331
D
E1 S E2 E3
190 – 28, 47, 183, 236, 246,256, 273, 277, 331
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
Cuadro 43: Fase 3
E1 E2 E3 S
D D D D
38, 285, 305, 382 160, 220, 374 71, 75, 330, 376 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 246, 256, 273 47, 183, 236, 277, 331 28, 47, 183, 236, 246,256, 273, 277, 331
D
E1 S E2 E3
190 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
28, 47, 183, 236, 246,256, 273, 277, 331
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
S E1 E2 E3
– 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
– –
Cuadro 44: Fase final
Algoritmos y Programacion II Facultad de Ingenierıa
68 3.15 Seleccion de reemplazo con buffer de tamano 3
3.15. Seleccion de reemplazo con buffer de tamano 3
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 3.
3.15.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
b1 b2 b3 Sale Entra
– – – Nada 285
285 – – Nada 38
285 38 – Nada 305
285 38 305 38 220
285 220 305 220 382
285 382 305 285 160
160 382 305 305 71
160 382 71 382 374
160 374 71
Nueva particion! Se cierra la particion p1 = {38, 220, 285, 305, 382}71 75
160 374 75 75 330
160 374 330 160 376
376 374 330 330 246
376 374 246 374 28
376 28 246 376 256
256 28 246
Nueva particion! Se cierra la particion p2 = {71, 75, 160, 330, 374, 376}28 47
256 47 246 47 273
256 273 246 246 236
256 273 236 256 183
183 273 236 273 277
183 277 236 277 190
183 190 236
Nueva particion! Se cierra la particion p3 = {28, 47, 246, 256, 273, 277}183 331
331 190 236 190 Nada
331 – 236 236 Nada
331 – – 331 Nada
Finaliza la ultima particion en p4 = {183, 190, 236, 331}
3.15.2. Salida final
p1 = {38, 220, 285, 305, 382};
p2 = {71, 75, 160, 330, 374, 376};
p3 = {28, 47, 246, 256, 273, 277};
p4 = {183, 190, 236, 331}.
3.16. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot Algoritmos y Programacion II
3.17 Seleccion Natural con buffers de tamano 3 69
Fases c1 c2 c3∑3
i=1 ci < 40 1 0 0 1 Si1 1 1 1 3 Si2 2 2 1 5 No
Cuadro 45: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 220, 285, 305, 382 71, 75, 160, 330, 374,376
–
28, 47, 246, 256, 273,277
183, 190, 236, 331 – –
Cuadro 46: Fase 1
3.16.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.16.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 5 = 2+ 2+ 1 = 4+ 1. Por lo tanto es necesario repartir 5 particiones de lascuales 1 son dummies (particiones vacıas) y 4 son mis particiones de entrada.
3.17. Seleccion Natural con buffers de tamano 3
Desarrollar el algoritmo de seleccion natural con buffers de tamano 3.
3.17.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
E1 E2 E3 S
D 38, 220, 285, 305, 382 71, 75, 160, 330, 374,376
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 47, 246, 256, 273,277
183, 190, 236, 331 – 38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
Cuadro 47: Fase 2
Algoritmos y Programacion II Facultad de Ingenierıa
70 3.17 Seleccion Natural con buffers de tamano 3
E1 E2 E3 S
D 38, 220, 285, 305, 382 71, 75, 160, 330, 374,376
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
E1 E2 S E3
28, 47, 246, 256, 273,277
183, 190, 236, 331 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
38, 71, 75, 160, 220,285, 305, 330, 374,376, 382
S E2 E1 E3
– – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
–
Cuadro 48: Fase final
Enrique P. Calot Algoritmos y Programacion II
3.18 Merge Polifasico de las salidas por seleccion natural de buffers tamano 3 71
b1 b2 b3 a1 a2 a3 Sale Entra
– – – – – – Nada 285
285 – – – – – Nada 38
285 38 – – – – Nada 305
285 38 305 – – – 38 220
285 220 305 – – – 220 382
285 382 305 – – – 285 160
– 382 305 160 – – Nada 71
– 382 305 160 71 – Nada 374
374 382 305 160 71 – 305 75
374 382 – 160 71 75 374 Nada
– 382 – 160 71 75 382 Nada
160 71 75 – – –
Nueva particion! Se cierra la particion p1 = {38, 220, 285, 305, 374, 382}71 330
160 330 75 – – – 75 376
160 330 376 – – – 160 246
246 330 376 – – – 246 28
– 330 376 28 – – Nada 256
256 330 376 28 – – 256 47
– 330 376 28 47 – Nada 273
273 330 376 28 47 – 273 236
– 330 376 28 47 236 330 Nada
– – 376 28 47 236 376 Nada
28 47 236 – – –
Nueva particion! Se cierra la particion p2 = {71, 75, 160, 246, 256, 273, 330, 376}28 183
183 47 236 – – – 47 277
183 277 236 – – – 183 190
190 277 236 – – – 190 331
331 277 236 – – – 236 Nada
331 277 – – – – 277 Nada
331 – – – – – 331 Nada
Finaliza la ultima particion en p3 = {28, 47, 183, 190, 236, 277, 331}
3.17.2. Salida final
p1 = {38, 220, 285, 305, 374, 382};
p2 = {71, 75, 160, 246, 256, 273, 330, 376};
p3 = {28, 47, 183, 190, 236, 277, 331}.
3.18. Merge Polifasico de las salidas por seleccion natural de buffers tamano
3
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.18.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.18.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de las
Algoritmos y Programacion II Facultad de Ingenierıa
72 3.19 Seleccion de reemplazo con buffer de tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 49: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 220, 285, 305,374, 382
71, 75, 160, 246, 256,273, 330, 376
28, 47, 183, 190, 236,277, 331
–
Cuadro 50: Fase 1
cuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.19. Seleccion de reemplazo con buffer de tamano 4
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 4.
3.19.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.19 Seleccion de reemplazo con buffer de tamano 4 73
E1 E2 E3 S
38, 220, 285, 305,374, 382
71, 75, 160, 246, 256,273, 330, 376
28, 47, 183, 190, 236,277, 331
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 51: Fase final
b1 b2 b3 b4 Sale Entra
– – – – Nada 285
285 – – – Nada 38
285 38 – – Nada 305
285 38 305 – Nada 220
285 38 305 220 38 382
285 382 305 220 220 160
285 382 305 160 285 71
71 382 305 160 305 374
71 382 374 160 374 75
71 382 75 160 382 330
71 330 75 160
Nueva particion! Se cierra la particion p1 =
{38, 220, 285, 305, 374, 382}71 376
376 330 75 160 75 246
376 330 246 160 160 28
376 330 246 28 246 256
376 330 256 28 256 47
376 330 47 28 330 273
376 273 47 28 376 236
236 273 47 28
Nueva particion! Se cierra la particion p2 =
{71, 75, 160, 246, 256, 330, 376}28 183
236 273 47 183 47 277
236 273 277 183 183 190
236 273 277 190 190 331
236 273 277 331 236 Nada
– 273 277 331 273 Nada
– – 277 331 277 Nada
– – – 331 331 Nada
Finaliza la ultima particion en p3 =
{28, 47, 183, 190, 236, 273, 277, 331}
3.19.2. Salida final
p1 = {38, 220, 285, 305, 374, 382};
p2 = {71, 75, 160, 246, 256, 330, 376};
Algoritmos y Programacion II Facultad de Ingenierıa
74 3.20 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 52: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 220, 285, 305,374, 382
71, 75, 160, 246, 256,330, 376
28, 47, 183, 190, 236,273, 277, 331
–
Cuadro 53: Fase 1
p3 = {28, 47, 183, 190, 236, 273, 277, 331}.
3.20. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.20.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.20.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.21. Seleccion Natural con buffers de tamano 4
Desarrollar el algoritmo de seleccion natural con buffers de tamano 4.
3.21.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.21 Seleccion Natural con buffers de tamano 4 75
E1 E2 E3 S
38, 220, 285, 305,374, 382
71, 75, 160, 246, 256,330, 376
28, 47, 183, 190, 236,273, 277, 331
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 54: Fase final
b1 b2 b3 b4 a1 a2 a3 a4 Sale Entra
– – – – – – – – Nada 285
285 – – – – – – – Nada 38
285 38 – – – – – – Nada 305
285 38 305 – – – – – Nada 220
285 38 305 220 – – – – 38 382
285 382 305 220 – – – – 220 160
285 382 305 – 160 – – – Nada 71
285 382 305 – 160 71 – – Nada 374
285 382 305 374 160 71 – – 285 75
– 382 305 374 160 71 75 – Nada 330
330 382 305 374 160 71 75 – 305 376
330 382 376 374 160 71 75 – 330 246
– 382 376 374 160 71 75 246 374 Nada
– 382 376 – 160 71 75 246 376 Nada
– 382 – – 160 71 75 246 382 Nada
160 71 75 246 – – – –
Nueva particion! Se cierra la particion p1 = {38, 220, 285, 305, 330, 374, 376, 382}71 28
160 – 75 246 28 – – – Nada 256
160 256 75 246 28 – – – 75 47
160 256 – 246 28 47 – – Nada 273
160 256 273 246 28 47 – – 160 236
236 256 273 246 28 47 – – 236 183
– 256 273 246 28 47 183 – Nada 277
277 256 273 246 28 47 183 – 246 190
277 256 273 – 28 47 183 190 256 Nada
277 – 273 – 28 47 183 190 273 Nada
277 – – – 28 47 183 190 277 Nada
28 47 183 190 – – – –
Nueva particion! Se cierra la particion p2 = {71, 75, 160, 236, 246, 256, 273, 277}28 331
331 47 183 190 – – – – 47 Nada
331 – 183 190 – – – – 183 Nada
331 – – 190 – – – – 190 Nada
331 – – – – – – – 331 Nada
Finaliza la ultima particion en p3 = {28, 47, 183, 190, 331}
Algoritmos y Programacion II Facultad de Ingenierıa
76 3.22 Merge Polifasico de las salidas por seleccion natural de buffers tamano 4
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 55: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 220, 285, 305,330, 374, 376, 382
71, 75, 160, 236, 246,256, 273, 277
28, 47, 183, 190, 331 –
Cuadro 56: Fase 1
3.21.2. Salida final
p1 = {38, 220, 285, 305, 330, 374, 376, 382};
p2 = {71, 75, 160, 236, 246, 256, 273, 277};
p3 = {28, 47, 183, 190, 331}.
3.22. Merge Polifasico de las salidas por seleccion natural de buffers tamano
4
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.22.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.22.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.23. Seleccion de reemplazo con buffer de tamano 5
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 5.
3.23.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.23 Seleccion de reemplazo con buffer de tamano 5 77
E1 E2 E3 S
38, 220, 285, 305,330, 374, 376, 382
71, 75, 160, 236, 246,256, 273, 277
28, 47, 183, 190, 331 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 57: Fase final
b1 b2 b3 b4 b5 Sale Entra
– – – – – Nada 285
285 – – – – Nada 38
285 38 – – – Nada 305
285 38 305 – – Nada 220
285 38 305 220 – Nada 382
285 38 305 220 382 38 160
285 160 305 220 382 160 71
285 71 305 220 382 220 374
285 71 305 374 382 285 75
75 71 305 374 382 305 330
75 71 330 374 382 330 376
75 71 376 374 382 374 246
75 71 376 246 382 376 28
75 71 28 246 382 382 256
75 71 28 246 256
Nueva particion! Se cierra la particion p1 =
{38, 160, 220, 285, 305, 330, 374, 376, 382}28 47
75 71 47 246 256 47 273
75 71 273 246 256 71 236
75 236 273 246 256 75 183
183 236 273 246 256 183 277
277 236 273 246 256 236 190
277 190 273 246 256 246 331
277 190 273 331 256 256 Nada
277 190 273 331 – 273 Nada
277 190 – 331 – 277 Nada
– 190 – 331 – 331 Nada
– 190 – – –
Nueva particion! Se cierra la particion p2 =
{28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331}190 Nada
Finaliza la ultima particion en p3 = {190}
3.23.2. Salida final
p1 = {38, 160, 220, 285, 305, 330, 374, 376, 382};
p2 = {28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331};
Algoritmos y Programacion II Facultad de Ingenierıa
78 3.24 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 5
Fases c1 c2 c3∑3
i=1 ci < 30 1 0 0 1 Si1 1 1 1 3 No
Cuadro 58: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
38, 160, 220, 285,305, 330, 374, 376,382
28, 47, 71, 75, 183,236, 246, 256, 273,277, 331
190 –
Cuadro 59: Fase 1
p3 = {190}.
3.24. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 5
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.24.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.24.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 3+ 0. Por lo tanto es necesario repartir 3 particiones de lascuales 0 son dummies (particiones vacıas) y 3 son mis particiones de entrada.
3.25. Seleccion de reemplazo con buffer de tamano 6
Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tamano 6.
3.25.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar ellote de datos dado.
Enrique P. Calot Algoritmos y Programacion II
3.25 Seleccion de reemplazo con buffer de tamano 6 79
E1 E2 E3 S
38, 160, 220, 285,305, 330, 374, 376,382
28, 47, 71, 75, 183,236, 246, 256, 273,277, 331
190 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 60: Fase final
b1 b2 b3 b4 b5 b6 Sale Entra
– – – – – – Nada 285
285 – – – – – Nada 38
285 38 – – – – Nada 305
285 38 305 – – – Nada 220
285 38 305 220 – – Nada 382
285 38 305 220 382 – Nada 160
285 38 305 220 382 160 38 71
285 71 305 220 382 160 71 374
285 374 305 220 382 160 160 75
285 374 305 220 382 75 220 330
285 374 305 330 382 75 285 376
376 374 305 330 382 75 305 246
376 374 246 330 382 75 330 28
376 374 246 28 382 75 374 256
376 256 246 28 382 75 376 47
47 256 246 28 382 75 382 273
47 256 246 28 273 75
Nueva particion! Se cierra la particion p1 =
{38, 71, 160, 220, 285, 305, 330, 374, 376, 382}28 236
47 256 246 236 273 75 47 183
183 256 246 236 273 75 75 277
183 256 246 236 273 277 183 190
190 256 246 236 273 277 190 331
331 256 246 236 273 277 236 Nada
331 256 246 – 273 277 246 Nada
331 256 – – 273 277 256 Nada
331 – – – 273 277 273 Nada
331 – – – – 277 277 Nada
331 – – – – – 331 Nada
Finaliza la ultima particion en p2 =
{28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}
3.25.2. Salida final
p1 = {38, 71, 160, 220, 285, 305, 330, 374, 376, 382};
p2 = {28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}.
Algoritmos y Programacion II Facultad de Ingenierıa
80 3.26 Merge Polifasico de las salidas por seleccion de reemplazo de buffer tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 61: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 71, 160, 220, 285,305, 330, 374, 376,382
28, 47, 75, 183, 190,236, 246, 256, 273,277, 331
–
Cuadro 62: Fase 1
3.26. Merge Polifasico de las salidas por seleccion de reemplazo de buffer
tamano 6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion de reemplazo.
3.26.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.26.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
3.27. Seleccion Natural con buffers de tamano 6
Desarrollar el algoritmo de seleccion natural con buffers de tamano 6.
3.27.1. Desarrollo
A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote dedatos dado.
Enrique P. Calot Algoritmos y Programacion II
3.27 Seleccion Natural con buffers de tamano 6 81
E1 E2 E3 S
D 38, 71, 160, 220, 285,305, 330, 374, 376,382
28, 47, 75, 183, 190,236, 246, 256, 273,277, 331
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 63: Fase final
b1 b2 b3 b4 b5 b6 a1 a2 a3 a4 a5 a6 Sale Entra
– – – – – – – – – – – – Nada 285
285 – – – – – – – – – – – Nada 38
285 38 – – – – – – – – – – Nada 305
285 38 305 – – – – – – – – – Nada 220
285 38 305 220 – – – – – – – – Nada 382
285 38 305 220 382 – – – – – – – Nada 160
285 38 305 220 382 160 – – – – – – 38 71
285 71 305 220 382 160 – – – – – – 71 374
285 374 305 220 382 160 – – – – – – 160 75
285 374 305 220 382 – 75 – – – – – Nada 330
285 374 305 220 382 330 75 – – – – – 220 376
285 374 305 376 382 330 75 – – – – – 285 246
– 374 305 376 382 330 75 246 – – – – Nada 28
– 374 305 376 382 330 75 246 28 – – – Nada 256
– 374 305 376 382 330 75 246 28 256 – – Nada 47
– 374 305 376 382 330 75 246 28 256 47 – Nada 273
– 374 305 376 382 330 75 246 28 256 47 273 305 Nada
– 374 – 376 382 330 75 246 28 256 47 273 330 Nada
– 374 – 376 382 – 75 246 28 256 47 273 374 Nada
– – – 376 382 – 75 246 28 256 47 273 376 Nada
– – – – 382 – 75 246 28 256 47 273 382 Nada
75 246 28 256 47 273 – – – – – –
Nueva particion! Se cierra la particion p1 = {38, 71, 160, 220, 285, 305, 330, 374, 376, 382}28 236
75 246 236 256 47 273 – – – – – – 47 183
75 246 236 256 183 273 – – – – – – 75 277
277 246 236 256 183 273 – – – – – – 183 190
277 246 236 256 190 273 – – – – – – 190 331
277 246 236 256 331 273 – – – – – – 236 Nada
277 246 – 256 331 273 – – – – – – 246 Nada
277 – – 256 331 273 – – – – – – 256 Nada
277 – – – 331 273 – – – – – – 273 Nada
277 – – – 331 – – – – – – – 277 Nada
– – – – 331 – – – – – – – 331 Nada
Finaliza la ultima particion en p2 = {28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}
3.27.2. Salida final
p1 = {38, 71, 160, 220, 285, 305, 330, 374, 376, 382};
Algoritmos y Programacion II Facultad de Ingenierıa
82 3.28 Merge Polifasico de las salidas por seleccion natural de buffers tamano 6
Fases c1 c2 c3∑3
i=1 ci < 20 1 0 0 1 Si1 1 1 1 3 No
Cuadro 64: Calculo de la distribucion de columnas y dummies
E1 E2 E3 S
D 38, 71, 160, 220, 285,305, 330, 374, 376,382
28, 47, 75, 183, 190,236, 246, 256, 273,277, 331
–
Cuadro 65: Fase 1
p2 = {28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}.
3.28. Merge Polifasico de las salidas por seleccion natural de buffers tamano
6
Desarrollar todas las fases del algoritmo de merge polifasico para 3 vıas de entrada con las particionesobtenidas de la salida del algoritmo de seleccion natural.
3.28.1. Calculo de la distribucion de columnas y dummies
A continuacion se presenta el calculo para obtener la distribucion de entrada de las particiones y sabercuantas particiones dummy seran necesarias incorporar.
3.28.2. Distribucion inicial
Una vez encontrados los numeros de Fibonacci se comienza a distribuir de la siguiente forma: c1 +c2 + c3 = total+ dummies = 3 = 1+ 1+ 1 = 2+ 1. Por lo tanto es necesario repartir 3 particiones de lascuales 1 son dummies (particiones vacıas) y 2 son mis particiones de entrada.
Enrique P. Calot Algoritmos y Programacion II
3.29 Bubble Sort ascendente 83
E1 E2 E3 S
D 38, 71, 160, 220, 285,305, 330, 374, 376,382
28, 47, 75, 183, 190,236, 246, 256, 273,277, 331
28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
S E2 E3 E1
– – – 28, 38, 47, 71, 75,160, 183, 190, 220,236, 246, 256, 273,277, 285, 305, 330,331, 374, 376, 382
Cuadro 66: Fase final
3.29. Bubble Sort ascendente
3.29.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 18/20
1 38 285 220 305 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 382 15/19
2 38 220 285 160 71 305 75 330 374 246 28 256 47 273 236 183 277 190 331 376 382 13/18
3 38 220 160 71 285 75 305 330 246 28 256 47 273 236 183 277 190 331 374 376 382 12/17
4 38 160 71 220 75 285 305 246 28 256 47 273 236 183 277 190 330 331 374 376 382 11/16
5 38 71 160 75 220 285 246 28 256 47 273 236 183 277 190 305 330 331 374 376 382 10/15
6 38 71 75 160 220 246 28 256 47 273 236 183 277 190 285 305 330 331 374 376 382 5/14
7 38 71 75 160 220 28 246 47 256 236 183 273 190 277 285 305 330 331 374 376 382 5/13
8 38 71 75 160 28 220 47 246 236 183 256 190 273 277 285 305 330 331 374 376 382 5/12
9 38 71 75 28 160 47 220 236 183 246 190 256 273 277 285 305 330 331 374 376 382 4/11
10 38 71 28 75 47 160 220 183 236 190 246 256 273 277 285 305 330 331 374 376 382 4/10
11 38 28 71 47 75 160 183 220 190 236 246 256 273 277 285 305 330 331 374 376 382 3/9
12 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/8
13 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/7
14 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/6
15 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/5
16 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/4
17 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/3
18 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/2
19 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/1
20 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
84 3.30 Bubble Sort descendente
3.30. Bubble Sort descendente
3.30.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 18/20
1 285 305 220 382 160 71 374 75 330 376 246 38 256 47 273 236 183 277 190 331 28 15/19
2 305 285 382 220 160 374 75 330 376 246 71 256 47 273 236 183 277 190 331 38 28 12/18
3 305 382 285 220 374 160 330 376 246 75 256 71 273 236 183 277 190 331 47 38 28 12/17
4 382 305 285 374 220 330 376 246 160 256 75 273 236 183 277 190 331 71 47 38 28 11/16
5 382 305 374 285 330 376 246 220 256 160 273 236 183 277 190 331 75 71 47 38 28 10/15
6 382 374 305 330 376 285 246 256 220 273 236 183 277 190 331 160 75 71 47 38 28 8/14
7 382 374 330 376 305 285 256 246 273 236 220 277 190 331 183 160 75 71 47 38 28 4/13
8 382 374 376 330 305 285 256 273 246 236 277 220 331 190 183 160 75 71 47 38 28 4/12
9 382 376 374 330 305 285 273 256 246 277 236 331 220 190 183 160 75 71 47 38 28 2/11
10 382 376 374 330 305 285 273 256 277 246 331 236 220 190 183 160 75 71 47 38 28 2/10
11 382 376 374 330 305 285 273 277 256 331 246 236 220 190 183 160 75 71 47 38 28 2/9
12 382 376 374 330 305 285 277 273 331 256 246 236 220 190 183 160 75 71 47 38 28 1/8
13 382 376 374 330 305 285 277 331 273 256 246 236 220 190 183 160 75 71 47 38 28 1/7
14 382 376 374 330 305 285 331 277 273 256 246 236 220 190 183 160 75 71 47 38 28 1/6
15 382 376 374 330 305 331 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 1/5
16 382 376 374 330 331 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 1/4
17 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/3
18 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/2
19 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/1
20 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/0
Enrique P. Calot Algoritmos y Programacion II
3.31 Bilateral Bubble Sort ascendente 85
3.31. Bilateral Bubble Sort ascendente
3.31.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 18/20
1 38 285 220 305 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 382 15/20
2 28 38 285 220 305 160 71 374 75 330 376 246 47 256 183 273 236 190 277 331 382 14/18
3 28 38 220 285 160 71 305 75 330 374 246 47 256 183 273 236 190 277 331 376 382 12/18
4 28 38 47 220 285 160 71 305 75 330 374 246 183 256 190 273 236 277 331 376 382 11/16
5 28 38 47 220 160 71 285 75 305 330 246 183 256 190 273 236 277 331 374 376 382 8/16
6 28 38 47 71 220 160 75 285 183 305 330 246 190 256 236 273 277 331 374 376 382 9/14
7 28 38 47 71 160 75 220 183 285 305 246 190 256 236 273 277 330 331 374 376 382 6/14
8 28 38 47 71 75 160 183 220 190 285 305 246 236 256 273 277 330 331 374 376 382 6/12
9 28 38 47 71 75 160 183 190 220 285 246 236 256 273 277 305 330 331 374 376 382 2/12
10 28 38 47 71 75 160 183 190 220 236 285 246 256 273 277 305 330 331 374 376 382 4/10
11 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/10
12 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/8
13 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/8
14 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/6
15 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/6
16 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/4
17 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/4
18 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/2
19 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/2
20 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 0/0
Algoritmos y Programacion II Facultad de Ingenierıa
86 3.32 Bilateral Bubble Sort descendente
3.32. Bilateral Bubble Sort descendente
3.32.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 18/20
1 285 305 220 382 160 71 374 75 330 376 246 38 256 47 273 236 183 277 190 331 28 17/20
2 382 285 305 220 376 160 71 374 75 330 331 246 38 256 47 273 236 183 277 190 28 14/18
3 382 305 285 376 220 160 374 75 330 331 246 71 256 47 273 236 183 277 190 38 28 13/18
4 382 376 305 285 374 220 160 331 75 330 277 246 71 256 47 273 236 183 190 38 28 10/16
5 382 376 305 374 285 220 331 160 330 277 246 75 256 71 273 236 183 190 47 38 28 9/16
6 382 376 374 305 331 285 220 330 160 277 273 246 75 256 71 236 190 183 47 38 28 9/14
7 382 376 374 331 305 285 330 220 277 273 246 160 256 75 236 190 183 71 47 38 28 6/14
8 382 376 374 331 330 305 285 277 220 273 256 246 160 236 75 190 183 71 47 38 28 6/12
9 382 376 374 331 330 305 285 277 273 256 246 220 236 160 190 183 75 71 47 38 28 2/12
10 382 376 374 331 330 305 285 277 273 256 246 236 220 190 160 183 75 71 47 38 28 1/10
11 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/10
12 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/8
13 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/8
14 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/6
15 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/6
16 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/4
17 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/4
18 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/2
19 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/2
20 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 0/0
Enrique P. Calot Algoritmos y Programacion II
3.33 Selection Sort ascendente 87
3.33. Selection Sort ascendente
3.33.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 1/20
1 28 38 305 220 382 160 71 374 75 330 376 246 285 256 47 273 236 183 277 190 331 1/19
2 28 38 305 220 382 160 71 374 75 330 376 246 285 256 47 273 236 183 277 190 331 1/18
3 28 38 47 220 382 160 71 374 75 330 376 246 285 256 305 273 236 183 277 190 331 1/17
4 28 38 47 71 382 160 220 374 75 330 376 246 285 256 305 273 236 183 277 190 331 1/16
5 28 38 47 71 75 160 220 374 382 330 376 246 285 256 305 273 236 183 277 190 331 1/15
6 28 38 47 71 75 160 220 374 382 330 376 246 285 256 305 273 236 183 277 190 331 1/14
7 28 38 47 71 75 160 183 374 382 330 376 246 285 256 305 273 236 220 277 190 331 1/13
8 28 38 47 71 75 160 183 190 382 330 376 246 285 256 305 273 236 220 277 374 331 1/12
9 28 38 47 71 75 160 183 190 220 330 376 246 285 256 305 273 236 382 277 374 331 1/11
10 28 38 47 71 75 160 183 190 220 236 376 246 285 256 305 273 330 382 277 374 331 1/10
11 28 38 47 71 75 160 183 190 220 236 246 376 285 256 305 273 330 382 277 374 331 1/9
12 28 38 47 71 75 160 183 190 220 236 246 256 285 376 305 273 330 382 277 374 331 1/8
13 28 38 47 71 75 160 183 190 220 236 246 256 273 376 305 285 330 382 277 374 331 1/7
14 28 38 47 71 75 160 183 190 220 236 246 256 273 277 305 285 330 382 376 374 331 1/6
15 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 382 376 374 331 1/5
16 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 382 376 374 331 1/4
17 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 382 376 374 331 1/3
18 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 376 374 382 1/2
19 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 1/1
20 28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382 1/0
Algoritmos y Programacion II Facultad de Ingenierıa
88 3.34 Selection Sort descendente
3.34. Selection Sort descendente
3.34.1. Desarrollo
0 285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 1/20
1 382 38 305 220 285 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 1/19
2 382 376 305 220 285 160 71 374 75 330 38 246 28 256 47 273 236 183 277 190 331 1/18
3 382 376 374 220 285 160 71 305 75 330 38 246 28 256 47 273 236 183 277 190 331 1/17
4 382 376 374 331 285 160 71 305 75 330 38 246 28 256 47 273 236 183 277 190 220 1/16
5 382 376 374 331 330 160 71 305 75 285 38 246 28 256 47 273 236 183 277 190 220 1/15
6 382 376 374 331 330 305 71 160 75 285 38 246 28 256 47 273 236 183 277 190 220 1/14
7 382 376 374 331 330 305 285 160 75 71 38 246 28 256 47 273 236 183 277 190 220 1/13
8 382 376 374 331 330 305 285 277 75 71 38 246 28 256 47 273 236 183 160 190 220 1/12
9 382 376 374 331 330 305 285 277 273 71 38 246 28 256 47 75 236 183 160 190 220 1/11
10 382 376 374 331 330 305 285 277 273 256 38 246 28 71 47 75 236 183 160 190 220 1/10
11 382 376 374 331 330 305 285 277 273 256 246 38 28 71 47 75 236 183 160 190 220 1/9
12 382 376 374 331 330 305 285 277 273 256 246 236 28 71 47 75 38 183 160 190 220 1/8
13 382 376 374 331 330 305 285 277 273 256 246 236 220 71 47 75 38 183 160 190 28 1/7
14 382 376 374 331 330 305 285 277 273 256 246 236 220 190 47 75 38 183 160 71 28 1/6
15 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 75 38 47 160 71 28 1/5
16 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 38 47 75 71 28 1/4
17 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 47 38 71 28 1/3
18 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 38 47 28 1/2
19 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 1/1
20 382 376 374 331 330 305 285 277 273 256 246 236 220 190 183 160 75 71 47 38 28 1/0
Enrique P. Calot Algoritmos y Programacion II
Algoritmos y Programacion II – Catedra Lic. Gustavo Carolo
Evaluacion Integradora – 2010-12-20
– Entregar teorıa y practica por separado – Leer bien el enunciado –a b c d e T P F
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padron: . . . . . . . . . . . .
Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .
Teorıa Tema 1
Dado el siguiente lote de datos:
285, 38, 305, 220, 382†, 160, 71, 374†, 75†, 330, 376†, 246, 28, 256, 47, 273†, 236,
183†, 277, 190, 331†
Se pide:
a. ¿Que es lo que garantiza que una vez congelado un pivote tras una iteracion de Quick Sort este quede ensu posicion final pese a que el resto de los elementos pueden estar completamente desordenados?
b. Procesar el B-tree de orden 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminarlos siguientes:
256, 246†, 277†
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con †.
c. Desarrollar el algoritmo de seleccion natural con buffers de tamano 5.
d. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown), Radix Sort enorden ascendente (entero) y Quick Sort (hasta haber completado dos niveles de recursividad).
e. Desarrollar 2 fases del algoritmo de merge polifasico para 3 vıas de entrada con 21 particiones ordenadastomadas del lote de datos.