You are on page 1of 706

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 Ingeniera
Universidad de Buenos Aires
2010-01-20

* ecalot@fi.uba.ar

1.

1 Motivaci
on

Motivaci
on

El siguiente compilado cuenta con ocho resoluciones a parciales tomados por nuestra Catedra de
Algoritmos y Programaci
on II de la Facultad de Ingeniera de la Universidad de Buenos Aires. Cada
examen contiene un enunciado, su resoluci
on y todas las posibles resoluciones que se podran 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 est


a 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
p
ublicamente la obra, hacer obras derivadas e incluso hacer un uso comercial de la misma, siempre y
cuando se atribuyan los creditos de autora de la obra y se comparta con una licencia compatible.

Enrique P. Calot

n II
Algoritmos y Programacio

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 Ingeniera
Universidad de Buenos Aires
2010-02-08

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Pregunta teorica . . . . . . . . . . . . . . .
2.1.1. Respuesta . . . . . . . . . . . . . . . .
2.2. b. Merge Polif
asico . . . . . . . . . . . . . . .
2.2.1. C
alculo de la distribuci
on de columnas
2.2.2. Distribucion inicial . . . . . . . . . . .
2.3. c. Radix Sort . . . . . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.4. c. Quick Sort . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . .
2.5. d. Seleccion Natural . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.5.2. Salida final . . . . . . . . . . . . . . .
2.6. e. Ejercicio de B-trees . . . . . . . . . . . . .
2.6.1. Inserci
on . . . . . . . . . . . . . . . .
2.6.2. Eliminacion . . . . . . . . . . . . . . .

5
.
.
.
y
.
.
.
.
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion natural . . . . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . .
3.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer
Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
6
6
6
6
8
8
8
8
8
14
16

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
tama
no 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

16
16
16
16
16
16
16
30
30
42
42
42
42
42
42
42
45
45
47
47
47
47
50
50
50
52
52
52

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.13.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.15.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.17.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.19.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.23.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.25.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Seleccion Natural con buffers de tama
no 6 . . . . . . . . . . . . . . . . . . . .
3.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 6 . . .
3.27.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

54
54
54
56
56
56
56
56
56
56
56
59
59
59
59
62
62
63
63
63
64
64
64
64
64
66
66
66
66
66
67
67
67
67
67
70
70
70
70
70
70
72
72
72
72
72
72
74
74

Facultad de Ingeniera


INDICE

3.27.2. Distribucion inicial . . . . .


3.28. Bubble Sort ascendente . . . . . .
3.28.1. Desarrollo . . . . . . . . . .
3.29. Bubble Sort descendente . . . . . .
3.29.1. Desarrollo . . . . . . . . . .
3.30. Bilateral Bubble Sort ascendente .
3.30.1. Desarrollo . . . . . . . . . .
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo . . . . . . . . . .
3.32. Selection Sort ascendente . . . . .
3.32.1. Desarrollo . . . . . . . . . .
3.33. Selection Sort descendente . . . . .
3.33.1. Desarrollo . . . . . . . . . .

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

74
74
74
76
76
78
78
80
80
82
82
84
84

n II
Algoritmos y Programacio

1 Enunciado

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 tama


no del lote de datos es superior al que puede
almacenar la maquina en su memoria interna, ya que en tal caso es mas u
til ordenar mediante
tecnicas de Sort Interno. en que otro caso se debe usar Sort Externo, incluso conociendo el tama
no
del lote de datos y sabiendo que este es menor a la memoria interna?
b. Desarrollar todas las fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber
completado dos niveles de recursividad).
d. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 4.
e. Procesar el B-tree de orden tal que, con un elemento a excepcion de la raz hace underflow pero
con 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.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Pregunta te
orica

El Sort Externo se suele utilizar cuando el tama


no del lote de datos es superior al que puede almacenar
la maquina en su memoria interna, ya que en tal caso es mas u
til ordenar mediante tecnicas de Sort
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

b. Merge Polif
asico

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
Interno. en que otro caso se debe usar Sort Externo, incluso conociendo el tama
no del lote de datos y
sabiendo que este es menor a la memoria interna?
2.1.1.

Respuesta

Influye el factor temproal, es decir cuando a


un no tengo todos los elementos a ordenar, me conviene
ir ordenandolos a medias pese a que en suma si los ordeno todos juntos me tomara menos tiempo.

2.2.

b. Merge Polif
asico

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
2.2.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
2.2.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) 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

n II
Algoritmos y Programacio

2.4

c. Quick Sort

E1
D
D
D
D
167
330
108
3
224
47
156
162
318

E2
D
D
D
263
395
49
295
238
222
200
250

E3
D
D
D
267
22
114
356

Cuadro 2: Fase 1

E1
D
D
D
D
167
330
108
E1
3
224
47
156
162
318

E2
D
D
D
263
395
49
295
E2
238
222
200
250

E3
D
D
D
267
22
114
356
S

S
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356
E3
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356

Cuadro 3: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

2.5

E1
D
D
D
D
167
330
108
E1
3
224
47
156
E1
162
318

E2
D
D
D
263
395
49
295
E2
238
222
200
250
S

E3
D
D
D
267
22
114
356
S
3, 238
222, 224
47, 200
156, 250, 263, 267
E2
3, 238
222, 224
47, 200
156, 250, 263, 267

d. Selecci
on Natural

S
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356
E3
D
D
D
263, 267
E3
22, 167, 395
49, 114, 330
108, 295, 356

Cuadro 4: Fase 3
2.4.1.

2.5.

Desarrollo

d. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
2.5.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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 raz hace underflow pero
con 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

n II
Algoritmos y Programacio

2.6

e. Ejercicio de B-trees

E1
D
D
D
D
167
330
108
E1
3
224
47
156
E1
162
318
S

E2
D
D
D
263
395
49
295
E2
238
222
200
250
S
3, 22, 162, 167,
395
49, 114, 222,
318, 330
E1
3, 22, 162, 167,
395
49, 114, 222,
318, 330

238,

E3
D
D
D
267
22
114
356
S
3, 238
222, 224
47, 200
156, 250, 263, 267
E2
3, 238

S
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356
E3
D
D
D
263, 267
E3
22, 167, 395

224,

222, 224

49, 114, 330

238,

E2
47, 200

E3
108, 295, 356

224,

156, 250, 263, 267

Cuadro 5: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.6

E1
D
D
D
D
167
330
108
E1
3
224
47
156
E1
162

E3
D
D
D
267
22
114
356
S
3, 238
222, 224
47, 200
156, 250, 263, 267
E2
3, 238

S
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356
E3
D
D
D
263, 267
E3
22, 167, 395

222, 224

49, 114, 330

108, 162,
238, 295,

E2
D
D
D
263
395
49
295
E2
238
222
200
250
S
3, 22, 162, 167, 238,
395
49, 114, 222, 224,
318, 330
E1
3, 22, 162, 167, 238,
395

E2
47, 200

E3
108, 295, 356

108, 162,
238, 295,

E1
49, 114, 222, 224,
318, 330

E2
156, 250, 263, 267

318
S
3, 22, 47,
167, 200,
356, 395
E3
3, 22, 47,
167, 200,
356, 395

e. Ejercicio de B-trees

Cuadro 6: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

2.6

e. Ejercicio de B-trees

E1
D
D
D
D
167
330
108
E1
3
224
47
156
E1
162

E3
D
D
D
267
22
114
356
S
3, 238
222, 224
47, 200
156, 250, 263, 267
E2
3, 238

S
D
D
D
263, 267
22, 167, 395
49, 114, 330
108, 295, 356
E3
D
D
D
263, 267
E3
22, 167, 395

222, 224

49, 114, 330

108, 162,
238, 295,

E2
D
D
D
263
395
49
295
E2
238
222
200
250
S
3, 22, 162, 167, 238,
395
49, 114, 222, 224,
318, 330
E1
3, 22, 162, 167, 238,
395

E2
47, 200

E3
108, 295, 356

108, 162,
238, 295,

E1
49, 114, 222, 224,
318, 330

E2
156, 250, 263, 267

E1

E2

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E3
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

318
S
3, 22, 47,
167, 200,
356, 395
E3
3, 22, 47,
167, 200,
356, 395

11

Cuadro 7: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.6

Paso 0
263
267
167
395
022
330
049
114
108
295
356
003
238
224
222
047
200
156
250
162
318

Paso 1
330
200
250
022
222
162
263
003
114
224
395
295
356
156
267
167
047
108
238
318
049

Paso 2
200
003
108
114
318
022
222
224
330
238
047
049
250
356
156
162
263
267
167
395
295

e. Ejercicio de B-trees

Paso 3
003
022
047
049
108
114
156
162
167
200
222
224
238
250
263
267
295
318
330
356
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

Paso 3

47 162 167 3

Final

3 238 224 263 356 295 330 395 267 318

22 156 49 114 108 200 222 250 238 224

267 295 330 318 356 395

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

Cuadro 9: Implementaci
on del Quick Sort

Enrique P. Calot

n II
Algoritmos y Programacio

2.6

e. Ejercicio de B-trees

a2
a3
a4
Sale

Nada

Nada

Nada

Nada

167

Nada

263
49

Nada
49
114

Nada
49
114
108
267
49
114
108
330
49
114
108
395

p1 = {167, 263, 267, 330, 395}


22
295
49
114
108

49
295
356
114
108

108
295
356
114

Nada
295
356
114
238
3

114
295
356
224
238
3

224
295
356

238
3
222

Nada
295
356

238
3
222
47

Nada
295
356

238
3
222
47
200
238
295
356

3
222
47
200
295

356

3
222
47
200
356
3
222
47
200

Nueva partici
on! Se cierra la partici
on p2 = {22, 49, 108, 114, 224, 238, 295, 356}
3
156
222
47
200

47
156
222
250
200

156
162
222
250
200

162
318
222
250
200

200
318
222
250

222
318

250

250
318

318
Finaliza la u
ltima partici
on en p3 = {3, 47, 156, 162, 200, 222, 250, 318}
b1

263
263
263
263
263
263

22
Nueva

b2
b3
b4
a1

267

267
167

267
167
395

267

395
22
267
330
395
22
267
330
395
22
267
330
395
22
267
330
395
22

330
395
22

395
22
49
114
108

partici
on! Se cierra la partici
on

13

Entra
263
267
167
395
22
330
49
114
108
Nada
Nada
Nada

295
356
3
238
224
222
47
200
Nada
Nada
Nada

156
250
162
318
Nada
Nada
Nada
Nada

Cuadro 10: Algoritmo de seleccion de natural

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.6.1.

2.6

e. Ejercicio de B-trees

Inserci
on
263
22167

267395

Figura 1: Inserci
on de 5 elementos: 263, 267, 167, 395, 22
263
2249114167

267330395

Figura 2: Inserci
on de 3 elementos: 330, 49, 114
108263
2249

114167

267330395

Figura 3: Inserci
on de 1 elemento: 108

Enrique P. Calot

n II
Algoritmos y Programacio

2.6

e. Ejercicio de B-trees

15

108263330
2249

114167 267295 356395

Figura 4: Inserci
on de 2 elementos: 295, 356

108222263330
3224749

114167 224238 267295 356395

Figura 5: Inserci
on de 5 elementos: 3, 238, 224, 222, 47

108222263330
3224749

114156167200

224238 267295 356395

Figura 6: Inserci
on de 2 elementos: 200, 156

222
108162
3224749

114156 167200

263330
224238250

267295318

356395

Figura 7: Inserci
on de 3 elementos: 250, 162, 318

n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3 Resoluci
on explayada

2.6.2.

Eliminaci
on
108162263330
3224749

114156

167200238250

267295318

356395

Figura 8: Eliminacion de 2 elementos: 222, 224


108162263330
3224749

114156

167200238

267295318

356395

Figura 9: Eliminacion de 1 elemento: 250

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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.

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

n II
Algoritmos y Programacio

3.3

Heap Sort

17

Paso 0
263
267
167
395
022
330
049
114
108
295
356
003
238
224
222
047
200
156
250
162
318

Paso 1
049
108
238
318
267
167
047
356
156
395
295
114
224
263
003
022
222
162
330
200
250

Paso 2
395
295
267
167
263
162
356
156
250
049
047
238
330
224
022
222
318
114
108
003
200

Paso 3
395
356
330
318
295
267
263
250
238
224
222
200
167
162
156
114
108
049
047
022
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

Paso 3

47 162 167 3

Paso 4

22 47 167 162 156 49 114 108 200

224 238 250

Paso 5

22

224 238

Paso 6
Final

22 156 49 114 108 200 222 250 238 224

108 162 156 49 114 167 200


49 108 156 162 114

3 238 224 263 356 295 330 395 267 318


267 295 330 318 356 395
267 295 330 318
295 330 318
318 330

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

Cuadro 12: Implementaci


on del Quick Sort

n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort

263
267
395
114

167
22

108

295

330

49

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

n II
Algoritmos y Programacio

3.3

Heap Sort

19

263

263
267
395
114

22
108

267

167

295

330

167

395

49
200

356 3 238 224 222

22
250

318

330

49

356 3 238 224 222

47 114 156 108 162 295

47 200 156 250 162 318


Vector:

Vector:

263 267 167 395 22 330 49 114 108 295 356

263 267 167 395 22 330 49 200 250 318 356

3 238 224 222 47 200 156 250 162 318

3 238 224 222 47 114 156 108 162 295

(a) Heapfy paso 0

(b) Heapfy paso 1

263

263

267
395
200

167
356

250

330

318

395

224

267

22 3 238 49 222

200

47 114 156 108 162 295

330
356

250

318

238

224

22 3 167 49 222

47 114 156 108 162 295

Vector:

Vector:

263 267 167 395 356 330 224 200 250 318 22

263 395 330 267 356 238 224 200 250 318 22

3 238 49 222 47 114 156 108 162 295

3 167 49 222 47 114 156 108 162 295

(c) Heapfy paso 2

(d) Heapfy paso 3

395
356
267
200

330
318

250

295

238

224

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


n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

263

356

356
267
200

330
318

250

295

Heap Sort

238

318

224

22 3 167 49 222

47 114 156 108 162 395

267
200

330
295

250

263

238

224

22 3 167 49 222

47 114 156 108 162 395

Vector:

Vector:

263 356 330 267 318 238 224 200 250 295 22

356 318 330 267 295 238 224 200 250 263 22

3 167 49 222 47 114 156 108 162 395

3 167 49 222 47 114 156 108 162 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 12: Paso 1

162

330

318
267
200

330
295

250

263

238

318

224

22 3 167 49 222

47 114 156 108 356 395

267
200

238
295

250

263

167

224

22 3 162 49 222

47 114 156 108 356 395

Vector:

Vector:

162 318 330 267 295 238 224 200 250 263 22

330 318 238 267 295 167 224 200 250 263 22

3 167 49 222 47 114 156 108 356 395

3 162 49 222 47 114 156 108 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 13: Paso 2

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort

21

318

108
318
267
200

295
250

295

238

263

167

267

224

22 3 162 49 222

200

238
263

250

108

167

224

22 3 162 49 222

47 114 156 330 356 395

47 114 156 330 356 395


Vector:

Vector:

108 318 238 267 295 167 224 200 250 263 22

318 295 238 267 263 167 224 200 250 108 22

3 162 49 222 47 114 156 330 356 395

3 162 49 222 47 114 156 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 14: Paso 3

156

295

295
267
200

238
263

250

108

167

267

224

22 3 162 49 222

47 114 318 330 356 395

250
200

238
263

156

108

167

224

22 3 162 49 222

47 114 318 330 356 395

Vector:

Vector:

156 295 238 267 263 167 224 200 250 108 22

295 267 238 250 263 167 224 200 156 108 22

3 162 49 222 47 114 318 330 356 395

3 162 49 222 47 114 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 15: Paso 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

267

114
267
250
200

156

263

238
263
108

Heap Sort

167

250

224

22 3 162 49 222

200

238
114

156

108

167

224

22 3 162 49 222

47 295 318 330 356 395

47 295 318 330 356 395


Vector:

Vector:

114 267 238 250 263 167 224 200 156 108 22

267 263 238 250 114 167 224 200 156 108 22

3 162 49 222 47 295 318 330 356 395

3 162 49 222 47 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 16: Paso 5

47

263

263
250
200

238
114

156

108

167

250

224

22 3 162 49 222

267 295 318 330 356 395

200
47

238
114

156

108

167

224

22 3 162 49 222

267 295 318 330 356 395

Vector:

Vector:

47 263 238 250 114 167 224 200 156 108 22

263 250 238 200 114 167 224 47 156 108 22

3 162 49 222 267 295 318 330 356 395

3 162 49 222 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 17: Paso 6

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort

23

250

222
250
200
47

114
156

222

238

108

167

200

224

22 3 162 49 263

47

238
114

156

167

108

224

22 3 162 49 263

267 295 318 330 356 395

267 295 318 330 356 395


Vector:

Vector:

222 250 238 200 114 167 224 47 156 108 22

250 222 238 200 114 167 224 47 156 108 22

3 162 49 263 267 295 318 330 356 395

3 162 49 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 18: Paso 7

49

238

222
200
47

238
114

156

108

167

222

224

22 3 162 250 263

267 295 318 330 356 395

200
47

224
114

156

108

167

49

22 3 162 250 263

267 295 318 330 356 395

Vector:

Vector:

49 222 238 200 114 167 224 47 156 108 22

238 222 224 200 114 167 49 47 156 108 22

3 162 250 263 267 295 318 330 356 395

3 162 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 19: Paso 8

n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

224

162
222
200
47

222

224
114

156

Heap Sort

167

108

200

49

22 3 238 250 263

47

167
114

156

162

108

49

22 3 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395


Vector:

Vector:

162 222 224 200 114 167 49 47 156 108 22

224 222 167 200 114 162 49 47 156 108 22

3 238 250 263 267 295 318 330 356 395

3 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 20: Paso 9

222

222
200
47

167
114

156

108

162

200
49

22 224 238 250 263

156
47

167
114

108

162

49

22 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

3 222 167 200 114 162 49 47 156 108 22

222 200 167 156 114 162 49 47 3 108 22

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 21: Paso 10

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort

25

200

22
200
156
47

114
3

156

167

108

162

49

222 224 238 250 263

47
22

167
114

108

162

49

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

22 200 167 156 114 162 49 47 3 108 222

200 156 167 47 114 162 49 22 3 108 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 22: Paso 11

108

167

156
47
22

167
114

200

162

156
49

222 224 238 250 263

47
22

162
114

200

108

49

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

108 156 167 47 114 162 49 22 3 200 222

167 156 162 47 114 108 49 22 3 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 23: Paso 12

n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

162

3
156
47
22

167

156

162
114
200

Heap Sort

108

47

49

222 224 238 250 263

22

108
114

167

200

49

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

3 156 162 47 114 108 49 22 167 200 222

162 156 108 47 114 3 49 22 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 24: Paso 13

22

156

156
47
162

114
167

114

108

200

47

49

222 224 238 250 263

162

108
22

167

200

49

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

22 156 108 47 114 3 49 162 167 200 222

156 114 108 47 22 3 49 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 25: Paso 14

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort

27

114

49
114
47
162

22
167

49

108

200

47

156

222 224 238 250 263

162

108
22

167

200

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

49 114 108 47 22 3 156 162 167 200 222

114 49 108 47 22 3 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 26: Paso 15

108

49
47
162

22
167

49

108

200

114

47

156

222 224 238 250 263

162

3
22

167

200

114

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

3 49 108 47 22 114 156 162 167 200 222

108 49 3 47 22 114 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 27: Paso 16

n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

49

22
49
47
162

167

47

3
108
200

Heap Sort

114

22

156

222 224 238 250 263

162

3
108

167

200

114

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

22 49 3 47 108 114 156 162 167 200 222

49 47 3 22 108 114 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 28: Paso 17

22

47

47
49
162

108
167

22

200

114

49

156

222 224 238 250 263

162

3
108

167

200

114

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

22 47 3 49 108 114 156 162 167 200 222

47 22 3 49 108 114 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 29: Paso 18

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort

29

22

3
22
49
162

108
167

47

200

114

49

156

222 224 238 250 263

47

162

108
167

200

114

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

3 22 47 49 108 114 156 162 167 200 222

22 3 47 49 108 114 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 30: Paso 19

22
49
162

47
108

167

200

114

22
156

222 224 238 250 263

49
162

47
108

167

200

114

156

222 224 238 250 263

267 295 318 330 356 395

267 295 318 330 356 395

Vector:

Vector:

3 22 47 49 108 114 156 162 167 200 222

3 22 47 49 108 114 156 162 167 200 222

224 238 250 263 267 295 318 330 356 395

224 238 250 263 267 295 318 330 356 395

(a) Intercambio y congelamiento

(b) Swapdown

Figura 31: Paso 20

n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.4

3.4.

Heap Sort descendente

Heap Sort descendente

Desarrollar el algoritmo de Heap Sort en orden descendente (entero).


3.4.1.

Arbol
inicial

263
267
395
114

167
22

108

295

330

49

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

263

263
267
395
114

22
108

267

167

295

330

167

395

49
47

356 3 238 224 222

22
108

162

330

49

356 3 238 224 222

114 200 156 250 295 318

47 200 156 250 162 318


Vector:

Vector:

263 267 167 395 22 330 49 114 108 295 356

263 267 167 395 22 330 49 47 108 162 356

3 238 224 222 47 200 156 250 162 318

3 238 224 222 114 200 156 250 295 318

(a) Heapfy paso 0

(b) Heapfy paso 1

263

263

267
47
114

22
108

22

167

162

47

49
114

356 330 238 224 222

162
108

267

167

49

356 330 238 224 222

395 200 156 250 295 318

395 200 156 250 295 318

Vector:

Vector:

263 267 167 47 22 3 49 114 108 162 356

263 22 3 47 162 167 49 114 108 267 356

330 238 224 222 395 200 156 250 295 318

330 238 224 222 395 200 156 250 295 318

(c) Heapfy paso 2

(d) Heapfy paso 3

3
22
47
114

49
162

108

267

167

222

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


n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

318

22

22
47
114

49
162

108

Heap Sort descendente

167

47
222

267 356 330 238 224 263

395 200 156 250 295 3

49

108
114

162
156

167

222

267 356 330 238 224 263

395 200 318 250 295 3

Vector:

Vector:

318 22 49 47 162 167 222 114 108 267 356

22 47 49 108 162 167 222 114 156 267 356

330 238 224 263 395 200 156 250 295 3

330 238 224 263 395 200 318 250 295 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 34: Paso 1

295

47

47
108
114

49
162

156

167

108
222

267 356 330 238 224 263

395 200 318 250 22 3

114
200

49
162

156

167

222

267 356 330 238 224 263

395 295 318 250 22 3

Vector:

Vector:

295 47 49 108 162 167 222 114 156 267 356

47 108 49 114 162 167 222 200 156 267 356

330 238 224 263 395 200 318 250 22 3

330 238 224 263 395 295 318 250 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 35: Paso 2

Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

49

250
108
114
200

162
156

108

49
167

114

222

267 356 330 238 224 263

200

167
162

156

238

222

267 356 330 250 224 263

395 295 318 47 22 3

395 295 318 47 22 3


Vector:

Vector:

250 108 49 114 162 167 222 200 156 267 356

49 108 167 114 162 238 222 200 156 267 356

330 238 224 263 395 295 318 47 22 3

330 250 224 263 395 295 318 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 36: Paso 3

318

108

108
114
200

167
162

238

114
222

156 267 356 330 250 224 263

395 295 49 47 22 3

156
200

167
162

238

222

318 267 356 330 250 224 263

395 295 49 47 22 3

Vector:

Vector:

318 108 167 114 162 238 222 200 156 267 356

108 114 167 156 162 238 222 200 318 267 356

330 250 224 263 395 295 49 47 22 3

330 250 224 263 395 295 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 37: Paso 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

114

295
114
156
200

156

167
162

Heap Sort descendente

238

200

222

318 267 356 330 250 224 263

295

167
162

238

222

318 267 356 330 250 224 263

395 108 49 47 22 3

395 108 49 47 22 3
Vector:

Vector:

295 114 167 156 162 238 222 200 318 267 356

114 156 167 200 162 238 222 295 318 267 356

330 250 224 263 395 108 49 47 22 3

330 250 224 263 395 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 38: Paso 5

395

156

156
200
295

167
162

238

162
222

318 267 356 330 250 224 263

114 108 49 47 22 3

200
295

167
267

238

222

318 395 356 330 250 224 263

114 108 49 47 22 3

Vector:

Vector:

395 156 167 200 162 238 222 295 318 267 356

156 162 167 200 267 238 222 295 318 395 356

330 250 224 263 114 108 49 47 22 3

330 250 224 263 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 39: Paso 6

Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

162

263
162
200
295

200

167
267

238

263

222

318 395 356 330 250 224 156

295

167
267

238

222

318 395 356 330 250 224 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

263 162 167 200 267 238 222 295 318 395 356

162 200 167 263 267 238 222 295 318 395 356

330 250 224 156 114 108 49 47 22 3

330 250 224 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 40: Paso 7

224

167

200
263
295

167
267

238

200
222

318 395 356 330 250 162 156

114 108 49 47 22 3

263
295

222
267

238

224

318 395 356 330 250 162 156

114 108 49 47 22 3

Vector:

Vector:

224 200 167 263 267 238 222 295 318 395 356

167 200 222 263 267 238 224 295 318 395 356

330 250 162 156 114 108 49 47 22 3

330 250 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 41: Paso 8

n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

200

250
200
263
295

250

222
267

Heap Sort descendente

238

263

224

318 395 356 330 167 162 156

295

222
267

238

224

318 395 356 330 167 162 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

250 200 222 263 267 238 224 295 318 395 356

200 250 222 263 267 238 224 295 318 395 356

330 167 162 156 114 108 49 47 22 3

330 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 42: Paso 9

330

222

250
263
295

222
267

238

250
224

318 395 356 200 167 162 156

114 108 49 47 22 3

263
295

224
267

238

330

318 395 356 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

330 250 222 263 267 238 224 295 318 395 356

222 250 224 263 267 238 330 295 318 395 356

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 43: Paso 10

Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

356

224

250
263
295

224
267

238

250
330

318 395 222 200 167 162 156

114 108 49 47 22 3

263
295

238
267

356

330

318 395 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

356 250 224 263 267 238 330 295 318 395 222

224 250 238 263 267 356 330 295 318 395 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 44: Paso 11

395

238

250
263
295

238
267

356

250
330

318 224 222 200 167 162 156

114 108 49 47 22 3

263
295

330
267

356

395

318 224 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

395 250 238 263 267 356 330 295 318 224 222

238 250 330 263 267 356 395 295 318 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 45: Paso 12

n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

250

318
250
263
295

263

330
267

Heap Sort descendente

356

295

395

238 224 222 200 167 162 156

318

330
267

356

395

238 224 222 200 167 162 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

318 250 330 263 267 356 395 295 238 224 222

250 263 330 295 267 356 395 318 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 46: Paso 13

318

263

263
295
250

330
267

356

267
395

238 224 222 200 167 162 156

114 108 49 47 22 3

295
250

330
318

356

395

238 224 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

318 263 330 295 267 356 395 250 238 224 222

263 267 330 295 318 356 395 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 47: Paso 14

Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

267

395
267
295
250

295

330
318

356

395

263

238 224 222 200 167 162 156

250

330
318

356

263

238 224 222 200 167 162 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

395 267 330 295 318 356 263 250 238 224 222

267 295 330 395 318 356 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 48: Paso 15

356

295

295
395
250

330
318

267

318
263

238 224 222 200 167 162 156

114 108 49 47 22 3

395
250

330
356

267

263

238 224 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

356 295 330 395 318 267 263 250 238 224 222

295 318 330 395 356 267 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 49: Paso 16

n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

318

356
318
395
250

356

330
295

Heap Sort descendente

267

395

263

238 224 222 200 167 162 156

250

330
295

267

263

238 224 222 200 167 162 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

356 318 330 395 295 267 263 250 238 224 222

318 356 330 395 295 267 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 50: Paso 17

395

330

356
318
250

330
295

267

356
263

238 224 222 200 167 162 156

114 108 49 47 22 3

318
250

395
295

267

263

238 224 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

395 356 330 318 295 267 263 250 238 224 222

330 356 395 318 295 267 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 51: Paso 18

Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

356

395
356
318
250

395

330
295

267

318

263

238 224 222 200 167 162 156

250

330
295

267

263

238 224 222 200 167 162 156

114 108 49 47 22 3

114 108 49 47 22 3
Vector:

Vector:

395 356 330 318 295 267 263 250 238 224 222

356 395 330 318 295 267 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 52: Paso 19

395

395

356
318
250

330
295

267

356
263

238 224 222 200 167 162 156

114 108 49 47 22 3

318
250

330
295

267

263

238 224 222 200 167 162 156

114 108 49 47 22 3

Vector:

Vector:

395 356 330 318 295 267 263 250 238 224 222

395 356 330 318 295 267 263 250 238 224 222

200 167 162 156 114 108 49 47 22 3

200 167 162 156 114 108 49 47 22 3

(a) Intercambio y congelamiento

(b) Swapdown

Figura 53: Paso 20

n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.5.

3.5

Merge Polif
asico de las salidas por selecci
on natural

Merge Polif
asico de las salidas por selecci
on natural

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.7.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas de 2 elementos cada una tomadas del lote de datos.
Por ejemplo p1 = {263, 267}; p2 = {167, 395}; . . . ; p10 = {162, 250}; p11 = {318}.
Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 13: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

E1
167, 263, 267, 330,
395

E2
22, 49, 108, 114, 224,
238, 295, 356

E3
3, 47, 156, 162, 200,
222, 250, 318

43

Cuadro 14: Fase 1

E1
167, 263, 267, 330,
395

E2
22, 49, 108, 114, 224,
238, 295, 356

E3
3, 47, 156, 162, 200,
222, 250, 318

E2

E3

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
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
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 16: Calculo de la distribuci


on de columnas y dummies

E1
D
49, 114, 330
3, 47, 222, 224, 238
162, 250, 318

E2
D
108
156, 200

E3
22, 167, 263, 267, 395
295, 356

Cuadro 17: Fase 1

n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.7

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
49, 114, 330

E2
D
108

E3
22, 167, 263, 267, 395
295, 356

E1
3, 47, 222, 224, 238
162, 250, 318

E2
156, 200

S
22, 167, 263, 267, 395
49, 108, 114, 295,
330, 356
E3
22, 167, 263, 267, 395
49, 108, 114, 295,
330, 356

Cuadro 18: Fase 2

E1
D
49, 114, 330

E2
D
108

E3
22, 167, 263, 267, 395
295, 356

E1
3, 47, 222, 224, 238

E2
156, 200

E1
162, 250, 318

S
3, 22, 47, 156,
200, 222, 224,
263, 267, 395
E2
3, 22, 47, 156,
200, 222, 224,
263, 267, 395

167,
238,

167,
238,

S
22, 167, 263, 267, 395
49, 108, 114, 295,
330, 356
E3
22, 167, 263, 267, 395

E3
49, 108, 114, 295,
330, 356

Cuadro 19: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
49, 114, 330

E2
D
108

E3
22, 167, 263, 267, 395
295, 356

E1
3, 47, 222, 224, 238

E2
156, 200

E1
162, 250, 318

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
3, 22, 47, 156,
200, 222, 224,
263, 267, 395
E2
3, 22, 47, 156,
200, 222, 224,
263, 267, 395

167,
238,

167,
238,

E2

45

S
22, 167, 263, 267, 395
49, 108, 114, 295,
330, 356
E3
22, 167, 263, 267, 395

E3
49, 108, 114, 295,
330, 356

E3

Cuadro 20: Fase final

3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

Fases
0
1
2
3
4

c1
1
1
2
4
7

c2
0
1
2
3
6

c3
0
1
1
2
4

P3

i=1 ci

1
3
5
9
17

< 11
Si
Si
Si
Si
No

Cuadro 21: Calculo de la distribuci


on de columnas y dummies
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.7

E1
D
D
263, 267
49, 114
224, 238
156, 200
318

Merge Polif
asico con particiones formadas de 2 elementos

E2
D
D
167, 395
108, 295
47, 222
162, 250

E3
D
D
22, 330
3, 356

Cuadro 22: Fase 1


E1
D
D
263, 267

E2
D
D
167, 395

E3
D
D
22, 330

49, 114

108, 295

3, 356

E1
224, 238
156, 200
318

E2
47, 222
162, 250

S
D
D
22, 167, 263,
330, 395
3, 49, 108, 114,
356
E3
D
D
22, 167, 263,
330, 395
3, 49, 108, 114,
356

267,
295,

267,
295,

Cuadro 23: Fase 2


E1
D
D
263, 267

E2
D
D
167, 395

E3
D
D
22, 330

49, 114

108, 295

3, 356

E1
224, 238
156, 200
E1
318

E2
47, 222
162, 250
S

S
47, 222, 224, 238
156, 162, 200, 250
E2
47, 222, 224, 238

156, 162, 200, 250

S
D
D
22, 167, 263,
330, 395
3, 49, 108, 114,
356
E3
D
D
E3
22, 167, 263,
330, 395
3, 49, 108, 114,
356

267,
295,

267,
295,

Cuadro 24: Fase 3


Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
263, 267

E2
D
D
167, 395

E3
D
D
22, 330

49, 114

108, 295

3, 356

E1
224, 238
156, 200
E1
318

E2
47, 222
162, 250
S
22, 47, 167, 222,
238, 263, 267,
330, 395
E1
22, 47, 167, 222,
238, 263, 267,
330, 395

S
47, 222, 224, 238
156, 162, 200, 250
E2
47, 222, 224, 238

224,
318,

224,
318,

E2
156, 162, 200, 250

47

S
D
D
22, 167, 263, 267,
330, 395
3, 49, 108, 114, 295,
356
E3
D
D
E3
22, 167, 263, 267,
330, 395
E3
3, 49, 108, 114, 295,
356

Cuadro 25: Fase 4

3.8.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.9

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
263, 267

E2
D
D
167, 395

E3
D
D
22, 330

49, 114

108, 295

3, 356

E1
224, 238
156, 200
E1
318

E2
47, 222
162, 250
S
22, 47, 167, 222,
238, 263, 267,
330, 395
E1
22, 47, 167, 222,
238, 263, 267,
330, 395

S
47, 222, 224, 238
156, 162, 200, 250
E2
47, 222, 224, 238

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

224,
318,

224,
318,

S
D
D
22, 167, 263, 267,
330, 395
3, 49, 108, 114, 295,
356
E3
D
D
E3
22, 167, 263, 267,
330, 395

E2
156, 162, 200, 250

E3
3, 49, 108, 114, 295,
356

E2

E3

Cuadro 26: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 27: Calculo de la distribuci


on de columnas y dummies
E1
D
22, 330, 395
222, 224, 238
162, 250, 318

E2
D
49, 108, 114
47, 156, 200

E3
167, 263, 267
3, 295, 356

Cuadro 28: Fase 1


Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
22, 330, 395

E2
D
49, 108, 114

E3
167, 263, 267
3, 295, 356

E1
222, 224, 238
162, 250, 318

E2
47, 156, 200

49

S
167, 263, 267
3, 22, 49, 108, 114,
295, 330, 356, 395
E3
167, 263, 267
3, 22, 49, 108, 114,
295, 330, 356, 395

Cuadro 29: Fase 2

E1
D
22, 330, 395

E2
D
49, 108, 114

E3
167, 263, 267
3, 295, 356

E1
222, 224, 238

E2
47, 156, 200

E1
162, 250, 318

S
47,
222,
267
E2
47,
222,
267

156, 167, 200,


224, 238, 263,

156, 167, 200,


224, 238, 263,

S
167, 263, 267
3, 22, 49, 108, 114,
295, 330, 356, 395
E3
167, 263, 267

E3
3, 22, 49, 108, 114,
295, 330, 356, 395

Cuadro 30: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
22, 330, 395

E2
D
49, 108, 114

E3
167, 263, 267
3, 295, 356

E1
222, 224, 238

E2
47, 156, 200

E1
162, 250, 318

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
47,
222,
267
E2
47,
222,
267

156, 167, 200,


224, 238, 263,

156, 167, 200,


224, 238, 263,

E2

S
167, 263, 267
3, 22, 49, 108, 114,
295, 330, 356, 395
E3
167, 263, 267

E3
3, 22, 49, 108, 114,
295, 330, 356, 395

E3

Cuadro 31: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 32: Calculo de la distribuci


on de columnas y dummies
3.9.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.10.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
167, 263, 267, 395
47, 222, 224, 238
318

E2
D
22, 49, 114, 330
156, 162, 200, 250

E3
D
3, 108, 295, 356

51

Cuadro 33: Fase 1

E1
D
167, 263, 267, 395

E2
D
22, 49, 114, 330

E3
D
3, 108, 295, 356

E1
47, 222, 224, 238
318

E2
156, 162, 200, 250

S
D
3, 22, 49, 108,
167, 263, 267,
330, 356, 395
E3
D
3, 22, 49, 108,
167, 263, 267,
330, 356, 395

114,
295,

114,
295,

Cuadro 34: Fase 2

E1
D
167, 263, 267, 395

E2
D
22, 49, 114, 330

E3
D
3, 108, 295, 356

E1
47, 222, 224, 238

E2
156, 162, 200, 250

E1
318

S
47,
222,
E2
47,
222,

156, 162, 200,


224, 238, 250
156, 162, 200,
224, 238, 250

S
D
3, 22, 49, 108, 114,
167, 263, 267, 295,
330, 356, 395
E3
D
E3
3, 22, 49, 108, 114,
167, 263, 267, 295,
330, 356, 395

Cuadro 35: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.11

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 2

E1
D
167, 263, 267, 395

E2
D
22, 49, 114, 330

E3
D
3, 108, 295, 356

E1
47, 222, 224, 238

E2
156, 162, 200, 250

E1
318

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
47,
222,
E2
47,
222,

156, 162, 200,


224, 238, 250
156, 162, 200,
224, 238, 250

E2

S
D
3, 22, 49, 108, 114,
167, 263, 267, 295,
330, 356, 395
E3
D
E3
3, 22, 49, 108, 114,
167, 263, 267, 295,
330, 356, 395

E3

Cuadro 36: Fase final


3.10.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 2

53

b1
b2
Sale
Entra

Nada
263
263

Nada
267
263
267
263
167
167
267
267
395
167
395
395
22
167
22
Nueva partici
on! Se cierra la partici
on p1 = {263, 267, 395}
22
330
167
330
167
49
49
330
330
114
49
114
Nueva partici
on! Se cierra la partici
on p2 = {22, 167, 330}
49
108
108
114
108
295
295
114
114
356
295
356
295
3
3
356
356
238
3
238
Nueva partici
on! Se cierra la partici
on p3 = {49, 108, 114, 295, 356}
3
224
224
238
224
222
222
238
238
47
222
47
Nueva partici
on! Se cierra la partici
on p4 = {3, 224, 238}
47
200
222
200
200
156
222
156
222
250
250
156
250
162
162
156
Nueva partici
on! Se cierra la partici
on p5 = {47, 200, 222, 250}
156
318
162
318
162
Nada

318
318
Nada
Finaliza la u
ltima partici
on en p6 = {156, 162, 318}

Cuadro 37: Algoritmo de seleccion de reemplazo

n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.12

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

Selecci
on Natural con buffers de tama
no 2
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 38: Calculo de la distribuci


on de columnas y dummies
E1
D
263, 267, 395
3, 224, 238
156, 162, 318

E2
D
22, 167, 330
47, 200, 222, 250

E3
D
49, 108, 114, 295, 356

Cuadro 39: Fase 1


3.11.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.11.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.12.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238
156, 162, 318

E2
47, 200, 222, 250

S
D
22, 49, 108, 114,
263, 267, 295,
356, 395
E3
D
22, 49, 108, 114,
263, 267, 295,
356, 395

167,
330,

167,
330,

Cuadro 40: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238

E2
47, 200, 222, 250

E1
156, 162, 318

S
3, 47, 200, 222, 224,
238, 250
E2
3, 47, 200, 222, 224,
238, 250

55

S
D
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395
E3
D
E3
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395

Cuadro 41: Fase 3

E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238

E2
47, 200, 222, 250

E1
156, 162, 318

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
3, 47, 200, 222, 224,
238, 250
E2
3, 47, 200, 222, 224,
238, 250

E2

S
D
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395
E3
D
E3
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395

E3

Cuadro 42: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.13

3.12.1.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.13.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.13.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.14.

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
3.14.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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

n II
Algoritmos y Programacio

3.14

Selecci
on de reemplazo con buffer de tama
no 3

b1
b2
a1
a2
Sale

Nada
263

Nada
263
267

263

267
167

Nada
395
267
167

267
395

167
22
395
167
22

Nueva partici
on! Se cierra la partici
on p1 = {263, 267, 395}
22
167
330

167

330
49

Nada

330
49
114
330
49
114

Nueva partici
on! Se cierra la partici
on p2 = {22, 167, 330}
49
108
114

108
295
114

114
295
356

295

356
3

Nada

356
3
238
356
3
238

Nueva partici
on! Se cierra la partici
on p3 = {49, 108, 114, 295, 356}
3
224
238

224

238
222

Nada

238
222
47
238
222
47

Nueva partici
on! Se cierra la partici
on p4 = {3, 224, 238}
47
222
200

200
222

156

Nada
222
250
156

222

250
156
162
250
156
162

Nueva partici
on! Se cierra la partici
on p5 = {47, 200, 222, 250}
156
318
162

162
318

318
Finaliza la u
ltima partici
on en p6 = {156, 162, 318}

57

Entra
263
267
167
395
22
Nada

330
49
114
Nada

108
295
356
3
238
Nada

224
222
47
Nada

200
156
250
162
Nada

318
Nada
Nada

Cuadro 43: Algoritmo de seleccion de natural

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 44: Calculo de la distribuci


on de columnas y dummies

n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.14

E1
D
263, 267, 395
3, 224, 238
156, 162, 318

E2
D
22, 167, 330
47, 200, 222, 250

Selecci
on de reemplazo con buffer de tama
no 3

E3
D
49, 108, 114, 295, 356

Cuadro 45: Fase 1

E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238
156, 162, 318

E2
47, 200, 222, 250

S
D
22, 49, 108, 114,
263, 267, 295,
356, 395
E3
D
22, 49, 108, 114,
263, 267, 295,
356, 395

167,
330,

167,
330,

Cuadro 46: Fase 2

E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238

E2
47, 200, 222, 250

E1
156, 162, 318

S
3, 47, 200, 222, 224,
238, 250
E2
3, 47, 200, 222, 224,
238, 250

S
D
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395
E3
D
E3
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395

Cuadro 47: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.15

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 3

E1
D
263, 267, 395

E2
D
22, 167, 330

E3
D
49, 108, 114, 295, 356

E1
3, 224, 238

E2
47, 200, 222, 250

E1
156, 162, 318

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
3, 47, 200, 222, 224,
238, 250
E2
3, 47, 200, 222, 224,
238, 250

E2

59

S
D
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395
E3
D
E3
22, 49, 108, 114, 167,
263, 267, 295, 330,
356, 395

E3

Cuadro 48: Fase final

3.15.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.15.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.15.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.16.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.
n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.16

Selecci
on Natural con buffers de tama
no 3

b1
b2
b3
Sale
Entra

Nada
263
263

Nada
267
263
267

Nada
167
263
267
167
167
395
263
267
395
263
22
22
267
395
267
330
22
330
395
330
49
22
49
395
395
114
22
49
114
Nueva partici
on! Se cierra la partici
on p1 = {167, 263, 267, 330, 395}
22
108
108
49
114
49
295
108
295
114
108
356
356
295
114
114
3
356
295
3
295
238
356
238
3
356
224
224
238
3
Nueva partici
on! Se cierra la partici
on p2 = {22, 49, 108, 114, 295, 356}
3
222
224
238
222
222
47
224
238
47
224
200
200
238
47
238
156
200
156
47
Nueva partici
on! Se cierra la partici
on p3 = {3, 222, 224, 238}
47
250
200
156
250
156
162
200
162
250
162
318
200
318
250
200
Nada

318
250
250
Nada

318

318
Nada
Finaliza la u
ltima partici
on en p4 = {47, 156, 162, 200, 250, 318}

Cuadro 49: Algoritmo de seleccion de reemplazo

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

<4
Si
Si
No

Cuadro 50: Calculo de la distribuci


on de columnas y dummies

E1
D
3, 222, 224, 238

E2
167, 263, 267, 330,
395
47, 156, 162, 200,
250, 318

E3
22, 49, 108, 114, 295,
356

Cuadro 51: Fase 1

Enrique P. Calot

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 295,
356

E1
3, 222, 224, 238

E2
47, 156, 162, 200,
250, 318

61

S
22, 49, 108, 114,
263, 267, 295,
356, 395
E3
22, 49, 108, 114,
263, 267, 295,
356, 395

167,
330,

167,
330,

Cuadro 52: Fase 2

E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 295,
356

E1
3, 222, 224, 238

E2
47, 156, 162, 200,
250, 318

E2

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
22, 49, 108, 114,
263, 267, 295,
356, 395
E3
22, 49, 108, 114,
263, 267, 295,
356, 395

167,
330,

167,
330,

E3

Cuadro 53: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.16

Selecci
on Natural con buffers de tama
no 3

b1
b2
b3
a1
a2
a3
Sale

Nada
263

Nada
263
267

Nada
263
267
167

167
263
267
395

263

267
395
22

Nada
330
267
395
22

267
330

395
22
49

Nada
330

395
22
49
114
330

395
22
49
114
395
22
49
114

Nueva partici
on! Se cierra la partici
on p1 = {167, 263, 267, 330, 395}
22
108
49
114

49
108
295
114

108
356
295
114

114
356
295

Nada
356
295
238
3

238
356
295

3
224

Nada
356
295

3
224
222
295
356

3
224
222
356
3
224
222

Nueva partici
on! Se cierra la partici
on p2 = {22, 49, 108, 114, 238, 295, 356}
3
47
224
222

47
200
224
222

200

224
222
156

Nada
250
224
222
156

222
250
224

156
162

Nada
250
224
318
156
162

224
250

318
156
162

250

318
156
162

318
156
162

Nueva partici
on! Se cierra la partici
on p3 = {3, 47, 200, 222, 224, 250, 318}
156

162

162
Finaliza la u
ltima partici
on en p4 = {156, 162}

Entra
263
267
167
395
22
330
49
114
Nada
Nada

108
295
356
3
238
224
222
Nada
Nada

47
200
156
250
162
318
Nada
Nada
Nada

Nada
Nada

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 de
datos 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

n II
Algoritmos y Programacio

3.17

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

63

<4
Si
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
D
3, 47, 200, 222, 224,
250, 318

E2
167, 263, 267, 330,
395
156, 162

E3
22, 49, 108, 114, 238,
295, 356

Cuadro 56: Fase 1

3.17.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.17.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.17.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 238,
295, 356

E1
3, 47, 200, 222, 224,
250, 318

E2
156, 162

S
22, 49, 108, 114,
238, 263, 267,
330, 356, 395
E3
22, 49, 108, 114,
238, 263, 267,
330, 356, 395

167,
295,

167,
295,

Cuadro 57: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.18

Selecci
on de reemplazo con buffer de tama
no 4

E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 238,
295, 356

E1
3, 47, 200, 222, 224,
250, 318

E2
156, 162

E2

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

S
22, 49, 108, 114,
238, 263, 267,
330, 356, 395
E3
22, 49, 108, 114,
238, 263, 267,
330, 356, 395

167,
295,

167,
295,

E3

Cuadro 58: Fase final

3.18.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.
3.18.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.19.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

65

b2
b3
b4
Sale
Entra

Nada
263

Nada
267
267

Nada
167
267
167

Nada
395
267
167
395
167
22
267
22
395
263
330
267
22
395
267
49
49
22
395
330
114
49
22
395
395
108
49
22
108
partici
on! Se cierra la partici
on p1 = {167, 263, 267, 330, 395}
22
295
114
49
295
108
49
356
114
356
295
108
108
3
114
356
295
3
114
238
238
356
295
3
238
224
224
356
295
3
295
222
224
356
222
3
356
47
224
47
222
3
Nueva
partici
on!
Se
cierra
la
partici
on
p2
=
{22, 49, 108, 114, 238, 295, 356}
3
200
224
47
222
200
47
156
224
156
222
200
156
250
224
250
222
200
200
162
224
250
222
162
222
318
224
250
318
162
224
Nada

250
318
162
250
Nada

318
162
318
Nada

162
Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{3, 47, 156, 200, 222, 224, 250, 318}
162
Nada
Finaliza la u
ltima partici
on en p4 = {162}
b1

263
263
263
263
263
330
330
114
114
Nueva

Cuadro 59: Algoritmo de seleccion de reemplazo

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

<4
Si
Si
No

Cuadro 60: Calculo de la distribuci


on de columnas y dummies

n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.20

E1
D
3, 47, 156, 200, 222,
224, 250, 318

Selecci
on de reemplazo con buffer de tama
no 5

E2
167, 263, 267, 330,
395
162

E3
22, 49, 108, 114, 238,
295, 356

Cuadro 61: Fase 1


E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 238,
295, 356

E1
3, 47, 156, 200, 222,
224, 250, 318

E2
162

S
22, 49, 108, 114,
238, 263, 267,
330, 356, 395
E3
22, 49, 108, 114,
238, 263, 267,
330, 356, 395

167,
295,

167,
295,

Cuadro 62: Fase 2


3.19.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.20.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
3.20.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on Natural con buffers de tama
no 5

E1
D

E2
167, 263, 267, 330,
395

E3
22, 49, 108, 114, 238,
295, 356

E1
3, 47, 156, 200, 222,
224, 250, 318

E2
162

E2

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
E1
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395

67

S
22, 49, 108, 114,
238, 263, 267,
330, 356, 395
E3
22, 49, 108, 114,
238, 263, 267,
330, 356, 395

167,
295,

167,
295,

E3

Cuadro 63: Fase final


3.21.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.21.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.22.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.
3.22.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.22

b1
b2
b3
b4

263

263
267

263
267
167

263
267
167
395
263
267
167
395
263
267
167
395
263
267
49
395
114
267
49
395
114
108
49
395
114
108
49
395
114
108
49
356
Nueva
partici
on!
Se
{22, 167, 263, 267, 330, 395}

b5

22
330
330
330
330
295
295
cierra

114
108
3
356
295
114
238
3
356
295
224
238
3
356
295
222
238
3
356
295
222
47
3
356
295
222
47
3
356
200
222
47
3
156
200
Nueva
partici
on!
Se
cierra
{49, 108, 114, 224, 238, 295, 356}

Selecci
on Natural con buffers de tama
no 5

Sale
Nada
Nada
Nada
Nada
Nada
22
167
263
267
330
395
la

Entra
263
267
167
395
22
330
49
114
108
295
356
partici
on

49
108
114
224
238
295
356
la

p1
3
238
224
222
47
200
156

partici
on

p2

3
250
222
47
250
156
200
47
162
222
162
250
156
200
156
318
222
162
250
318
200
162
Nada
222

250
318
200
200
Nada
222

250
318

222
Nada

250
318

250
Nada

318

318
Nada
Finaliza la u
ltima partici
on en p3 = {3, 47, 156, 162, 200, 222, 250, 318}

Cuadro 64: Algoritmo de seleccion de reemplazo

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 65: Calculo de la distribuci


on de columnas y dummies

E1
22, 167, 263, 267,
330, 395

E2
49, 108, 114, 224,
238, 295, 356

E3
3, 47, 156, 162, 200,
222, 250, 318

Cuadro 66: Fase 1

Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on Natural con buffers de tama
no 5

E1
22, 167, 263, 267,
330, 395

E2
49, 108, 114, 224,
238, 295, 356

E3
3, 47, 156, 162, 200,
222, 250, 318

E2

E3

69

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
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


a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

22

167
49

Nada
49
114

Nada
49
114
108

Nada
49
114
108

263
49
114
108

267
49
114
108
3

Nada
49
114
108
3
238
295
49
114
108
3
238
330
49
114
108
3
238
356
49
114
108
3
238
395

p1 = {22, 167, 263, 267, 295, 330, 356, 395}


3
49
114
108
224
238

49
222
114
108
224
238

108
222
114

224
238
47

Nada
222
114
200
224
238
47

114
222
156
200
224
238
47

156
222
250
200
224
238
47

200
222
250

224
238
47
162

Nada
222
250
318
224
238
47
162

222

250
318
224
238
47
162

224

250
318

238
47
162

238

250
318

47
162

250

318

47
162

318
47
162

Nueva partici
on! Se cierra la partici
on p2 = {3, 49, 108, 114, 156, 200, 222, 224, 238, 250, 318}
47

162

162
Finaliza la u
ltima partici
on en p3 = {47, 162}
b1
b2
b3
b4
b5

263

263
267

263
267
167

263
267
167
395

263
267
167
395
22
263
267
167
395
330
263
267

395
330
263
267

395
330
263
267

395
330
263
267
295
395
330
356
267
295
395
330
356

295
395
330
356

295
395
330
356

395
330
356

395

395

49
114
108
3
238
Nueva partici
on! Se cierra la partici
on

Entra
263
267
167
395
22
330
49
114
108
295
356
3
238
Nada
Nada
Nada
Nada

224
222
47
200
156
250
162
318
Nada
Nada
Nada
Nada
Nada

Nada
Nada

Cuadro 68: Algoritmo de seleccion de natural


n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.23

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

Cuadro 69: Calculo de la distribuci


on de columnas y dummies
E1
22, 167, 263, 267,
295, 330, 356, 395

E2
3, 49, 108, 114, 156,
200, 222, 224, 238,
250, 318

E3
47, 162

Cuadro 70: Fase 1

3.23.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.23.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.23.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.24.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.24.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

E1
22, 167, 263, 267,
295, 330, 356, 395

E2
3, 49, 108, 114, 156,
200, 222, 224, 238,
250, 318

E3
47, 162

E2

E3

71

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
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

263

263
267

263
267
167

263
267
167
395

263
267
167
395
22

263
267
167
395
22
330
263
267
167
395
49
330
263
267
167
395
114
330
263
267
167
395
108
330
263
267
295
395
108
330
356
267
295
395
108
330
356
3
295
395
108
330
356
3
238
395
108
330
356
3
238
395
108
224
222
3
238
395
108
224
222
3
238
47
108
224
Nueva
partici
on!
Se
cierra
la
{22, 49, 114, 167, 263, 267, 295, 330, 356, 395}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
22
49
114
167
263
267
295
330
356
395

Entra
263
267
167
395
22
330
49
114
108
295
356
3
238
224
222
47

partici
on

222
200
238
47
108
224
222
200
238
156
108
224
222
200
238
156
250
224
222
200
238
162
250
224
222
200
238
318
250
224
222

238
318
250
224

238
318
250
224

238
318
250

318
250

318

Finaliza
la
u
ltima
partici
on
{3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}

3
47
108
156
162
200
222
224
238
250
318
en

p1
200
156
250
162
318
Nada
Nada
Nada
Nada
Nada
Nada
p2

Cuadro 72: Algoritmo de seleccion de reemplazo

n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.25

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<2
Si
No

Cuadro 73: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
22, 49, 114, 167, 263,
267, 295, 330, 356,
395

E3
3, 47, 108, 156, 162,
200, 222, 224, 238,
250, 318

Cuadro 74: Fase 1

3.25.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.25.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.25.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.26.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.
3.26.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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

n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
22, 49, 114, 167, 263,
267, 295, 330, 356,
395

E3
3, 47, 108, 156, 162,
200, 222, 224, 238,
250, 318

E2

E3

73

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
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

263
263
263
263
263
263
263
263
263
263
263

108
Nueva

b2
b3
b4
b5

267

267
167

267
167
395

267
167
395
22
267
167
395
22
267
167
395
49
267
167
395
114
267
167
395

267
167
395
295
267
356
395
295
267
356
395
295
267
356
395
295
267
356
395
295
267
356
395
295
267
356
395
295

356
395
295

356
395

356
395

395

3
238
224
222
partici
on! Se cierra la partici
on

108
200
238
224
108
200
238
224
250
200
238
224
250
200
238
224
250
200
238
224
250

238
224
250

238
224
250

238

250

Finaliza la u
ltima partici
on en

b6
a1
a2
a3
a4
a5
a6

330

330

330

330
108

330
108

330
108

330
108
3

330
108
3
238

330
108
3
238
224

330
108
3
238
224
222

330
108
3
238
224
222
47
330
108
3
238
224
222
47
330
108
3
238
224
222
47

108
3
238
224
222
47

108
3
238
224
222
47
47

p1 = {22, 49, 114, 167, 263, 267, 295, 330, 356, 395}

222
47

222
156

222
156

222
162

222
318

222
318

318

318

318

318

p2 = {3, 47, 108, 156, 162, 200, 222, 224, 238, 250, 318}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
22
49
114
Nada
167
263
Nada
Nada
Nada
Nada
267
295
330
356
395

Entra
263
267
167
395
22
330
49
114
108
295
356
3
238
224
222
47
Nada
Nada
Nada
Nada
Nada

3
47
108
156
162
200
222
224
238
250
318

200
156
250
162
318
Nada
Nada
Nada
Nada
Nada
Nada

Cuadro 76: Algoritmo de seleccion de natural

n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.27

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 77: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
22, 49, 114, 167, 263,
267, 295, 330, 356,
395

E3
3, 47, 108, 156, 162,
200, 222, 224, 238,
250, 318

Cuadro 78: Fase 1

3.27.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.27.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.27.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.28.

Bubble Sort ascendente

3.28.1.

Desarrollo

Enrique P. Calot

n II
Algoritmos y Programacio

3.28

Bubble Sort ascendente

75

E1
D

E2
22, 49, 114, 167, 263,
267, 295, 330, 356,
395

E3
3, 47, 108, 156, 162,
200, 222, 224, 238,
250, 318

E2

E3

S
3, 22, 47, 49, 108,
114, 156, 162, 167,
200, 222, 224, 238,
250, 263, 267, 295,
318, 330, 356, 395
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

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

18/20

263 167 267 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 395

16/19

167 263 22 267 49 114 108 295 330 3 238 224 222 47 200 156 250 162 318 356 395

14/18

167 22 263 49 114 108 267 295 3 238 224 222 47 200 156 250 162 318 330 356 395

13/17

22 167 49 114 108 263 267 3 238 224 222 47 200 156 250 162 295 318 330 356 395

12/16

22 49 114 108 167 263 3 238 224 222 47 200 156 250 162 267 295 318 330 356 395

10/15

22 49 108 114 167 3 238 224 222 47 200 156 250 162 263 267 295 318 330 356 395

7/14

22 49 108 114 3 167 224 222 47 200 156 238 162 250 263 267 295 318 330 356 395

6/13

22 49 108 3 114 167 222 47 200 156 224 162 238 250 263 267 295 318 330 356 395

5/12

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

49 108 114 47 167 156 200 162 222 224 238 250 263 267 295 318 330 356 395

4/10

11

22 49 108 47 114 156 167 162 200 222 224 238 250 263 267 295 318 330 356 395

2/9

12

22 49 47 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

1/8

13

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/7

14

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/6

15

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/5

16

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/4

17

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/3

18

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/2

19

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/1

20

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.29

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

Enrique P. Calot

Bubble Sort descendente

n II
Algoritmos y Programacio

3.29

Bubble Sort descendente

77

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

17/20

267 263 395 167 330 49 114 108 295 356 22 238 224 222 47 200 156 250 162 318 3

15/19

267 395 263 330 167 114 108 295 356 49 238 224 222 47 200 156 250 162 318 22

12/18

395 267 330 263 167 114 295 356 108 238 224 222 49 200 156 250 162 318 47 22

11/17

395 330 267 263 167 295 356 114 238 224 222 108 200 156 250 162 318 49 47 22

10/16

395 330 267 263 295 356 167 238 224 222 114 200 156 250 162 318 108 49 47 22

10/15

395 330 267 295 356 263 238 224 222 167 200 156 250 162 318 114 108 49 47 22

6/14

395 330 295 356 267 263 238 224 222 200 167 250 162 318 156 114 108 49 47 22

3/13

395 330 356 295 267 263 238 224 222 200 250 167 318 162 156 114 108 49 47 22

3/12

395 356 330 295 267 263 238 224 222 250 200 318 167 162 156 114 108 49 47 22

2/11

10

395 356 330 295 267 263 238 224 250 222 318 200 167 162 156 114 108 49 47 22

2/10

11

395 356 330 295 267 263 238 250 224 318 222 200 167 162 156 114 108 49 47 22

2/9

12

395 356 330 295 267 263 250 238 318 224 222 200 167 162 156 114 108 49 47 22

1/8

13

395 356 330 295 267 263 250 318 238 224 222 200 167 162 156 114 108 49 47 22

1/7

14

395 356 330 295 267 263 318 250 238 224 222 200 167 162 156 114 108 49 47 22

1/6

15

395 356 330 295 267 318 263 250 238 224 222 200 167 162 156 114 108 49 47 22

1/5

16

395 356 330 295 318 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

1/4

17

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/3

18

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/2

19

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/1

20

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/0

Cuadro 81: Ordenamiento descendente por bubble sort

n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.30

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

Enrique P. Calot

Bilateral Bubble Sort ascendente

n II
Algoritmos y Programacio

3.30

Bilateral Bubble Sort ascendente

79

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

18/20

263 167 267 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318 395

15/20

3 263 167 267 22 330 49 114 108 295 356 47 238 224 222 156 200 162 250 318 395

15/18

3 167 263 22 267 49 114 108 295 330 47 238 224 222 156 200 162 250 318 356 395

12/18

22 167 263 47 267 49 114 108 295 330 156 238 224 222 162 200 250 318 356 395

12/16

22 167 47 263 49 114 108 267 295 156 238 224 222 162 200 250 318 330 356 395

8/16

22 47 167 49 263 108 114 156 267 295 162 238 224 222 200 250 318 330 356 395

10/14

22 47 49 167 108 114 156 263 267 162 238 224 222 200 250 295 318 330 356 395

6/14

22 47 49 108 167 114 156 162 263 267 200 238 224 222 250 295 318 330 356 395

8/12

22 47 49 108 114 156 162 167 263 200 238 224 222 250 267 295 318 330 356 395

3/12

10

22 47 49 108 114 156 162 167 200 263 222 238 224 250 267 295 318 330 356 395

4/10

11

22 47 49 108 114 156 162 167 200 222 238 224 250 263 267 295 318 330 356 395

1/10

12

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/8

13

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/8

14

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/6

15

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/6

16

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/4

17

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/4

18

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/2

19

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

0/2

20

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.31

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

Enrique P. Calot

Bilateral Bubble Sort descendente

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort descendente

81

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

17/20

267 263 395 167 330 49 114 108 295 356 22 238 224 222 47 200 156 250 162 318 3

17/20

395 267 263 356 167 330 49 114 108 295 318 22 238 224 222 47 200 156 250 162 3

14/18

395 267 356 263 330 167 114 108 295 318 49 238 224 222 47 200 156 250 162 22

13/18

395 356 267 330 263 318 167 114 108 295 250 49 238 224 222 47 200 156 162 22

10/16

395 356 330 267 318 263 167 114 295 250 108 238 224 222 49 200 156 162 47 22

7/16

395 356 330 318 267 295 263 167 114 250 238 108 224 222 200 49 162 156 47 22

8/14

395 356 330 318 295 267 263 167 250 238 114 224 222 200 108 162 156 49 47 22

3/14

395 356 330 318 295 267 263 250 167 238 224 114 222 200 162 108 156 49 47 22

6/12

395 356 330 318 295 267 263 250 238 224 167 222 200 162 114 156 108 49 47 22

2/12

10

395 356 330 318 295 267 263 250 238 224 222 167 200 162 156 114 108 49 47 22

1/10

11

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/10

12

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/8

13

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/8

14

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/6

15

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/6

16

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/4

17

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/4

18

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/2

19

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/2

20

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

0/0

Cuadro 83: Ordenamiento descendente por bubble sort bilaeral

n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.32

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

Enrique P. Calot

Selection Sort ascendente

n II
Algoritmos y Programacio

3.32

Selection Sort ascendente

83

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

1/20

3 267 167 395 22 330 49 114 108 295 356 263 238 224 222 47 200 156 250 162 318

1/19

22 167 395 267 330 49 114 108 295 356 263 238 224 222 47 200 156 250 162 318

1/18

22 47 395 267 330 49 114 108 295 356 263 238 224 222 167 200 156 250 162 318

1/17

22 47 49 267 330 395 114 108 295 356 263 238 224 222 167 200 156 250 162 318

1/16

22 47 49 108 330 395 114 267 295 356 263 238 224 222 167 200 156 250 162 318

1/15

22 47 49 108 114 395 330 267 295 356 263 238 224 222 167 200 156 250 162 318

1/14

22 47 49 108 114 156 330 267 295 356 263 238 224 222 167 200 395 250 162 318

1/13

22 47 49 108 114 156 162 267 295 356 263 238 224 222 167 200 395 250 330 318

1/12

22 47 49 108 114 156 162 167 295 356 263 238 224 222 267 200 395 250 330 318

1/11

10

22 47 49 108 114 156 162 167 200 356 263 238 224 222 267 295 395 250 330 318

1/10

11

22 47 49 108 114 156 162 167 200 222 263 238 224 356 267 295 395 250 330 318

1/9

12

22 47 49 108 114 156 162 167 200 222 224 238 263 356 267 295 395 250 330 318

1/8

13

22 47 49 108 114 156 162 167 200 222 224 238 263 356 267 295 395 250 330 318

1/7

14

22 47 49 108 114 156 162 167 200 222 224 238 250 356 267 295 395 263 330 318

1/6

15

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318

1/5

16

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318

1/4

17

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 395 356 330 318

1/3

18

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 356 330 395

1/2

19

22 47 49 108 114 156 162 167 200 222 224 238 250 263 267 295 318 330 356 395

1/1

20

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.33

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

Enrique P. Calot

Selection Sort descendente

n II
Algoritmos y Programacio

3.33

Selection Sort descendente

85

263 267 167 395 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

1/20

395 267 167 263 22 330 49 114 108 295 356 3 238 224 222 47 200 156 250 162 318

1/19

395 356 167 263 22 330 49 114 108 295 267 3 238 224 222 47 200 156 250 162 318

1/18

395 356 330 263 22 167 49 114 108 295 267 3 238 224 222 47 200 156 250 162 318

1/17

395 356 330 318 22 167 49 114 108 295 267 3 238 224 222 47 200 156 250 162 263

1/16

395 356 330 318 295 167 49 114 108 22 267 3 238 224 222 47 200 156 250 162 263

1/15

395 356 330 318 295 267 49 114 108 22 167 3 238 224 222 47 200 156 250 162 263

1/14

395 356 330 318 295 267 263 114 108 22 167 3 238 224 222 47 200 156 250 162 49

1/13

395 356 330 318 295 267 263 250 108 22 167 3 238 224 222 47 200 156 114 162 49

1/12

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

1/3

18

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

1/2

19

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

1/1

20

395 356 330 318 295 267 263 250 238 224 222 200 167 162 156 114 108 49 47 22

1/0

47 22 49

Cuadro 85: Ordenamiento descendente por seleccion

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-02-08
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 tama
no del lote de datos es superior al que puede almacenar la
maquina en su memoria interna, ya que en tal caso es mas u
til ordenar mediante tecnicas de Sort Interno.
en que otro caso se debe usar Sort Externo, incluso conociendo el tama
no del lote de datos y sabiendo
que este es menor a la memoria interna?
b. Desarrollar todas las fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber completado dos niveles de recursividad).
d. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 4.
e. Procesar el B-tree de orden tal que, con un elemento a excepcion de la raz hace underflow pero con 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 .

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 Ingeniera
Universidad de Buenos Aires
2010-07-05

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Radix Sort . . . . . . . . . . . . . . . . . .
2.1.1. Desarrollo . . . . . . . . . . . . . . . .
2.2. a. Heap Sort . . . . . . . . . . . . . . . . . . .

2.2.1. Arbol
inicial . . . . . . . . . . . . . .
2.3. b. Ejercicio de B-trees . . . . . . . . . . . . .
2.3.1. Inserci
on . . . . . . . . . . . . . . . .
2.3.2. Eliminacion . . . . . . . . . . . . . . .
2.4. c. Merge Polif
asico . . . . . . . . . . . . . . .
2.4.1. C
alculo de la distribuci
on de columnas
2.4.2. Distribucion inicial . . . . . . . . . . .
2.5. d. Seleccion de reemplazo . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.5.2. Salida final . . . . . . . . . . . . . . .
2.6. e. Pregunta teorica . . . . . . . . . . . . . . .
2.6.1. Respuesta . . . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
y
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico con particiones formadas de 1 elemento . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . .
3.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer
Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
8
9
9
10
10
10
10
10
13
13
13

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
tama
no 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

13
13
13
14
14
15
15
30
30
45
46
46
46
47
47
47
49
49
49
49
49
54
54
54
54
59
60
60

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.13.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.15.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.17.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.19.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.23.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.25.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Seleccion Natural con buffers de tama
no 6 . . . . . . . . . . . . . . . . . . . .
3.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 6 . . .
3.27.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
61
61
63
63
64
64
64
64
65
66
66
66
66
67
67
69
69
69
69
69
71
71
71
72
72
72
72
73
74
74
74
74
74
76
76
76
76
76
76
77
78
78
78
78
78
79
80
80

Facultad de Ingeniera


INDICE

3.27.2. Distribucion inicial . . . . .


3.28. Bubble Sort ascendente . . . . . .
3.28.1. Desarrollo . . . . . . . . . .
3.29. Bubble Sort descendente . . . . . .
3.29.1. Desarrollo . . . . . . . . . .
3.30. Bilateral Bubble Sort ascendente .
3.30.1. Desarrollo . . . . . . . . . .
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo . . . . . . . . . .
3.32. Selection Sort ascendente . . . . .
3.32.1. Desarrollo . . . . . . . . . .
3.33. Selection Sort descendente . . . . .
3.33.1. Desarrollo . . . . . . . . . .

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

80
81
81
82
82
83
83
84
84
85
85
86
86

n II
Algoritmos y Programacio

1 Enunciado

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 Radix
Sort en orden ascendente (entero).
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar 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 polif
asico para 3 vas de entrada con las 7 particiones 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 tama
no 4.
e. Cu
al 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 que
pueden llegar a ser ejecutadas en ese caso?

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Radix Sort

Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).


n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

2.1.1.

a. Heap Sort

Desarrollo

A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.


Paso 0
385
196
025
315
321
143
037
375
079
347
376
218
030
213
019
231
206
151
367
171
313

2.2.

Paso 1
030
321
231
151
171
143
213
313
385
025
315
375
196
376
206
037
347
367
218
079
019

Paso 2
206
213
313
315
218
019
321
025
030
231
037
143
347
151
367
171
375
376
079
385
196

Paso 3
019
025
030
037
079
143
151
171
196
206
213
218
231
313
315
321
347
367
375
376
385

a. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


2.2.1.

Arbol
inicial
385
196
315
375

25
321

79

347

143

37

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 asociado
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

2.2

a. Heap Sort

385
196

25

315
375

321
79

347

143

37

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
375

321
367

347

143

37

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
315

376
367

347

218

213

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.3

b. Ejercicio de B-trees

385
376

218

375
315

347
367

313

143

213

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
315

347
367

313

143

213

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
375
315

218
347

367

313

143

213

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: u
ltimo 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 luego
eliminar los siguientes:
Enrique P. Calot

n II
Algoritmos y Programacio

2.3

b. Ejercicio de B-trees

218, 213 , 313


Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.3.1.

Inserci
on
315
25196

321385

Inserci
on de 5 elementos: 385, 196, 25, 315, 321
315
2537143196

321375385

Inserci
on de 3 elementos: 143, 37, 375
79315
2537

143196

321375385

Inserci
on de 1 elemento: 79
79315375
2537

143196 321347 376385

Inserci
on de 2 elementos: 347, 376
79213315375
19253037

143196 218231 321347 376385

Inserci
on de 5 elementos: 218, 30, 213, 19, 231
79213315375
19253037

143151196206

218231 321347 376385

Inserci
on de 2 elementos: 206, 151
213
79171
19253037

143151 196206

315375
218231313

321347367

376385

Inserci
on de 3 elementos: 367, 171, 313

2.3.2.

Eliminaci
on
79171315375
19253037

143151

196206231313

321347367

376385

Eliminacion de 2 elementos: 218, 213

n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.4

c. Merge Polif
asico

79171315375
19253037

143151

196206231

321347367

376385

Eliminacion de 1 elemento: 313

2.4.

c. Merge Polif
asico

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
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}.

2.4.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

2.4.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

2.5.

d. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.

2.5.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

2.5

d. Selecci
on de reemplazo

E1
D
37, 143, 375
19, 30, 213, 218, 231
171, 313, 367

E2
D
79
151, 206

11

E3
25, 196, 315, 321, 385
347, 376

Cuadro 2: Fase 1

E1
D
37, 143, 375

E2
D
79

E3
25, 196, 315, 321, 385
347, 376

E1
19, 30, 213, 218, 231
171, 313, 367

E2
151, 206

S
25, 196, 315, 321, 385
37, 79, 143, 347, 375,
376
E3
25, 196, 315, 321, 385
37, 79, 143, 347, 375,
376

Cuadro 3: Fase 2

E1
D
37, 143, 375

E2
D
79

E3
25, 196, 315, 321, 385
347, 376

E1
19, 30, 213, 218, 231

E2
151, 206

E1
171, 313, 367

S
19, 25, 30, 151,
206, 213, 218,
315, 321, 385
E2
19, 25, 30, 151,
206, 213, 218,
315, 321, 385

196,
231,

196,
231,

S
25, 196, 315, 321, 385
37, 79, 143, 347, 375,
376
E3
25, 196, 315, 321, 385

E3
37, 79, 143, 347, 375,
376

Cuadro 4: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.5

d. Selecci
on de reemplazo

E1
D
37, 143, 375

E2
D
79

E3
25, 196, 315, 321, 385
347, 376

E1
19, 30, 213, 218, 231

E2
151, 206

E1
171, 313, 367

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
19, 25, 30, 151,
206, 213, 218,
315, 321, 385
E2
19, 25, 30, 151,
206, 213, 218,
315, 321, 385

E2

196,
231,

196,
231,

S
25, 196, 315, 321, 385
37, 79, 143, 347, 375,
376
E3
25, 196, 315, 321, 385

E3
37, 79, 143, 347, 375,
376

E3

Cuadro 5: Fase final

Enrique P. Calot

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
partici
on!
Se
cierra
la
partici
on
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 partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
p3
=
{19, 30, 151, 206, 213, 231, 313, 367}
Algoritmos
171
Nada
Finaliza la u
ltima partici
on en p4 = {171}

n II
y Programacio

2.6

e. Pregunta te
orica

2.5.2.

13

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 te
orica

Cu
al 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 que
pueden 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 como
pivote se obtienen n pasos (k = n). Si el orden es contrario, hay intercambios, pero tambien ocurren n
pasos. El orden entonces sera de n2 y si existiesen 40000 elementos, la pila recursiva llegara a 40000
ejecuciones simultaneas.

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

3.2

Paso 0
385
196
025
315
321
143
037
375
079
347
376
218
030
213
019
231
206
151
367
171
313

3.2.

Paso 1
079
019
218
037
347
367
196
376
206
385
025
315
375
143
213
313
321
231
151
171
030

Paso 2
196
385
079
376
375
171
367
151
347
143
037
231
030
025
321
019
218
315
213
313
206

Quick Sort

Paso 3
385
376
375
367
347
321
315
313
231
218
213
206
196
171
151
143
079
037
030
025
019

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

315 347 375 321 367

Paso 6

79 25 171 151 143 37 30 196 206

Paso 7

37 25 30 79 143 151 171

Paso 8

30 25 37

Final

218 231

321 347 375 367


367 375

143 151 171

19 25 30 37 79 143 151 171 196 206 213 218 231 313 315 321 347 367 375 376 385

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.

15

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).


3.3.1.

Arbol
inicial
385
196
315
375

25
321

79

347

143

37

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 asociado


Heapfy paso 0
385
196

25

315
375

321
79

347

143

37

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
315
375

25
321

367

347

143

37

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

Heap Sort completo

Heapfy paso 2
385
196

25

375
315

376
367

347

218

213

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
315

347
367

313

143

213

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
375
315

218
347

367

313

143

213

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

196
376
375
315

218
347

367

313

143

213

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
367
315

218
347

196

313

143

213

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
367
315

218
347

196

313

143

213

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

375
367
315
231

218
347

196

313

143

213

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
315
231

218
347

196

313

143

213

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
315
231

218
321

196

313

143

213

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

151
347
315
231

218
321

196

313

143

213

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
315
231

218
313

196

151

143

213

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
315
231

218
313

196

151

143

213

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

321
315
231
206

218
313

196

151

143

213

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
231
206

218
313

196

151

143

213

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
231
206

218
171

196

151

143

213

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

19
313
231
206

218
171

196

151

143

213

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
206
19

218
171

196

151

143

213

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
206
19

218
171

196

151

143

213

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

231
206
196
19

218
171

37

151

143

213

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
196
19

218
171

37

151

143

213

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
196
19

213
171

37

151

143

30

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

25
206
196
19

213
171

37

151

143

30

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
196
19

143
171

37

151

25

30

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
196
19

143
171

37

151

25

30

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

206
196
79
19

143
171

37

151

25

30

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
79
19

143
171

37

206

25

30

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
79
19

143
151

37

206

25

30

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

37
171
79
19

143
151

196

206

25

30

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
79
19

143
37

196

206

25

30

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
79
171

143
37

196

206

25

30

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

151
79
19
171

143
37

196

206

25

30

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
19
171

143
37

196

206

25

151

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
19
171

30
37

196

206

25

151

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

25
79
19
171

30
37

196

206

143

151

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
19
171

30
25

196

206

143

151

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
19
171

30
79

196

206

143

151

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

37
25
19
171

30
79

196

206

143

151

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
37
171

30
79

196

206

143

151

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
37
171

19
79

196

206

143

151

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

19
25
37
171

30
79

196

206

143

151

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
37
171

30
79

196

206

143

151

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
37
171

30
79

196

206

143

151

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.4

Heap Sort descendente

19
25
37
171

30
79

196

206

143

151

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
315
375

25
321

79

347

143

37

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 asociado
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

385
196

25

315
375

321
79

347

143

37

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
206

321
79

171

143

37

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
206

171
151

313

30

19

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

Heap Sort descendente

385
79

19

151
206

171
196

313

30

25

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
151
206

25
171

196

313

30

37

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
151
206

25
171

196

313

30

37

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

25
79
151
206

30
171

196

313

143

37

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
151
206

30
171

196

143

37

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
151
206

37
171

196

143

213

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

367
79
151
206

37
171

196

143

213

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
151
206

143
171

196

218

213

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
151
206

143
171

196

218

213

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

79
151
196
206

143
171

315

218

213

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
196
206

143
171

315

218

213

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
196
206

213
171

315

218

347

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

231
151
196
206

213
171

315

218

347

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
196
206

213
231

315

218

347

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
196
206

213
231

315

218

347

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

171
196
206
385

213
231

315

218

347

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
206
385

213
231

315

218

347

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
315
385

213
231

375

218

347

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

321
206
315
385

213
231

375

218

347

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
315
385

213
313

375

218

347

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
315
385

213
313

375

218

347

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

213
231
315
385

218
313

375

367

347

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
315
385

218
313

375

367

347

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
315
385

347
313

375

367

376

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

321
231
315
385

347
313

375

367

376

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
315
385

347
321

375

367

376

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
315
385

347
321

231

367

376

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

313
315
375
385

347
321

231

367

376

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
375
313

347
321

231

367

376

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
375
313

347
385

231

367

376

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

376
321
375
313

347
385

231

367

315

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
376
313

347
385

231

367

315

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
376
313

347
385

231

321

315

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

347
375
376
313

367
385

231

321

315

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
376
313

367
347

231

321

315

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
376
313

385
347

231

321

315

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

376
375
367
313

385
347

231

321

315

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
367
313

385
347

231

321

315

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
367
313

375
347

231

321

315

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

45

376
385
367
313

375
347

231

321

315

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
367
313

375
347

231

321

315

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
367
313

375
347

231

321

315

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.6

Merge Polif
asico con particiones formadas de 1 elemento

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 6: Calculo de la distribuci


on de columnas y dummies
E1
D
19, 30, 151, 206, 213,
231, 313, 367

E2
25, 196, 315, 321,
375, 385
171

E3
37, 79, 143, 218, 347,
376

Cuadro 7: Fase 1

3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.6.

Merge Polif
asico con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
E1
D

E2
25, 196, 315, 321,
375, 385

E3
37, 79, 143, 218, 347,
376

E1
19, 30, 151, 206, 213,
231, 313, 367

E2
171

S
25, 37, 79, 143,
218, 315, 321,
375, 376, 385
E3
25, 37, 79, 143,
218, 315, 321,
375, 376, 385

196,
347,

196,
347,

Cuadro 8: Fase 2
Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

E1
D

E2
25, 196, 315, 321,
375, 385

E3
37, 79, 143, 218, 347,
376

E1
19, 30, 151, 206, 213,
231, 313, 367

E2
171

E2

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

47

S
25, 37, 79, 143,
218, 315, 321,
375, 376, 385
E3
25, 37, 79, 143,
218, 315, 321,
375, 376, 385

196,
347,

196,
347,

E3

Cuadro 9: Fase final


Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 10: Calculo de la distribuci


on de columnas y dummies
3.6.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.7.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas de 2 elementos cada una tomadas del lote de datos.
Por ejemplo p1 = {196, 385}; p2 = {25, 315}; . . . ; p10 = {171, 367}; p11 = {313}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.7

E1
D
D
D
D
25
143
79
218
213
231
151
171
313

E2
D
D
D
385
315
37
347
30
19
206
367

Merge Polif
asico con particiones formadas de 2 elementos

E3
D
D
D
196
321
375
376

Cuadro 11: Fase 1

E1
D
D
D
D
25
143
79
E1
218
213
231
151
171
313

E2
D
D
D
385
315
37
347
E2
30
19
206
367

E3
D
D
D
196
321
375
376
S

S
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376
E3
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376

Cuadro 12: Fase 2

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
25
143
79
E1
218
213
231
151
E1
171
313

E2
D
D
D
385
315
37
347
E2
30
19
206
367
S

E3
D
D
D
196
321
375
376
S
30, 218
19, 213
206, 231
151, 196, 367, 385
E2
30, 218
19, 213
206, 231
151, 196, 367, 385

49

S
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376
E3
D
D
D
196, 385
E3
25, 315, 321
37, 143, 375
79, 347, 376

Cuadro 13: Fase 3


3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.8

E1
D
D
D
D
25
143
79
E1
218
213
231
151
E1
171
313
S

E2
D
D
D
385
315
37
347
E2
30
19
206
367
S
25, 30,
321
19, 37,
375
E1
25, 30,
321
19, 37,
375

Merge Polif
asico con particiones formadas de 3 elementos

171, 218, 315,

E3
D
D
D
196
321
375
376
S
30, 218
19, 213
206, 231
151, 196, 367, 385
E2
30, 218

S
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376
E3
D
D
D
196, 385
E3
25, 315, 321

143, 213, 313,

19, 213

37, 143, 375

171, 218, 315,

E2
206, 231

E3
79, 347, 376

143, 213, 313,

151, 196, 367, 385

Cuadro 14: Fase 4

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
25
143
79
E1
218
213
231
151
E1
171

E3
D
D
D
196
321
375
376
S
30, 218
19, 213
206, 231
151, 196, 367, 385
E2
30, 218

S
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376
E3
D
D
D
196, 385
E3
25, 315, 321

19, 213

37, 143, 375

206,
321,

E2
D
D
D
385
315
37
347
E2
30
19
206
367
S
25, 30, 171, 218, 315,
321
19, 37, 143, 213, 313,
375
E1
25, 30, 171, 218, 315,
321

E2
206, 231

E3
79, 347, 376

206,
321,

E1
19, 37, 143, 213, 313,
375

E2
151, 196, 367, 385

313
S
25, 30, 79, 171,
218, 231, 315,
347, 376
E3
25, 30, 79, 171,
218, 231, 315,
347, 376

51

Cuadro 15: Fase 5

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.8

E1
D
D
D
D
25
143
79
E1
218
213
231
151
E1
171

E3
D
D
D
196
321
375
376
S
30, 218
19, 213
206, 231
151, 196, 367, 385
E2
30, 218

S
D
D
D
196, 385
25, 315, 321
37, 143, 375
79, 347, 376
E3
D
D
D
196, 385
E3
25, 315, 321

19, 213

37, 143, 375

206,
321,

E2
D
D
D
385
315
37
347
E2
30
19
206
367
S
25, 30, 171, 218, 315,
321
19, 37, 143, 213, 313,
375
E1
25, 30, 171, 218, 315,
321

E2
206, 231

E3
79, 347, 376

206,
321,

E1
19, 37, 143, 213, 313,
375

E2
151, 196, 367, 385

E1

E2

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E3
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

313
S
25, 30, 79, 171,
218, 231, 315,
347, 376
E3
25, 30, 79, 171,
218, 231, 315,
347, 376

Merge Polif
asico con particiones formadas de 3 elementos

Fases
0
1
2
3
4

Cuadro 16: Fase final


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17

< 11
Si
Si
Si
Si
No

Cuadro 17: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
196, 385
37, 375
30, 213
151, 206
313

E2
D
D
25, 315
79, 347
19, 231
171, 367

E3
D
D
143, 321
218, 376

53

Cuadro 18: Fase 1


E1
D
D
196, 385

E2
D
D
25, 315

E3
D
D
143, 321

37, 375

79, 347

218, 376

E1
30, 213
151, 206
313

E2
19, 231
171, 367

S
D
D
25, 143, 196,
321, 385
37, 79, 218, 347,
376
E3
D
D
25, 143, 196,
321, 385
37, 79, 218, 347,
376

315,
375,

315,
375,

Cuadro 19: Fase 2


E1
D
D
196, 385

E2
D
D
25, 315

E3
D
D
143, 321

37, 375

79, 347

218, 376

E1
30, 213
151, 206
E1
313

E2
19, 231
171, 367
S

S
19, 30, 213, 231
151, 171, 206, 367
E2
19, 30, 213, 231

151, 171, 206, 367

S
D
D
25, 143, 196,
321, 385
37, 79, 218, 347,
376
E3
D
D
E3
25, 143, 196,
321, 385
37, 79, 218, 347,
376

315,
375,

315,
375,

Cuadro 20: Fase 3


n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
196, 385

E2
D
D
25, 315

E3
D
D
143, 321

37, 375

79, 347

218, 376

E1
30, 213
151, 206
E1
313

E2
19, 231
171, 367
S
19, 25, 30, 143,
213, 231, 313,
321, 385
E1
19, 25, 30, 143,
213, 231, 313,
321, 385

S
19, 30, 213, 231
151, 171, 206, 367
E2
19, 30, 213, 231

196,
315,

196,
315,

E2
151, 171, 206, 367

S
D
D
25, 143, 196, 315,
321, 385
37, 79, 218, 347, 375,
376
E3
D
D
E3
25, 143, 196, 315,
321, 385
E3
37, 79, 218, 347, 375,
376

Cuadro 21: Fase 4


cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.10.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

55

E1
D
D
196, 385

E2
D
D
25, 315

E3
D
D
143, 321

37, 375

79, 347

218, 376

E1
30, 213
151, 206
E1
313

E2
19, 231
171, 367
S
19, 25, 30, 143,
213, 231, 313,
321, 385
E1
19, 25, 30, 143,
213, 231, 313,
321, 385

S
19, 30, 213, 231
151, 171, 206, 367
E2
19, 30, 213, 231

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

196,
315,

196,
315,

S
D
D
25, 143, 196, 315,
321, 385
37, 79, 218, 347, 375,
376
E3
D
D
E3
25, 143, 196, 315,
321, 385

E2
151, 171, 206, 367

E3
37, 79, 218, 347, 375,
376

E2

E3

Cuadro 22: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 23: Calculo de la distribuci


on de columnas y dummies
E1
D
143, 315, 321
19, 30, 213
171, 313, 367

E2
D
37, 79, 375
151, 206, 231

E3
25, 196, 385
218, 347, 376

Cuadro 24: Fase 1


n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
143, 315, 321

E2
D
37, 79, 375

E3
25, 196, 385
218, 347, 376

E1
19, 30, 213
171, 313, 367

E2
151, 206, 231

S
25, 196, 385
37, 79, 143, 218, 315,
321, 347, 375, 376
E3
25, 196, 385
37, 79, 143, 218, 315,
321, 347, 375, 376

Cuadro 25: Fase 2

E1
D
143, 315, 321

E2
D
37, 79, 375

E3
25, 196, 385
218, 347, 376

E1
19, 30, 213

E2
151, 206, 231

E1
171, 313, 367

S
19, 25, 30, 151, 196,
206, 213, 231, 385
E2
19, 25, 30, 151, 196,
206, 213, 231, 385

S
25, 196, 385
37, 79, 143, 218, 315,
321, 347, 375, 376
E3
25, 196, 385
E3
37, 79, 143, 218, 315,
321, 347, 375, 376

Cuadro 26: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

57

E1
D
143, 315, 321

E2
D
37, 79, 375

E3
25, 196, 385
218, 347, 376

E1
19, 30, 213

E2
151, 206, 231

E1
171, 313, 367

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
19, 25, 30, 151, 196,
206, 213, 231, 385
E2
19, 25, 30, 151, 196,
206, 213, 231, 385

E2

S
25, 196, 385
37, 79, 143, 218, 315,
321, 347, 375, 376
E3
25, 196, 385
E3
37, 79, 143, 218, 315,
321, 347, 375, 376

E3

Cuadro 27: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 28: Calculo de la distribuci


on de columnas y dummies

E1
D
25, 196, 315, 385
19, 30, 213, 231
313

E2
D
37, 143, 321, 375
151, 171, 206, 367

E3
D
79, 218, 347, 376

Cuadro 29: Fase 1

n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
25, 196, 315, 385

E2
D
37, 143, 321, 375

E3
D
79, 218, 347, 376

E1
19, 30, 213, 231
313

E2
151, 171, 206, 367

S
D
25, 37, 79, 143,
218, 315, 321,
375, 376, 385
E3
D
25, 37, 79, 143,
218, 315, 321,
375, 376, 385

196,
347,

196,
347,

Cuadro 30: Fase 2

E1
D
25, 196, 315, 385

E2
D
37, 143, 321, 375

E3
D
79, 218, 347, 376

E1
19, 30, 213, 231

E2
151, 171, 206, 367

E1
313

S
19, 30, 151, 171, 206,
213, 231, 367
E2
19, 30, 151, 171, 206,
213, 231, 367

S
D
25, 37, 79, 143, 196,
218, 315, 321, 347,
375, 376, 385
E3
D
E3
25, 37, 79, 143, 196,
218, 315, 321, 347,
375, 376, 385

Cuadro 31: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
25, 196, 315, 385

E2
D
37, 143, 321, 375

E3
D
79, 218, 347, 376

E1
19, 30, 213, 231

E2
151, 171, 206, 367

E1
313

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
19, 30, 151, 171, 206,
213, 231, 367
E2
19, 30, 151, 171, 206,
213, 231, 367

E2

59

S
D
25, 37, 79, 143, 196,
218, 315, 321, 347,
375, 376, 385
E3
D
E3
25, 37, 79, 143, 196,
218, 315, 321, 347,
375, 376, 385

E3

Cuadro 32: Fase final

3.10.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 2

b1
b2
Sale
Entra

Nada
385
385

Nada
196
385
196
196
25
385
25
385
315
315
25
Nueva partici
on! Se cierra la partici
on p1 = {196, 385}
25
321
315
321
315
143
143
321
321
37
143
37
Nueva partici
on! Se cierra la partici
on p2 = {25, 315, 321}
37
375
143
375
143
79
79
375
375
347
79
347
Nueva partici
on! Se cierra la partici
on p3 = {37, 143, 375}
79
376
376
347
347
218
376
218
376
30
30
218
Nueva partici
on! Se cierra la partici
on p4 = {79, 347, 376}
30
213
213
218
213
19
19
218
218
231
19
231
231
206
19
206
Nueva partici
on! Se cierra la partici
on p5 = {30, 213, 218, 231}
19
151
151
206
151
367
367
206
206
171
367
171
367
313
313
171
Nueva partici
on! Se cierra la partici
on p6 = {19, 151, 206, 367}
171
Nada
313

313
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

61
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<7
Si
Si
Si
No

Cuadro 33: Calculo de la distribuci


on de columnas y dummies
E1
D
25, 315, 321
30, 213, 218, 231
171, 313

E2
D
37, 143, 375
19, 151, 206, 367

E3
196, 385
79, 347, 376

Cuadro 34: Fase 1


3.11.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.11.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.12.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.

E1
D
25, 315, 321

E2
D
37, 143, 375

E3
196, 385
79, 347, 376

E1
30, 213, 218, 231
171, 313

E2
19, 151, 206, 367

S
196, 385
25, 37, 79, 143, 315,
321, 347, 375, 376
E3
196, 385
25, 37, 79, 143, 315,
321, 347, 375, 376

Cuadro 35: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.12

Selecci
on Natural con buffers de tama
no 2

E1
D
25, 315, 321

E2
D
37, 143, 375

E3
196, 385
79, 347, 376

E1
30, 213, 218, 231

E2
19, 151, 206, 367

E1
171, 313

S
19, 30, 151, 196,
213, 218, 231,
385
E2
19, 30, 151, 196,
213, 218, 231,
385

206,
367,

206,
367,

S
196, 385
25, 37, 79, 143, 315,
321, 347, 375, 376
E3
196, 385

E3
25, 37, 79, 143, 315,
321, 347, 375, 376

Cuadro 36: Fase 3

E1
D
25, 315, 321

E2
D
37, 143, 375

E3
196, 385
79, 347, 376

E1
30, 213, 218, 231

E2
19, 151, 206, 367

E1
171, 313

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
19, 30, 151, 196,
213, 218, 231,
385
E2
19, 30, 151, 196,
213, 218, 231,
385

E2

206,
367,

206,
367,

S
196, 385
25, 37, 79, 143, 315,
321, 347, 375, 376
E3
196, 385

E3
25, 37, 79, 143, 315,
321, 347, 375, 376

E3

Cuadro 37: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

3.12.1.

63

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

a1
a2
Sale
Entra

Nada
385

Nada
196

196
25
25

Nada
315
25

315
321
25

321
143
25
143
385
Nada

Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p4 = {19, 30, 206, 231, 367}
151
313
313
171

171
Nada
313

313
Nada
Finaliza la u
ltima partici
on en p5 = {151, 171, 313}
b1
b2

385

385
196
385

385
315
385
321
385

25
143
Nueva partici
on!

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

Cuadro 38: Calculo de la distribuci


on de columnas y dummies
E1
196, 315, 321, 385
19, 30, 206, 231, 367

E2
25, 37, 143, 347, 375,
376
151, 171, 313

E3
79, 213, 218

Cuadro 39: Fase 1

3.13.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.13.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.13.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

3.14.

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
E1
196, 315, 321, 385

E2
25, 37, 143, 347, 375,
376

E3
79, 213, 218

E1
19, 30, 206, 231, 367

E2
151, 171, 313

S
25, 37, 79, 143, 196,
213, 218, 315, 321,
347, 375, 376, 385
E3
25, 37, 79, 143, 196,
213, 218, 315, 321,
347, 375, 376, 385

Cuadro 40: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.14

Selecci
on de reemplazo con buffer de tama
no 3

E1
196, 315, 321, 385

E2
25, 37, 143, 347, 375,
376

E3
79, 213, 218

E1
19, 30, 206, 231, 367

E2
151, 171, 313

E2

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

65

S
25, 37, 79, 143, 196,
213, 218, 315, 321,
347, 375, 376, 385
E3
25, 37, 79, 143, 196,
213, 218, 315, 321,
347, 375, 376, 385

E3

Cuadro 41: Fase final

3.14.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.15

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.15.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.15.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

67
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 42: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
25, 196, 315, 321, 385

30, 213, 218, 231

19, 151, 171, 206,


313, 367

E3
37, 79, 143, 347, 375,
376

Cuadro 43: Fase 1

cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.16.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.

3.16.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

E1
D

E2
25, 196, 315, 321, 385

E3
37, 79, 143, 347, 375,
376

E1
30, 213, 218, 231

E2
19, 151, 171, 206,
313, 367

S
25, 37, 79, 143,
315, 321, 347,
376, 385
E3
25, 37, 79, 143,
315, 321, 347,
376, 385

196,
375,

196,
375,

Cuadro 44: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.16

Selecci
on Natural con buffers de tama
no 3

E1
D

E2
25, 196, 315, 321, 385

E3
37, 79, 143, 347, 375,
376

E1
30, 213, 218, 231

E2
19, 151, 171, 206,
313, 367

E2

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
25, 37, 79, 143,
315, 321, 347,
376, 385
E3
25, 37, 79, 143,
315, 321, 347,
376, 385

196,
375,

196,
375,

E3

Cuadro 45: Fase final


b1
b2
b3
a1
a2
a3
Sale

Nada
385

Nada
385
196

Nada
385
196
25

25
385
196
315

196
385
321
315

315
385
321

143

Nada
385
321

143
37

Nada
385
321
375
143
37

321
385

375
143
37
79
375
385

143
37
79
385
143
37
79

Nueva partici
on! Se cierra la partici
on p1 = {25, 196, 315, 321, 375, 385}
37
143
347
79

79
143
347
376

143
218
347
376

218

347
376
30

Nada

347
376
30
213

Nada

347
376
30
213
19
347

376
30
213
19
376
30
213
19

Nueva partici
on! Se cierra la partici
on p2 = {37, 79, 143, 218, 347, 376}
19
30
213
231

30
206
213
231

206

213
231
151

Nada
367
213
231
151

213
367

231
151
171

Nada
367
313
231
151
171

231
367
313

151
171

313
367

151
171

367
151
171

Nueva partici
on! Se cierra la partici
on p3 = {19, 30, 206, 213, 231, 313, 367}
151

171

171
Finaliza la u
ltima partici
on en p4 = {151, 171}

Enrique P. Calot

Entra
385
196
25
315
321
143
37
375
79
Nada
Nada

347
376
218
30
213
19
Nada
Nada

231
206
151
367
171
313
Nada
Nada
Nada

Nada
Nada

n II
Algoritmos y Programacio

3.17

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

69

<4
Si
Si
No

Cuadro 46: Calculo de la distribuci


on de columnas y dummies
E1
D
19, 30, 206, 213, 231,
313, 367

E2
25, 196, 315, 321,
375, 385
151, 171

E3
37, 79, 143, 218, 347,
376

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.17.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.17.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.18.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.18

Selecci
on Natural con buffers de tama
no 4

E1
D

E2
25, 196, 315, 321,
375, 385

E3
37, 79, 143, 218, 347,
376

E1
19, 30, 206, 213, 231,
313, 367

E2
151, 171

S
25, 37, 79, 143,
218, 315, 321,
375, 376, 385
E3
25, 37, 79, 143,
218, 315, 321,
375, 376, 385

196,
347,

196,
347,

Cuadro 48: Fase 2

E1
D

E2
25, 196, 315, 321,
375, 385

E3
37, 79, 143, 218, 347,
376

E1
19, 30, 206, 213, 231,
313, 367

E2
151, 171

E2

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
E1
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385

S
25, 37, 79, 143,
218, 315, 321,
375, 376, 385
E3
25, 37, 79, 143,
218, 315, 321,
375, 376, 385

196,
347,

196,
347,

E3

Cuadro 49: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

3.18.1.

71

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.
a2
a3
a4
Sale

Nada

Nada

Nada

Nada

25

196

Nada
37

Nada
37

315
37
79

Nada
37
79

321
37
79

347
37
79
218
375
37
79
218
376
37
79
218
385

p1 = {25, 196, 315, 321, 347, 375, 376, 385}


37
143

79
218
30

Nada
143
213
79
218
30

79
143
213

218
30
19

Nada
143
213
231
218
30
19

143
206
213
231
218
30
19

206

213
231
218
30
19
151

Nada
367
213
231
218
30
19
151

213
367

231
218
30
19
151
171
218
367

231

30
19
151
171
231
367

30
19
151
171
367
30
19
151
171

Nueva partici
on! Se cierra la partici
on p2 = {37, 79, 143, 206, 213, 218, 231, 367}
19
30
313
151
171

30

313
151
171

151

313

171

171

313

313
Finaliza la u
ltima partici
on en p3 = {19, 30, 151, 171, 313}
b1

385
385
385
385
385
385
385
385
385
385
385
385
385
385
143
Nueva

3.18.2.

b2
b3
b4
a1

196

196
25

196
25
315

196
321
315

321
315
143

321
315
143
375
321
315
143
375
321

143
375
321
347
143
375
376
347
143
375
376

143

376

143

143
37
79
218

partici
on! Se cierra la partici
on

Entra
385
196
25
315
321
143
37
375
79
347
376
218
Nada
Nada
Nada

30
213
19
231
206
151
367
171
Nada
Nada
Nada

313
Nada
Nada
Nada
Nada

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.20

Fases
0
1

c1
1
1

Selecci
on de reemplazo con buffer de tama
no 5

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 50: Calculo de la distribuci


on de columnas y dummies

E1
25, 196, 315, 321,
347, 375, 376, 385

E2
37, 79, 143, 206, 213,
218, 231, 367

E3
19, 30, 151, 171, 313

Cuadro 51: Fase 1

3.19.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.19.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.20.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.

3.20.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.20

Selecci
on de reemplazo con buffer de tama
no 5

73

E1
25, 196, 315, 321,
347, 375, 376, 385

E2
37, 79, 143, 206, 213,
218, 231, 367

E3
19, 30, 151, 171, 313

E2

E3

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
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

Nada
385

Nada
385
196

Nada
385
196
25

Nada
385
196
25
315

Nada
385
196
25
315
321
25
385
196
143
315
321
143
385
196
37
315
321
196
385
375
37
315
321
315
385
375
37
79
321
321
385
375
37
79
347
347
385
375
37
79
376
375
385
218
37
79
376
376
385
218
37
79
30
385
213
218
37
79
30
Nueva
partici
on!
Se
cierra
la
partici
on
{25, 143, 196, 315, 321, 347, 375, 376, 385}
30
213
218
37
79
19
37
213
218
231
79
19
79
213
218
231
206
19
206
213
218
231
151
19
213
367
218
231
151
19
218
367
171
231
151
19
231
367
171
313
151
19
313
367
171

151
19
367

171

151
19
Nueva
partici
on!
Se
cierra
la
partici
on
{30, 37, 79, 206, 213, 218, 231, 313, 367}
19

171

151

151

171

171
Finaliza la u
ltima partici
on en p3 = {19, 151, 171}

3.20.2.

Entra
385
196
25
315
321
143
37
375
79
347
376
218
30
213
p1

19
231
206
151
367
171
313
Nada
Nada
p2

Nada
Nada
Nada

Salida final

p1 = {25, 143, 196, 315, 321, 347, 375, 376, 385};


p2 = {30, 37, 79, 206, 213, 218, 231, 313, 367};
n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.21

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 53: Calculo de la distribuci


on de columnas y dummies
E1
25, 143, 196, 315,
321, 347, 375, 376,
385

E2
30, 37, 79, 206, 213,
218, 231, 313, 367

E3
19, 151, 171

Cuadro 54: Fase 1


p3 = {19, 151, 171}.

3.21.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.21.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.21.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.22.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

3.22.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on Natural con buffers de tama
no 5

E1
25, 143, 196, 315,
321, 347, 375, 376,
385

E2
30, 37, 79, 206, 213,
218, 231, 313, 367

E3
19, 151, 171

E2

E3

75

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
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

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

25

143
37

Nada
37

196
37
79

Nada
37
79

315
37
79

321
37
79
218

Nada
37
79
218
30

Nada
37
79
218
30
213
347
37
79
218
30
213
375
37
79
218
30
213
376
37
79
218
30
213
385

p1 = {25, 143, 196, 315, 321, 347, 375, 376, 385}


30
37
79
218

213
19

Nada
37
79
218
231
213
19

37
206
79
218
231
213
19

79
206
151
218
231
213
19

151
206
367
218
231
213
19

206

367
218
231
213
19
171

Nada
313
367
218
231
213
19
171

213
313
367
218
231

19
171

218
313
367

231

19
171

231
313
367

19
171

313

367

19
171

367
19
171

Nueva partici
on! Se cierra la partici
on p2 = {30, 37, 79, 151, 206, 213, 218, 231, 313, 367}
19

171

171
Finaliza la u
ltima partici
on en p3 = {19, 171}
b1

385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
37
Nueva

b2
b3
b4
b5

196

196
25

196
25
315

196
25
315
321
196
143
315
321
196

315
321
196
375
315
321

375
315
321
347
375
315
321
347
375
376
321
347
375
376

347
375
376

347
375
376

375
376

376

79
218
30
213
partici
on! Se cierra la partici
on

n II
Algoritmos y Programacio

Entra
385
196
25
315
321
143
37
375
79
347
376
218
30
213
Nada
Nada
Nada
Nada

19
231
206
151
367
171
313
Nada
Nada
Nada
Nada
Nada

Nada
Nada

Facultad de Ingeniera

76

3.23

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

Cuadro 56: Calculo de la distribuci


on de columnas y dummies
E1
25, 143, 196, 315,
321, 347, 375, 376,
385

E2
30, 37, 79, 151, 206,
213, 218, 231, 313,
367

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.23.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.23.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.24.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.24.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

E1
25, 143, 196, 315,
321, 347, 375, 376,
385

E2
30, 37, 79, 151, 206,
213, 218, 231, 313,
367

E3
19, 171

E2

E3

77

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
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

385

385
196

385
196
25

385
196
25
315

385
196
25
315
321

385
196
25
315
321
143
385
196
37
315
321
143
385
196
375
315
321
143
385
196
375
315
321
79
385
347
375
315
321
79
385
347
375
376
321
79
385
347
375
376
218
79
385
30
375
376
218
79
385
30
213
376
218
79
385
30
213
19
218
79
231
30
213
19
218
79
Nueva
partici
on!
Se
cierra
la
{25, 37, 143, 196, 315, 321, 347, 375, 376, 385}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
25
37
143
196
315
321
347
375
376
385

Entra
385
196
25
315
321
143
37
375
79
347
376
218
30
213
19
231

partici
on

p1

19
231
30
213
206
218
79
30
231
151
213
206
218
79
79
231
151
213
206
218
367
151
231
171
213
206
218
367
171
231
313
213
206
218
367
206
231
313
213

218
367
213
231
313

218
367
218
231
313

367
231

313

367
313

367
367
Finaliza
la
u
ltima
partici
on
en
{19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}

3.24.2.

206
151
367
171
313
Nada
Nada
Nada
Nada
Nada
Nada
p2

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.25

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 59: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
25, 37, 143, 196, 315,
321, 347, 375, 376,
385

E3
19, 30, 79, 151, 171,
206, 213, 218, 231,
313, 367

Cuadro 60: Fase 1

3.25.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.25.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.25.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.26.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.26.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
25, 37, 143, 196, 315,
321, 347, 375, 376,
385

E3
19, 30, 79, 151, 171,
206, 213, 218, 231,
313, 367

E2

E3

79

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
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

385

385
196

385
196
25

385
196
25
315
385
196
25
315
385
196
25
315
385
196
37
315
385
196
375
315
385
196
375
315
385
196
375
315
385
376
375
315
385
376
375

385
376
375

385
376
375

385
376
375

385
376
375

385
376
375

385
376
375

385
376

385

79
218
30
213
Nueva partici
on! Se cierra la

b5
b6
a1
a2
a3
a4
a5
a6

321

321
143

321
143

321
143

321

79

321
347
79

321
347
79

321
347
79
218

321
347
79
218
30

321
347
79
218
30
213

321
347
79
218
30
213
19

321
347
79
218
30
213
19
231

347
79
218
30
213
19
231

79
218
30
213
19
231

79
218
30
213
19
231

79
218
30
213
19
231
19
231

partici
on p1 = {25, 37, 143, 196, 315, 321, 347, 375, 376, 385}

79
218
30
213
206
231

79
218
151
213
206
231

367
218
151
213
206
231

367
218
171
213
206
231

367
218
313
213
206
231

367
218
313
213

231

367
218
313

231

367

313

231

367

313

367

Finaliza la u
ltima partici
on en p2 = {19, 30, 79, 151, 171, 206, 213, 218, 231, 313, 367}

3.26.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
25
37
143
Nada
196
315
Nada
Nada
Nada
Nada
321
347
375
376
385

Entra
385
196
25
315
321
143
37
375
79
347
376
218
30
213
19
231
Nada
Nada
Nada
Nada
Nada

19
30
79
151
171
206
213
218
231
313
367

206
151
367
171
313
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {25, 37, 143, 196, 315, 321, 347, 375, 376, 385};
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.27

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 62: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
25, 37, 143, 196, 315,
321, 347, 375, 376,
385

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.27.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.27.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.28

Bubble Sort ascendente

81

E1
D

E2
25, 37, 143, 196, 315,
321, 347, 375, 376,
385

E3
19, 30, 79, 151, 171,
206, 213, 218, 231,
313, 367

E2

E3

S
19, 25, 30, 37, 79,
143, 151, 171, 196,
206, 213, 218, 231,
313, 315, 321, 347,
367, 375, 376, 385
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

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

20/20

196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 385

15/19

25 196 315 143 37 321 79 347 375 218 30 213 19 231 206 151 367 171 313 376 385

13/18

25 196 143 37 315 79 321 347 218 30 213 19 231 206 151 367 171 313 375 376 385

12/17

25 143 37 196 79 315 321 218 30 213 19 231 206 151 347 171 313 367 375 376 385

11/16

25 37 143 79 196 315 218 30 213 19 231 206 151 321 171 313 347 367 375 376 385

10/15

25 37 79 143 196 218 30 213 19 231 206 151 315 171 313 321 347 367 375 376 385

7/14

25 37 79 143 196 30 213 19 218 206 151 231 171 313 315 321 347 367 375 376 385

5/13

25 37 79 143 30 196 19 213 206 151 218 171 231 313 315 321 347 367 375 376 385

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.29

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

Bubble Sort descendente

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

17/20

385 196 315 321 143 37 375 79 347 376 218 30 213 25 231 206 151 367 171 313 19

14/19

385 315 321 196 143 375 79 347 376 218 37 213 30 231 206 151 367 171 313 25 19

12/18

385 321 315 196 375 143 347 376 218 79 213 37 231 206 151 367 171 313 30 25 19

11/17

385 321 315 375 196 347 376 218 143 213 79 231 206 151 367 171 313 37 30 25 19

11/16

385 321 375 315 347 376 218 196 213 143 231 206 151 367 171 313 79 37 30 25 19

10/15

385 375 321 347 376 315 218 213 196 231 206 151 367 171 313 143 79 37 30 25 19

7/14

385 375 347 376 321 315 218 213 231 206 196 367 171 313 151 143 79 37 30 25 19

4/13

385 375 376 347 321 315 218 231 213 206 367 196 313 171 151 143 79 37 30 25 19

4/12

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

n II
Algoritmos y Programacio

3.30

Bilateral Bubble Sort ascendente

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

83

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

20/20

196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313 385

16/20

19 196 25 315 321 143 37 375 79 347 376 218 30 213 151 231 206 171 367 313 385

14/18

19 25 196 315 143 37 321 79 347 375 218 30 213 151 231 206 171 367 313 376 385

13/18

19 25 30 196 315 143 37 321 79 347 375 218 151 213 171 231 206 313 367 376 385

11/16

19 25 30 196 143 37 315 79 321 347 218 151 213 171 231 206 313 367 375 376 385

8/16

19 25 30 37 196 143 79 315 151 321 347 218 171 213 206 231 313 367 375 376 385

9/14

19 25 30 37 143 79 196 151 315 321 218 171 213 206 231 313 347 367 375 376 385

6/14

19 25 30 37 79 143 151 196 171 315 321 218 206 213 231 313 347 367 375 376 385

6/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.31

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

Bilateral Bubble Sort descendente

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

17/20

385 196 315 321 143 37 375 79 347 376 218 30 213 25 231 206 151 367 171 313 19

16/20

385 376 196 315 321 143 37 375 79 347 367 218 30 213 25 231 206 151 313 171 19

13/18

385 376 315 321 196 143 375 79 347 367 218 37 213 30 231 206 151 313 171 25 19

13/18

385 376 375 315 321 196 143 367 79 347 313 218 37 213 30 231 206 151 171 25 19

10/16

385 376 375 321 315 196 367 143 347 313 218 79 213 37 231 206 151 171 30 25 19

9/16

385 376 375 367 321 315 196 347 143 313 231 218 79 213 37 206 171 151 30 25 19

8/14

385 376 375 367 321 315 347 196 313 231 218 143 213 79 206 171 151 37 30 25 19

5/14

385 376 375 367 347 321 315 313 196 231 218 213 143 206 79 171 151 37 30 25 19

6/12

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

n II
Algoritmos y Programacio

3.32

Selection Sort ascendente

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

85

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

1/20

19 196 25 315 321 143 37 375 79 347 376 218 30 213 385 231 206 151 367 171 313

1/19

19 25 196 315 321 143 37 375 79 347 376 218 30 213 385 231 206 151 367 171 313

1/18

19 25 30 315 321 143 37 375 79 347 376 218 196 213 385 231 206 151 367 171 313

1/17

19 25 30 37 321 143 315 375 79 347 376 218 196 213 385 231 206 151 367 171 313

1/16

19 25 30 37 79 143 315 375 321 347 376 218 196 213 385 231 206 151 367 171 313

1/15

19 25 30 37 79 143 315 375 321 347 376 218 196 213 385 231 206 151 367 171 313

1/14

19 25 30 37 79 143 151 375 321 347 376 218 196 213 385 231 206 315 367 171 313

1/13

19 25 30 37 79 143 151 171 321 347 376 218 196 213 385 231 206 315 367 375 313

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.33

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

Selection Sort descendente

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

1/20

385 196 25 315 321 143 37 375 79 347 376 218 30 213 19 231 206 151 367 171 313

1/19

385 376 25 315 321 143 37 375 79 347 196 218 30 213 19 231 206 151 367 171 313

1/18

385 376 375 315 321 143 37 25 79 347 196 218 30 213 19 231 206 151 367 171 313

1/17

385 376 375 367 321 143 37 25 79 347 196 218 30 213 19 231 206 151 315 171 313

1/16

385 376 375 367 347 143 37 25 79 321 196 218 30 213 19 231 206 151 315 171 313

1/15

385 376 375 367 347 321 37 25 79 143 196 218 30 213 19 231 206 151 315 171 313

1/14

385 376 375 367 347 321 315 25 79 143 196 218 30 213 19 231 206 151 37 171 313

1/13

385 376 375 367 347 321 315 313 79 143 196 218 30 213 19 231 206 151 37 171 25

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-07-05
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 eliminar
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 polif
asico para 3 vas de entrada con las 7 particiones
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 tama
no 4.
e. Cu
al 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 que pueden llegar
a 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 Ingeniera
Universidad de Buenos Aires
2010-07-12

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Seleccion de reemplazo . . . . . . . . . . .
2.1.1. Desarrollo . . . . . . . . . . . . . . . .
2.1.2. Salida final . . . . . . . . . . . . . . .
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . .
2.2.1. Inserci
on . . . . . . . . . . . . . . . .
2.2.2. Eliminacion . . . . . . . . . . . . . . .
2.3. c. Radix Sort . . . . . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.4. c. Quick Sort . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . .
2.5. c. Heap Sort . . . . . . . . . . . . . . . . . . .

2.5.1. Arbol
inicial . . . . . . . . . . . . . .
2.6. d. Merge Polif
asico . . . . . . . . . . . . . . .
2.6.1. C
alculo de la distribuci
on de columnas
2.6.2. Distribucion inicial . . . . . . . . . . .
2.7. e. Pregunta teorica . . . . . . . . . . . . . . .
2.7.1. Respuesta . . . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
7
7
8
8
8
8
8
9
11
11
11
11
13

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico completo con particiones formadas de 1 elemento
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.10.1. C
alculo de la distribuci
on de columnas y dummies . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

13
13
13
14
14
15
15
30
30
45
46
46
46
46
46
46
48
48
48
48
50
50
50
50
55
55

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.
y
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.11. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . . . . . . . .
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 2
3.12.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.14.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.16.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.18.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.20.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.22.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.24.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.26.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

55
55
55
61
61
62
62
62
64
64
65
65
65
66
66
67
67
67
68
68
68
70
70
70
70
70
72
72
72
73
73
73
73
75
75
75
76
76
76
78
78
78
78
78
78
79
80
80
80

Facultad de Ingeniera


INDICE

3.27. Seleccion Natural con buffers de tama


no 6 . . . . . . . . . . .
3.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . .
3.28. Merge Polif
asico de las salidas por seleccion natural de buffers
3.28.1. C
alculo de la distribuci
on de columnas y dummies . .
3.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . .
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . .
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . .
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . .
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . .
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . .
3.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

Enrique P. Calot

. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
80
81
82
82
82
83
83
84
84
85
85
86
86
87
87
88
88

n II
Algoritmos y Programacio

1 Enunciado

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 tama


no 5.
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar 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 ascendente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursividad).
d. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
e. por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion de
reemplazo con un buffer que mide el doble (tama
no del original + tama
no del auxiliar)?

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

2.1.1.

b. Ejercicio de B-trees

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.
b1
b2
b3
b4
b5
Sale

Nada
366

Nada
366
225

Nada
366
225
108

Nada
366
225
108
233

Nada
366
225
108
233
59
59
366
225
108
233
68
68
366
225
108
233
98
98
366
225
108
233
344
108
366
225
91
233
344
225
366
254
91
233
344
233
366
254
91
353
344
254
366
65
91
353
344
344
366
65
91
353
196
353
366
65
91
198
196
366
48
65
91
198
196
Nueva
partici
on!
Se
cierra
la
partici
on
{59, 68, 98, 108, 225, 233, 254, 344, 353, 366}
48
179
65
91
198
196
65
179
128
91
198
196
91
179
128
104
198
196
104
179
128
205
198
196
128
179
106
205
198
196
179
281
106
205
198
196
196
281
106
205
198

198
281
106
205

205
281
106

281

106

Nueva
partici
on!
Se
cierra
la
partici
on
{48, 65, 91, 104, 128, 179, 196, 198, 205, 281}
106
Finaliza la u
ltima partici
on en p3 = {106}

2.1.2.

Entra
366
225
108
233
59
68
98
344
91
254
353
65
196
198
48
p1

179
128
104
205
106
281
Nada
Nada
Nada
Nada
p2

Nada

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 luego
eliminar los siguientes:
196, 179 , 205
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
Enrique P. Calot

n II
Algoritmos y Programacio

2.2

b. Ejercicio de B-trees

2.2.1.

Inserci
on
225
59108

233366

Inserci
on de 5 elementos: 366, 225, 108, 233, 59
225
596898108

233344366

Inserci
on de 3 elementos: 68, 98, 344
91225
5968

98108

233344366

Inserci
on de 1 elemento: 91
91225344
5968

98108

233254 353366

Inserci
on de 2 elementos: 254, 353
91179225344
48596568

98108

196198 233254 353366

Inserci
on de 5 elementos: 65, 196, 198, 48, 179
91179225344
48596568

98104108128

196198 233254 353366

Inserci
on de 2 elementos: 128, 104
179
91106
48596568

98104

108128

225344
196198205

233254281

353366

Inserci
on de 3 elementos: 205, 106, 281

2.2.2.

Eliminaci
on
91106225344
48596568

98104

108128198205

233254281

353366

Eliminacion de 2 elementos: 196, 179


91106225344
48596568

98104

108128198

233254281

353366

Eliminacion de 1 elemento: 205

n II
Algoritmos y Programacio

Facultad de Ingeniera

2.3

2.3.

c. Radix Sort

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
366
225
108
233
059
068
098
344
091
254
353
065
196
198
048
179
128
104
205
106
281

2.4.

Paso 1
091
281
233
353
344
254
104
225
065
205
366
196
106
108
068
098
198
048
128
059
179

Paso 2
104
205
106
108
225
128
233
344
048
353
254
059
065
366
068
179
281
091
196
098
198

Paso 3
048
059
065
068
091
098
104
106
108
128
179
196
198
205
225
233
254
281
344
353
366

c. Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.4.1.

2.5.

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

c. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


Enrique P. Calot

n II
Algoritmos y Programacio

2.5

c. Heap Sort

2.5.1.

Arbol
inicial

366
225
233
344

108
59

91

254

68

98

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 asociado
Heapfy paso 0
366
225

108

233
344

59
91

254

68

98

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
344

59
205

281

68

98

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.5

c. Heap Sort

366
225
344
233

108
353

205

281

196

198

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
344
233

198
281

205

254

196

108

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
344
233

198
281

205

254

196

108

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

n II
Algoritmos y Programacio

2.6

d. Merge Polif
asico

11

225
353
344
233

198
281

205

254

196

108

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: u
ltimo congelado pedido antes del corte

2.6.

d. Merge Polif
asico

Desarrollar 2 fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones ordenadas tomadas del lote de datos.
2.6.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
2.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

2.7.

e. Pregunta te
orica

por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion de
reemplazo con un buffer que mide el doble (tama
no del original + tama
no del auxiliar)?
Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.7

E1
D
D
D
D
108
68
91
65
198
179
104
106
281

E2
D
D
D
366
233
98
254
196
48
128
205

E3
D
D
D
225
59
344
353

e. Pregunta te
orica

Cuadro 2: Fase 1

E1
D
D
D
D
108
68
91
E1
65
198
179
104
106
281

E2
D
D
D
366
233
98
254
E2
196
48
128
205

E3
D
D
D
225
59
344
353
S

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353

Cuadro 3: Fase 2

Enrique P. Calot

n II
Algoritmos y Programacio

3 Resoluci
on explayada

E1
D
D
D
D
108
68
91
E1
65
198
179
104
E1
106
281

13

E2
D
D
D
366
233
98
254
E2
196
48
128
205
S

E3
D
D
D
225
59
344
353
S
65, 196
48, 198
128, 179
104, 205, 225, 366
E2
65, 196
48, 198
128, 179
104, 205, 225, 366

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
E3
59, 108, 233
68, 98, 344
91, 254, 353

Cuadro 4: Fase 3

2.7.1.

Respuesta

Porque el buffer auxiliar est


a en disco. La memoria interna es mas cara que la memoria en disco por
lo que justifica incrementarla.

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

3.2

Paso 0
366
225
108
233
059
068
098
344
091
254
353
065
196
198
048
179
128
104
205
106
281

3.2.

Paso 1
059
179
108
068
098
198
048
128
366
196
106
225
065
205
344
254
104
233
353
091
281

Paso 2
098
198
196
091
281
179
068
366
065
059
254
353
048
344
233
128
225
108
106
205
104

Quick Sort completo

Paso 3
366
353
344
281
254
233
225
205
198
196
179
128
108
106
104
098
091
068
065
059
048

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

Paso 5

68 48 65 91 59 98

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
Final

344 353

106 233 254 205 108 196 198 225 179 128

108 128

198 196 205 225

48 59 65 68 91 98 104 106 108 128 179 196 198 205 225 233 254 281 344 353 366

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.

15

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).


3.3.1.

Arbol
inicial
366
225
233
344

108
59

91

254

68

98

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 asociado


Heapfy paso 0
366
225

108

233
344

59
91

254

68

98

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
233
344

108
59

205

281

68

98

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

Heap Sort completo

Heapfy paso 2
366
225
344
233

108
353

205

281

196

198

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
344
233

198
281

205

254

196

108

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
344
233

198
281

205

254

196

108

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

225
353
344
233

198
281

205

254

196

108

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
233
225

198
281

205

254

196

108

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
233
225

198
281

205

254

196

108

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

344
281
233
225

198
254

205

106

196

108

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
233
225

198
254

205

106

196

108

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
233
225

198
106

205

91

196

108

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

104
254
233
225

198
106

205

91

196

108

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
225
179

198
106

205

91

196

108

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
225
179

198
106

205

91

196

108

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

233
225
205
179

198
106

128

91

196

108

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
205
179

198
106

128

91

196

108

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
179
104

198
106

128

91

196

108

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

48
205
179
104

198
106

128

91

196

108

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
128
104

198
106

48

91

196

108

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
128
104

198
106

48

91

196

108

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

198
179
128
104

196
106

48

91

98

108

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
128
104

196
106

48

91

98

108

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
128
104

108
106

48

91

98

68

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

65
179
128
104

108
106

48

91

98

68

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
104
65

108
106

48

91

98

68

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
104
65

108
106

48

91

98

68

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

128
106
104
65

108
91

48

59

98

68

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
104
65

108
91

48

128

98

68

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
104
65

98
91

48

128

59

68

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

48
106
104
65

98
91

108

128

59

68

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
65
48

98
91

108

128

59

68

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
65
106

98
91

108

128

59

68

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

104
91
65
106

98
48

108

128

59

68

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
65
106

98
48

108

128

59

104

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
65
106

68
48

108

128

59

104

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

59
91
65
106

68
48

108

128

98

104

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
59
106

68
48

108

128

98

104

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
59
106

68
91

108

128

98

104

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

68
65
59
106

48
91

108

128

98

104

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
68
106

48
91

108

128

98

104

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
68
106

48
91

108

128

98

104

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

48
59
68
106

65
91

108

128

98

104

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
68
106

65
91

108

128

98

104

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
68
106

65
91

108

128

98

104

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.4

Heap Sort descendente

48
59
68
106

65
91

108

128

98

104

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
233
344

108
59

91

254

68

98

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 asociado
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

366
225

108

233
344

59
91

254

68

98

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
128

59
91

106

68

98

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
128

59
104

106

65

48

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

Heap Sort descendente

366
59

48

91
128

106
104

225

65

98

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
91
128

65
106

104

225

68

98

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
91
128

65
106

104

225

68

98

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

59
91
104
128

65
106

205

225

68

98

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
104
128

65
106

205

68

98

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
104
128

68
106

205

196

98

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

281
91
104
128

68
106

205

196

98

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
104
128

98
106

205

196

108

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
104
128

98
106

205

196

108

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

91
104
128
179

98
106

205

196

108

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
128
179

98
106

205

196

108

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
128
179

108
106

205

196

198

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

233
104

108

128
179

106

205

196

198

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
179

225

205

196

198

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
179

205

225

196

198

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

106
128

108

179
281

225

205

196

198

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
281

225

205

196

198

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
179
281

205

196
225

254

198

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

344
128

196

179
281

225

205

254

198

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
281

225

344

254

198

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
281

344

225

254

198

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

179
205

196

281
366

225

344

254

198

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
366

225

344

254

198

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
281
366

344

198
225

254

353

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

233
205

198

281
366

225

344

254

353

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
366

225

344

254

353

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
366

198

225

254

353

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

205
225

233

281
366

344

198

254

353

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
205

344

198

254

353

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
366
205

198

233
344

254

353

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

353
281

233

366
205

344

198

254

225

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
205

344

198

353

225

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
205

198

344

233

225

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

254
281

353

366
205

344

198

233

225

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
205

254

198

233

225

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
366
205

198

353
254

233

225

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

366
344

353

281
205

254

198

233

225

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
205

254

198

233

225

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
205

198

254

233

225

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

45

353
366

344

281
205

254

198

233

225

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
205

254

198

233

225

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
281
205

198

344
254

233

225

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.6

Fases
0
1

c1
1
1

c2
0
1

Merge Polif
asico de las particiones marcadas

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 5: Calculo de la distribuci


on de columnas y dummies
E1
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E2
48, 65, 91, 104, 128,
179, 196, 198, 205,
281

E3
106

Cuadro 6: Fase 1
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

E1
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E2
48, 65, 91, 104, 128,
179, 196, 198, 205,
281

E3
106

E2

E3

47

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
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
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<7
Si
Si
Si
No

Cuadro 8: Calculo de la distribuci


on de columnas y dummies

E1
D
68, 98, 344
48, 65, 179, 196, 198
106, 205, 281

E2
D
91
104, 128

E3
59, 108, 225, 233, 366
254, 353

Cuadro 9: Fase 1
E1
D
68, 98, 344

E2
D
91

E3
59, 108, 225, 233, 366
254, 353

E1
48, 65, 179, 196, 198
106, 205, 281

E2
104, 128

S
59, 108, 225, 233, 366
68, 91, 98, 254, 344,
353
E3
59, 108, 225, 233, 366
68, 91, 98, 254, 344,
353

Cuadro 10: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
68, 98, 344

E2
D
91

E3
59, 108, 225, 233, 366
254, 353

E1
48, 65, 179, 196, 198

E2
104, 128

E1
106, 205, 281

S
48, 59, 65, 104,
128, 179, 196,
225, 233, 366
E2
48, 59, 65, 104,
128, 179, 196,
225, 233, 366

Fases
0
1
2
3
4
5

Cuadro 11: Fase 3


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17
13 11 7
31

108,
198,

108,
198,

S
59, 108, 225, 233, 366
68, 91, 98, 254, 344,
353
E3
59, 108, 225, 233, 366

E3
68, 91, 98, 254, 344,
353

< 21
Si
Si
Si
Si
Si
No

Cuadro 12: Calculo de la distribuci


on de columnas y dummies
3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
108
68
91
65
198
179
104
106
281

E2
D
D
D
366
233
98
254
196
48
128
205

E3
D
D
D
225
59
344
353

49

Cuadro 13: Fase 1

E1
D
D
D
D
108
68
91
E1
65
198
179
104
106
281

E2
D
D
D
366
233
98
254
E2
196
48
128
205

E3
D
D
D
225
59
344
353
S

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353

Cuadro 14: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.9

E1
D
D
D
D
108
68
91
E1
65
198
179
104
E1
106
281

E2
D
D
D
366
233
98
254
E2
196
48
128
205
S

Merge Polif
asico con particiones formadas de 3 elementos

E3
D
D
D
225
59
344
353
S
65, 196
48, 198
128, 179
104, 205, 225, 366
E2
65, 196
48, 198
128, 179
104, 205, 225, 366

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
E3
59, 108, 233
68, 98, 344
91, 254, 353

Cuadro 15: Fase 3


3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
108
68
91
E1
65
198
179
104
E1
106
281
S

E2
D
D
D
366
233
98
254
E2
196
48
128
205
S
59, 65, 106, 108,
233
48, 68, 98, 198,
344
E1
59, 65, 106, 108,
233
48, 68, 98, 198,
344

51

196,

E3
D
D
D
225
59
344
353
S
65, 196
48, 198
128, 179
104, 205, 225, 366
E2
65, 196

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
E3
59, 108, 233

281,

48, 198

68, 98, 344

196,

E2
128, 179

E3
91, 254, 353

281,

104, 205, 225, 366

Cuadro 16: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.9

E1
D
D
D
D
108
68
91
E1
65
198
179
104
E1
106

E3
D
D
D
225
59
344
353
S
65, 196
48, 198
128, 179
104, 205, 225, 366
E2
65, 196

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
E3
59, 108, 233

48, 198

68, 98, 344

108,
233,

E2
D
D
D
366
233
98
254
E2
196
48
128
205
S
59, 65, 106, 108, 196,
233
48, 68, 98, 198, 281,
344
E1
59, 65, 106, 108, 196,
233

E2
128, 179

E3
91, 254, 353

108,
233,

E1
48, 68, 98, 198, 281,
344

E2
104, 205, 225, 366

281
S
59, 65, 91, 106,
128, 179, 196,
254, 353
E3
59, 65, 91, 106,
128, 179, 196,
254, 353

Merge Polif
asico con particiones formadas de 3 elementos

Cuadro 17: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
108
68
91
E1
65
198
179
104
E1
106

E3
D
D
D
225
59
344
353
S
65, 196
48, 198
128, 179
104, 205, 225, 366
E2
65, 196

S
D
D
D
225, 366
59, 108, 233
68, 98, 344
91, 254, 353
E3
D
D
D
225, 366
E3
59, 108, 233

48, 198

68, 98, 344

108,
233,

E2
D
D
D
366
233
98
254
E2
196
48
128
205
S
59, 65, 106, 108, 196,
233
48, 68, 98, 198, 281,
344
E1
59, 65, 106, 108, 196,
233

E2
128, 179

E3
91, 254, 353

108,
233,

E1
48, 68, 98, 198, 281,
344

E2
104, 205, 225, 366

E1

E2

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E3
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

281
S
59, 65, 91, 106,
128, 179, 196,
254, 353
E3
59, 65, 91, 106,
128, 179, 196,
254, 353

53

Fases
0
1
2
3
4

Cuadro 18: Fase final


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17

< 11
Si
Si
Si
Si
No

Cuadro 19: Calculo de la distribuci


on de columnas y dummies
n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

E1
D
D
225, 366
98, 344
196, 198
104, 128
281

Merge Polif
asico con particiones formadas de 3 elementos

E2
D
D
108, 233
91, 254
48, 179
106, 205

E3
D
D
59, 68
65, 353

Cuadro 20: Fase 1


E1
D
D
225, 366

E2
D
D
108, 233

E3
D
D
59, 68

98, 344

91, 254

65, 353

E1
196, 198
104, 128
281

E2
48, 179
106, 205

S
D
D
59, 68, 108, 225,
366
65, 91, 98, 254,
353
E3
D
D
59, 68, 108, 225,
366
65, 91, 98, 254,
353

233,
344,

233,
344,

Cuadro 21: Fase 2


E1
D
D
225, 366

E2
D
D
108, 233

E3
D
D
59, 68

98, 344

91, 254

65, 353

E1
196, 198
104, 128
E1
281

E2
48, 179
106, 205
S

S
48, 179, 196, 198
104, 106, 128, 205
E2
48, 179, 196, 198

104, 106, 128, 205

S
D
D
59, 68, 108, 225,
366
65, 91, 98, 254,
353
E3
D
D
E3
59, 68, 108, 225,
366
65, 91, 98, 254,
353

233,
344,

233,
344,

Cuadro 22: Fase 3


Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
225, 366

E2
D
D
108, 233

E3
D
D
59, 68

98, 344

91, 254

65, 353

E1
196, 198
104, 128
E1
281

E2
48, 179
106, 205
S
48, 59, 68, 108,
196, 198, 225,
281, 366
E1
48, 59, 68, 108,
196, 198, 225,
281, 366

S
48, 179, 196, 198
104, 106, 128, 205
E2
48, 179, 196, 198

179,
233,

179,
233,

E2
104, 106, 128, 205

55

S
D
D
59, 68, 108, 225, 233,
366
65, 91, 98, 254, 344,
353
E3
D
D
E3
59, 68, 108, 225, 233,
366
E3
65, 91, 98, 254, 344,
353

Cuadro 23: Fase 4

3.10.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.10.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.11.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
3.11.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.
n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
D
225, 366

E2
D
D
108, 233

E3
D
D
59, 68

98, 344

91, 254

65, 353

E1
196, 198
104, 128
E1
281

E2
48, 179
106, 205
S
48, 59, 68, 108,
196, 198, 225,
281, 366
E1
48, 59, 68, 108,
196, 198, 225,
281, 366

S
48, 179, 196, 198
104, 106, 128, 205
E2
48, 179, 196, 198

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

179,
233,

179,
233,

S
D
D
59, 68, 108, 225, 233,
366
65, 91, 98, 254, 344,
353
E3
D
D
E3
59, 68, 108, 225, 233,
366

E2
104, 106, 128, 205

E3
65, 91, 98, 254, 344,
353

E2

E3

Cuadro 24: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 25: Calculo de la distribuci


on de columnas y dummies
E1
D
59, 68, 233
48, 196, 198
106, 205, 281

E2
D
91, 98, 344
104, 128, 179

E3
108, 225, 366
65, 254, 353

Cuadro 26: Fase 1


Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
59, 68, 233

E2
D
91, 98, 344

E3
108, 225, 366
65, 254, 353

E1
48, 196, 198
106, 205, 281

E2
104, 128, 179

57

S
108, 225, 366
59, 65, 68, 91, 98,
233, 254, 344, 353
E3
108, 225, 366
59, 65, 68, 91, 98,
233, 254, 344, 353

Cuadro 27: Fase 2

E1
D
59, 68, 233

E2
D
91, 98, 344

E3
108, 225, 366
65, 254, 353

E1
48, 196, 198

E2
104, 128, 179

E1
106, 205, 281

S
48,
179,
366
E2
48,
179,
366

104, 108, 128,


196, 198, 225,

104, 108, 128,


196, 198, 225,

S
108, 225, 366
59, 65, 68, 91, 98,
233, 254, 344, 353
E3
108, 225, 366

E3
59, 65, 68, 91, 98,
233, 254, 344, 353

Cuadro 28: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
59, 68, 233

E2
D
91, 98, 344

E3
108, 225, 366
65, 254, 353

E1
48, 196, 198

E2
104, 128, 179

E1
106, 205, 281

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
48,
179,
366
E2
48,
179,
366

104, 108, 128,


196, 198, 225,

104, 108, 128,


196, 198, 225,

E2

S
108, 225, 366
59, 65, 68, 91, 98,
233, 254, 344, 353
E3
108, 225, 366

E3
59, 65, 68, 91, 98,
233, 254, 344, 353

E3

Cuadro 29: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 30: Calculo de la distribuci


on de columnas y dummies

E1
D
108, 225, 233, 366
48, 179, 196, 198
281

E2
D
59, 68, 98, 344
104, 106, 128, 205

E3
D
65, 91, 254, 353

Cuadro 31: Fase 1

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
108, 225, 233, 366

E2
D
59, 68, 98, 344

E3
D
65, 91, 254, 353

E1
48, 179, 196, 198
281

E2
104, 106, 128, 205

59

S
D
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366
E3
D
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366

Cuadro 32: Fase 2

E1
D
108, 225, 233, 366

E2
D
59, 68, 98, 344

E3
D
65, 91, 254, 353

E1
48, 179, 196, 198

E2
104, 106, 128, 205

E1
281

S
48,
179,
E2
48,
179,

104, 106, 128,


196, 198, 205
104, 106, 128,
196, 198, 205

S
D
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366
E3
D
E3
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366

Cuadro 33: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
108, 225, 233, 366

E2
D
59, 68, 98, 344

E3
D
65, 91, 254, 353

E1
48, 179, 196, 198

E2
104, 106, 128, 205

E1
281

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
48,
179,
E2
48,
179,

104, 106, 128,


196, 198, 205
104, 106, 128,
196, 198, 205

E2

S
D
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366
E3
D
E3
59, 65, 68, 91, 98,
108, 225, 233, 254,
344, 353, 366

E3

Cuadro 34: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 2

61

b1
b2
Sale
Entra

Nada
366
366

Nada
225
366
225
225
108
366
108
366
233
233
108
Nueva partici
on! Se cierra la partici
on p1 = {225, 366}
108
59
233
59
233
68
68
59
Nueva partici
on! Se cierra la partici
on p2 = {108, 233}
59
98
68
98
68
344
344
98
98
91
344
91
344
254
254
91
Nueva partici
on! Se cierra la partici
on p3 = {59, 68, 98, 344}
91
353
254
353
254
65
65
353
353
196
65
196
Nueva partici
on! Se cierra la partici
on p4 = {91, 254, 353}
65
198
198
196
196
48
198
48
198
179
179
48
Nueva partici
on! Se cierra la partici
on p5 = {65, 196, 198}
48
128
179
128
128
104
179
104
179
205
205
104
205
106
106
104
Nueva partici
on! Se cierra la partici
on p6 = {48, 128, 179, 205}
104
281
106
281
106
Nada

281
281
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.13

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

Selecci
on Natural con buffers de tama
no 2
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<7
Si
Si
Si
No

Cuadro 35: Calculo de la distribuci


on de columnas y dummies
E1
D
108, 233
65, 196, 198
104, 106, 281

E2
D
59, 68, 98, 344
48, 128, 179, 205

E3
225, 366
91, 254, 353

Cuadro 36: Fase 1


3.12.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.12.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.13.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.

E1
D
108, 233

E2
D
59, 68, 98, 344

E3
225, 366
91, 254, 353

E1
65, 196, 198
104, 106, 281

E2
48, 128, 179, 205

S
225, 366
59, 68, 91, 98, 108,
233, 254, 344, 353
E3
225, 366
59, 68, 91, 98, 108,
233, 254, 344, 353

Cuadro 37: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

E1
D
108, 233

E2
D
59, 68, 98, 344

E3
225, 366
91, 254, 353

E1
65, 196, 198

E2
48, 128, 179, 205

E1
104, 106, 281

S
48, 65, 128, 179, 196,
198, 205, 225, 366
E2
48, 65, 128, 179, 196,
198, 205, 225, 366

63

S
225, 366
59, 68, 91, 98, 108,
233, 254, 344, 353
E3
225, 366
E3
59, 68, 91, 98, 108,
233, 254, 344, 353

Cuadro 38: Fase 3

E1
D
108, 233

E2
D
59, 68, 98, 344

E3
225, 366
91, 254, 353

E1
65, 196, 198

E2
48, 128, 179, 205

E1
104, 106, 281

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
48, 65, 128, 179, 196,
198, 205, 225, 366
E2
48, 65, 128, 179, 196,
198, 205, 225, 366

E2

S
225, 366
59, 68, 91, 98, 108,
233, 254, 344, 353
E3
225, 366
E3
59, 68, 91, 98, 108,
233, 254, 344, 353

E3

Cuadro 39: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

3.13.1.

Selecci
on Natural con buffers de tama
no 2

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p4 = {48, 128, 179, 205}
104
281
281
106

106
Nada
281

281
Nada
Finaliza la u
ltima partici
on 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

n II
Algoritmos y Programacio

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

65

<5
Si
Si
No

Cuadro 40: Calculo de la distribuci


on de columnas y dummies
E1
225, 233, 366
48, 128, 179, 205

E2
59, 68, 98, 108, 254,
344, 353
104, 106, 281

E3
65, 91, 196, 198

Cuadro 41: Fase 1

3.14.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.14.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.14.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

E1
225, 233, 366

E2
59, 68, 98, 108, 254,
344, 353

E3
65, 91, 196, 198

E1
48, 128, 179, 205

E2
104, 106, 281

S
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366

Cuadro 42: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.15

Selecci
on de reemplazo con buffer de tama
no 3

E1
225, 233, 366

E2
59, 68, 98, 108, 254,
344, 353

E3
65, 91, 196, 198

E1
48, 128, 179, 205

E2
104, 106, 281

E2

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3

Cuadro 43: Fase final

3.15.

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.

3.15.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.16

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 3

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 partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
p2
{59, 68, 91, 98, 254, 344, 353}
65
48
198
196
48
196
179
198
179
48
198
128
128
179
48
Nueva partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
p4
{48, 104, 128, 179, 205, 281}
106
Nada
Finaliza la u
ltima partici
on en p5 = {106}

3.15.2.

67

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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.16.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.17

Fases
0
1
2

c1
1
1
2

c2
0
1
2

Selecci
on Natural con buffers de tama
no 3
P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

Cuadro 44: Calculo de la distribuci


on de columnas y dummies
E1
108, 225, 233, 366
48, 104, 128, 179,
205, 281

E2
59, 68, 91, 98, 254,
344, 353
106

E3
65, 196, 198

Cuadro 45: Fase 1


3.16.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

3.17.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.
3.17.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

E1
108, 225, 233, 366

E2
59, 68, 91, 98, 254,
344, 353

E3
65, 196, 198

E1
48, 104, 128, 179,
205, 281

E2
106

S
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366

Cuadro 46: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Selecci
on Natural con buffers de tama
no 3

69

E1
108, 225, 233, 366

E2
59, 68, 91, 98, 254,
344, 353

E3
65, 196, 198

E1
48, 104, 128, 179,
205, 281

E2
106

E2

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3
59, 65, 68, 91, 98,
108, 196, 198, 225,
233, 254, 344, 353,
366
E3

Cuadro 47: Fase final


a3
Sale

Nada

Nada

Nada

108

225

Nada

Nada
98
233
98
366

p1 = {108, 225, 233, 366}


59
344
68
98

68
344
91
98

91
344
254
98

98
344
254
353

254
344

353
65

Nada
344

353
65
196

Nada
344

353
65
196
198
344

353
65
196
198
353
65
196
198

Nueva partici
on! Se cierra la partici
on p2 = {59, 68, 91, 98, 254, 344, 353}
65

196
198
48

Nada
179
196
198
48

179

196
198
48
128

Nada

196
198
48
128
104
196

198
48
128
104
198
48
128
104

Nueva partici
on! Se cierra la partici
on p3 = {65, 179, 196, 198}
48
205
128
104

104
205
128
106

106
205
128
281

128
205

281

205

281

281
Algoritmos y Programacion II
Finaliza la u
ltima partici
on en p4 = {48, 104, 106, 128, 205, 281}
b1

366
366
366
366
366
366
366
366
59
Nueva

b2
b3
a1
a2

225

225
108

225
233

233
59

233
59
68

233
59
68

59
68
68
98

partici
on! Se cierra la partici
on

Entra
366
225
108
233
59
68
98
Nada
Nada

344
91
254
353
65
196
198
Nada
Nada

48
179
128
104
Nada
Nada

205
106
281
Nada
Nada
Nada

Facultad de Ingeniera

70

3.18

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

<4
Si
Si
No

Cuadro 48: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
108, 225, 233, 366

65, 179, 196, 198

48, 104, 106, 128,


205, 281

E3
59, 68, 91, 98, 254,
344, 353

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.18.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.18.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.19.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.
Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Selecci
on de reemplazo con buffer de tama
no 4

E1
D

E2
108, 225, 233, 366

E3
59, 68, 91, 98, 254,
344, 353

E1
65, 179, 196, 198

E2
48, 104, 106, 128,
205, 281

71

S
59, 68, 91, 98,
225, 233, 254,
353, 366
E3
59, 68, 91, 98,
225, 233, 254,
353, 366

108,
344,

108,
344,

Cuadro 50: Fase 2

E1
D

E2
108, 225, 233, 366

E3
59, 68, 91, 98, 254,
344, 353

E1
65, 179, 196, 198

E2
48, 104, 106, 128,
205, 281

E2

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
59, 68, 91, 98,
225, 233, 254,
353, 366
E3
59, 68, 91, 98,
225, 233, 254,
353, 366

108,
344,

108,
344,

E3

Cuadro 51: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.20

3.19.1.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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 partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
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
partici
on!
Se
cierra
la
partici
on
p3
{48, 65, 128, 179, 196, 198, 205, 281}
104
Nada

106

106
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.21

Selecci
on Natural con buffers de tama
no 4

Fases
0
1
2

c1
1
1
2

c2
0
1
2

73
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
108, 225, 233, 366

48, 65, 128, 179, 196,


198, 205, 281

104, 106

E3
59, 68, 91, 98, 254,
344, 353

Cuadro 53: Fase 1


3.20.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.20.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.21.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
3.21.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.
E1
D

E2
108, 225, 233, 366

E3
59, 68, 91, 98, 254,
344, 353

E1
48, 65, 128, 179, 196,
198, 205, 281

E2
104, 106

S
59, 68, 91, 98,
225, 233, 254,
353, 366
E3
59, 68, 91, 98,
225, 233, 254,
353, 366

108,
344,

108,
344,

Cuadro 54: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.21

Selecci
on Natural con buffers de tama
no 4

E1
D

E2
108, 225, 233, 366

E3
59, 68, 91, 98, 254,
344, 353

E1
48, 65, 128, 179, 196,
198, 205, 281

E2
104, 106

E2

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
E1
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366

S
59, 68, 91, 98,
225, 233, 254,
353, 366
E3
59, 68, 91, 98,
225, 233, 254,
353, 366

108,
344,

108,
344,

E3

Cuadro 55: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

b1
b2
b3
b4
a1
a2
a3
a4
Sale

Nada
366

Nada
366
225

Nada
366
225
108

Nada
366
225
108
233

108
366
225

233
59

Nada
366
225

233
59
68

Nada
366
225

233
59
68
98

Nada
366
225
344
233
59
68
98

225
366

344
233
59
68
98
91
233
366

344

59
68
98
91
344
366

59
68
98
91
366
59
68
98
91

Nueva partici
on! Se cierra la partici
on p1 = {108, 225, 233, 344, 366}
59
254
68
98
91

68
254
353
98
91

91
254
353
98

65

Nada
254
353
98
196
65

98
254
353
198
196
65

196
254
353
198

65
48

Nada
254
353
198

65
48
179

Nada
254
353
198

65
48
179
128
198
254
353

65
48
179
128
254

353

65
48
179
128
353
65
48
179
128

Nueva partici
on! Se cierra la partici
on p2 = {59, 68, 91, 98, 196, 198, 254, 353}
48
65
104
179
128

65
205
104
179
128

104
205
106
179
128

106
205
281
179
128

128
205
281
179

179
205
281

205

281

281
Finaliza la u
ltima partici
on en p3 = {48, 65, 104, 106, 128, 179, 205, 281}

3.21.2.

75

Entra
366
225
108
233
59
68
98
344
91
Nada
Nada
Nada

254
353
65
196
198
48
179
128
Nada
Nada
Nada

104
205
106
281
Nada
Nada
Nada
Nada

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.22.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.23

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

Selecci
on Natural con buffers de tama
no 5
P3

i=1 ci

1
3

<3
Si
No

Cuadro 56: Calculo de la distribuci


on de columnas y dummies

E1
108, 225, 233, 344,
366

E2
59, 68, 91, 98, 196,
198, 254, 353

E3
48, 65, 104, 106, 128,
179, 205, 281

Cuadro 57: Fase 1

3.22.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.23.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

3.23.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.23

Selecci
on Natural con buffers de tama
no 5

E1
108, 225, 233, 344,
366

E2
59, 68, 91, 98, 196,
198, 254, 353

E3
48, 65, 104, 106, 128,
179, 205, 281

E2

E3

77

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
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

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

59

68

98

108
91

Nada
91

225
91

233
91
65

Nada
91
65
196

Nada
91
65
196
198

Nada
91
65
196
198
48
254
91
65
196
198
48
344
91
65
196
198
48
353
91
65
196
198
48
366

p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366}
48
91
65
196
198
179

65
91
128
196
198
179

91
104
128
196
198
179

104
205
128
196
198
179

128
205

196
198
179
106

Nada
205
281
196
198
179
106

179
205
281
196
198

106

196
205
281

198

106

198
205
281

106

205

281

106

281
106

Nueva partici
on! Se cierra la partici
on p2 = {48, 65, 91, 104, 128, 179, 196, 198, 205, 281}
106
Finaliza la u
ltima partici
on en p3 = {106}
b1

366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
91
Nueva

b2
b3
b4
b5

225

225
108

225
108
233

225
108
233
59
225
108
233
68
225
108
233
98
225
108
233
344
225

233
344
225
254
233
344
353
254
233
344
353
254

344
353
254

344
353
254

344
353
254

344
353

344
353

65
196
198
48
partici
on! Se cierra la partici
on

n II
Algoritmos y Programacio

Entra
366
225
108
233
59
68
98
344
91
254
353
65
196
198
48
Nada
Nada
Nada
Nada

179
128
104
205
106
281
Nada
Nada
Nada
Nada
Nada

Nada

Facultad de Ingeniera

78

3.24

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

Cuadro 59: Calculo de la distribuci


on de columnas y dummies
E1
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E2
48, 65, 91, 104, 128,
179, 196, 198, 205,
281

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.24.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.24.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.25.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.25.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.25

Selecci
on de reemplazo con buffer de tama
no 6

E1
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E2
48, 65, 91, 104, 128,
179, 196, 198, 205,
281

E3
106

E2

E3

79

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
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

366

366
225

366
225
108

366
225
108
233

366
225
108
233
59

366
225
108
233
59
68
366
225
108
233
98
68
366
225
108
233
98
344
366
225
108
233
91
344
366
225
254
233
91
344
366
353
254
233
91
344
366
353
254
65
91
344
366
353
196
65
91
344
366
353
196
65
91
198
366
48
196
65
91
198
179
48
196
65
91
198
Nueva
partici
on!
Se
cierra
la
{59, 68, 98, 108, 225, 233, 254, 344, 353, 366}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
59
68
98
108
225
233
254
344
353
366

Entra
366
225
108
233
59
68
98
344
91
254
353
65
196
198
48
179

partici
on

p1

48
179
128
196
65
91
198
65
179
128
196
104
91
198
91
179
128
196
104
205
198
104
179
128
196
106
205
198
106
179
128
196
281
205
198
128
179

196
281
205
198
179

196
281
205
198
196

281
205
198
198

281
205

205

281

281
Finaliza
la
u
ltima
partici
on
en
{48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}

3.25.2.

128
104
205
106
281
Nada
Nada
Nada
Nada
Nada
Nada
p2

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.26

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 62: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E3
48, 65, 91, 104, 106,
128, 179, 196, 198,
205, 281

Cuadro 63: Fase 1

3.26.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.26.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.26.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.27.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.27.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.27

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E3
48, 65, 91, 104, 106,
128, 179, 196, 198,
205, 281

E2

E3

81

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
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

366

366
225

366
225
108

366
225
108
233
366
225
108
233
366
225
108
233
366
225
108
233
366
225
108
233
366
225
108
233
366
225
108
233
366
225
353
233
366

353
233
366

353
233
366

353
233
366

353
233
366

353
233
366

353

366

353

366

353

366

91
65
196
198
Nueva partici
on! Se cierra la

b5
b6
a1
a2
a3
a4
a5
a6

59

59
68

98
68

98
344

344
91

254
344
91

254
344
91

254
344
91
65

254
344
91
65
196

254
344
91
65
196
198

254
344
91
65
196
198
48

254
344
91
65
196
198
48
179
254
344
91
65
196
198
48
179

344
91
65
196
198
48
179

91
65
196
198
48
179

91
65
196
198
48
179
48
179

partici
on p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366}

91
65
196
198
128
179

91
104
196
198
128
179

205
104
196
198
128
179

205
106
196
198
128
179

205
281
196
198
128
179

205
281
196
198

179

205
281
196
198

205
281

198

205
281

281

Finaliza la u
ltima partici
on en p2 = {48, 65, 91, 104, 106, 128, 179, 196, 198, 205, 281}

3.27.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
59
68
98
Nada
108
225
Nada
Nada
Nada
Nada
233
254
344
353
366

Entra
366
225
108
233
59
68
98
344
91
254
353
65
196
198
48
179
Nada
Nada
Nada
Nada
Nada

48
65
91
104
106
128
179
196
198
205
281

128
104
205
106
281
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {59, 68, 98, 108, 225, 233, 254, 344, 353, 366};
n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.28

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 65: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.28.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.28.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort ascendente

83

E1
D

E2
59, 68, 98, 108, 225,
233, 254, 344, 353,
366

E3
48, 65, 91, 104, 106,
128, 179, 196, 198,
205, 281

E2

E3

S
48, 59, 65, 68, 91, 98,
104, 106, 108, 128,
179, 196, 198, 205,
225, 233, 254, 281,
344, 353, 366
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

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

20/20

225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 366

16/19

108 225 59 68 98 233 91 254 344 65 196 198 48 179 128 104 205 106 281 353 366

14/18

108 59 68 98 225 91 233 254 65 196 198 48 179 128 104 205 106 281 344 353 366

13/17

59 68 98 108 91 225 233 65 196 198 48 179 128 104 205 106 254 281 344 353 366

10/16

59 68 98 91 108 225 65 196 198 48 179 128 104 205 106 233 254 281 344 353 366

10/15

59 68 91 98 108 65 196 198 48 179 128 104 205 106 225 233 254 281 344 353 366

6/14

59 68 91 98 65 108 196 48 179 128 104 198 106 205 225 233 254 281 344 353 366

6/13

59 68 91 65 98 108 48 179 128 104 196 106 198 205 225 233 254 281 344 353 366

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.30

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

Bubble Sort descendente

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

16/20

366 225 233 108 68 98 344 91 254 353 65 196 198 59 179 128 104 205 106 281 48

14/19

366 233 225 108 98 344 91 254 353 68 196 198 65 179 128 104 205 106 281 59 48

11/18

366 233 225 108 344 98 254 353 91 196 198 68 179 128 104 205 106 281 65 59 48

11/17

366 233 225 344 108 254 353 98 196 198 91 179 128 104 205 106 281 68 65 59 48

11/16

366 233 344 225 254 353 108 196 198 98 179 128 104 205 106 281 91 68 65 59 48

11/15

366 344 233 254 353 225 196 198 108 179 128 104 205 106 281 98 91 68 65 59 48

8/14

366 344 254 353 233 225 198 196 179 128 108 205 106 281 104 98 91 68 65 59 48

3/13

366 344 353 254 233 225 198 196 179 128 205 108 281 106 104 98 91 68 65 59 48

3/12

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

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort ascendente

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

85

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

20/20

225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281 366

16/20

48 225 108 233 59 68 98 344 91 254 353 65 196 198 104 179 128 106 205 281 366

15/18

48 108 225 59 68 98 233 91 254 344 65 196 198 104 179 128 106 205 281 353 366

12/18

48 59 108 225 65 68 98 233 91 254 344 104 196 198 106 179 128 205 281 353 366

12/16

48 59 108 65 68 98 225 91 233 254 104 196 198 106 179 128 205 281 344 353 366

8/16

48 59 65 108 68 91 98 225 104 233 254 106 196 198 128 179 205 281 344 353 366

10/14

48 59 65 68 91 98 108 104 225 233 106 196 198 128 179 205 254 281 344 353 366

5/14

48 59 65 68 91 98 104 108 106 225 233 128 196 198 179 205 254 281 344 353 366

6/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.32

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

Bilateral Bubble Sort descendente

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

16/20

366 225 233 108 68 98 344 91 254 353 65 196 198 59 179 128 104 205 106 281 48

17/20

366 353 225 233 108 68 98 344 91 254 281 65 196 198 59 179 128 104 205 106 48

13/18

366 353 233 225 108 98 344 91 254 281 68 196 198 65 179 128 104 205 106 59 48

13/18

366 353 344 233 225 108 98 281 91 254 205 68 196 198 65 179 128 104 106 59 48

9/16

366 353 344 233 225 108 281 98 254 205 91 196 198 68 179 128 104 106 65 59 48

8/16

366 353 344 281 233 225 108 254 98 205 198 91 196 179 68 128 106 104 65 59 48

8/14

366 353 344 281 233 225 254 108 205 198 98 196 179 91 128 106 104 68 65 59 48

5/14

366 353 344 281 254 233 225 205 108 198 196 98 179 128 91 106 104 68 65 59 48

6/12

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

n II
Algoritmos y Programacio

3.33

Selection Sort ascendente

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

87

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

1/20

48 225 108 233 59 68 98 344 91 254 353 65 196 198 366 179 128 104 205 106 281

1/19

48 59 108 233 225 68 98 344 91 254 353 65 196 198 366 179 128 104 205 106 281

1/18

48 59 65 233 225 68 98 344 91 254 353 108 196 198 366 179 128 104 205 106 281

1/17

48 59 65 68 225 233 98 344 91 254 353 108 196 198 366 179 128 104 205 106 281

1/16

48 59 65 68 91 233 98 344 225 254 353 108 196 198 366 179 128 104 205 106 281

1/15

48 59 65 68 91 98 233 344 225 254 353 108 196 198 366 179 128 104 205 106 281

1/14

48 59 65 68 91 98 104 344 225 254 353 108 196 198 366 179 128 233 205 106 281

1/13

48 59 65 68 91 98 104 106 225 254 353 108 196 198 366 179 128 233 205 344 281

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

88

3.34

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

Selection Sort descendente

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

1/20

366 225 108 233 59 68 98 344 91 254 353 65 196 198 48 179 128 104 205 106 281

1/19

366 353 108 233 59 68 98 344 91 254 225 65 196 198 48 179 128 104 205 106 281

1/18

366 353 344 233 59 68 98 108 91 254 225 65 196 198 48 179 128 104 205 106 281

1/17

366 353 344 281 59 68 98 108 91 254 225 65 196 198 48 179 128 104 205 106 233

1/16

366 353 344 281 254 68 98 108 91 59 225 65 196 198 48 179 128 104 205 106 233

1/15

366 353 344 281 254 233 98 108 91 59 225 65 196 198 48 179 128 104 205 106 68

1/14

366 353 344 281 254 233 225 108 91 59 98 65 196 198 48 179 128 104 205 106 68

1/13

366 353 344 281 254 233 225 205 91 59 98 65 196 198 48 179 128 104 108 106 68

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-07-12
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 tama
no 5.
b. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminar
los 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 Sort
en orden ascendente (hacer al menos 1 swapdown) y Radix Sort en orden ascendente (entero).
d. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones ordenadas
tomadas del lote de datos.
e. por que existe el algoritmo de seleccion natural con un buffer auxiliar y no se hace seleccion de reemplazo
con un buffer que mide el doble (tama
no del original + tama
no 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 Ingeniera
Universidad de Buenos Aires
2010-07-19

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Seleccion de reemplazo . . . . . . . . . . .
2.1.1. Desarrollo . . . . . . . . . . . . . . . .
2.1.2. Salida final . . . . . . . . . . . . . . .
2.2. b. Pregunta teorica . . . . . . . . . . . . . . .
2.2.1. Respuesta . . . . . . . . . . . . . . . .
2.3. c. Ejercicio de B-trees . . . . . . . . . . . . .
2.3.1. Inserci
on . . . . . . . . . . . . . . . .
2.3.2. Eliminacion . . . . . . . . . . . . . . .
2.4. d. Merge Polif
asico . . . . . . . . . . . . . . .
2.4.1. C
alculo de la distribuci
on de columnas
2.4.2. Distribucion inicial . . . . . . . . . . .
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.6. e. Quick Sort . . . . . . . . . . . . . . . . . .
2.6.1. Desarrollo . . . . . . . . . . . . . . . .
2.7. e. Heap Sort . . . . . . . . . . . . . . . . . . .

2.7.1. Arbol
inicial . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
6
7
7
8
8
8
8
8
8
11
11
11
11

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico completo con particiones formadas de 1 elemento
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.10.1. C
alculo de la distribuci
on de columnas y dummies . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

13
14
14
14
15
15
15
30
31
46
46
46
46
47
47
49
49
49
49
54
54
54
54
56
56
56

Enrique P. Calot

.
.
.
.
.
.
.
.
.
y
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.11. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . . . . . . . .
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 2
3.12.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.14.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.16.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.18.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.20.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.22.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.24.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.26.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

56
61
61
62
62
63
63
63
65
65
66
66
66
67
67
68
68
68
69
69
69
71
71
71
71
71
73
73
73
73
74
74
74
76
76
76
76
76
76
78
78
78
78
78
78
79
80
80
80

Facultad de Ingeniera


INDICE

3.27. Seleccion Natural con buffers de tama


no 6 . . . . . . . . . . .
3.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . .
3.28. Merge Polif
asico de las salidas por seleccion natural de buffers
3.28.1. C
alculo de la distribuci
on de columnas y dummies . .
3.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . .
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . .
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . .
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . .
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . .
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . .
3.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

Enrique P. Calot

. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
80
81
82
82
82
83
83
84
84
85
85
86
86
87
87
88
88

n II
Algoritmos y Programacio

1 Enunciado

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 tama


no 5.
b. Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elemento
buscan el mnimo/m
aximo 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
eliminar 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 polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero), Heap Sort en orden ascendente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursividad).

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

2.1.1.

b. Pregunta te
orica

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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
partici
on!
Se
cierra
la
partici
on
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
partici
on!
Se
cierra
la
partici
on
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 u
ltima partici
on 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 te
orica

Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elemento
buscan el mnimo/m
aximo 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.
2.2.1.

Respuesta

Ambos algoritmos buscan el maximo/mnimo n veces y lo congelan, la diferencia principal es que


Insertion sort hace n b
usquedas secuenciales (de orden n) y Heap sort hace n b
usquedas binarias (de
Enrique P. Calot

n II
Algoritmos y Programacio

2.3

c. Ejercicio de B-trees

orden log2 n). El resultado es un orden O(n2 ) para el Insertion y un O(n log2 n) para el Heap sort. La
condici
on para que Heap supere en tiempo a Insertion es que n sea lo suficientemente grande como para
que la diferencia en el orden se haga significativa (n2 n log2 n) y justifique hacer el procedimiento de
heapify.

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 luego
eliminar los siguientes:
238, 221 , 275
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.3.1.

Inserci
on
290
30182

340394

Inserci
on de 5 elementos: 30, 290, 182, 340, 394
290
30118133182

340374394

Inserci
on de 3 elementos: 133, 118, 374
119290
30118

133182

340374394

Inserci
on de 1 elemento: 119
119290374
30118

133182 340353 376394

Inserci
on de 2 elementos: 353, 376
119221290374
233060118

133182 238272 340353 376394

Inserci
on de 5 elementos: 272, 221, 238, 23, 60
119221290374
233060118

133145182193

238272 340353 376394

Inserci
on de 2 elementos: 145, 193
221
119172
233060118

133145 182193

290374
238272275

340353357

376394

Inserci
on de 3 elementos: 275, 172, 357
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.4

2.3.2.

d. Merge Polif
asico

Eliminaci
on
119172290374
233060118

133145

182193272275

340353357

376394

Eliminacion de 2 elementos: 238, 221


119172290374
233060118

133145

182193272

340353357

376394

Eliminacion de 1 elemento: 275

2.4.

d. Merge Polif
asico

Desarrollar 2 fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones ordenadas tomadas del lote de datos.
2.4.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
2.4.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) 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
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

2.5

e. Radix Sort

E1
D
D
D
D
182
133
119
272
238
60
193
172
357

E2
D
D
D
30
340
118
353
221
23
145
275

E3
D
D
D
290
394
374
376

Cuadro 2: Fase 1

E1
D
D
D
D
182
133
119
E1
272
238
60
193
172
357

E2
D
D
D
30
340
118
353
E2
221
23
145
275

E3
D
D
D
290
394
374
376
S

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
182, 340,
118, 133,
119, 353,

394
374
376

394
374
376

Cuadro 3: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.5

E1
D
D
D
D
182
133
119
E1
272
238
60
193
E1
172
357

E2
D
D
D
30
340
118
353
E2
221
23
145
275
S

E3
D
D
D
290
394
374
376
S
221, 272
23, 238
60, 145
30, 193, 275, 290
E2
221, 272
23, 238
60, 145
30, 193, 275, 290

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
E3
182, 340,
118, 133,
119, 353,

e. Radix Sort

394
374
376

394
374
376

Cuadro 4: Fase 3

Paso 0
030
290
182
340
394
133
118
374
119
353
376
272
221
238
023
060
145
193
275
172
357
Enrique P. Calot

Paso 1
030
290
340
060
221
182
272
172
133
353
023
193
394
374
145
275
376
357
118
238
119

Paso 2
118
119
221
023
030
133
238
340
145
353
357
060
272
172
374
275
376
182
290
193
394

Paso 3
023
030
060
118
119
133
145
172
182
193
221
238
272
275
290
340
353
357
374
376
394
n II
Algoritmos y Programacio

2.6

e. Quick Sort

2.6.

11

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

2.7.

23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394

e. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).

2.7.1.

Arbol
inicial

30
290
340
374

182
394

119

353

133

118

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 asociado
Heapfy paso 0
n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.7

e. Heap Sort

30
290

182

340
374

394
119

353

133

118

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
374

394
275

357

133

118

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
340

394
275

357

272

238

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

n II
Algoritmos y Programacio

3 Resoluci
on explayada

13

30
394

272

374
340

376
275

357

221

238

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
340

357
275

353

221

238

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
374
340

272
357

275

353

221

238

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: u
ltimo congelado pedido antes del corte

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
n II
Algoritmos y Programacio

Facultad de Ingeniera

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
030
290
182
340
394
133
118
374
119
353
376
272
221
238
023
060
145
193
275
172
357

3.2.

Paso 1
119
118
238
357
376
145
275
394
374
133
353
023
193
182
272
172
221
030
290
340
060

Paso 2
394
193
290
182
376
275
374
272
172
060
357
353
145
340
238
133
030
023
221
119
118

Paso 3
394
376
374
357
353
340
290
275
272
238
221
193
182
172
145
133
119
118
060
030
023

Quick Sort completo

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.2.1.

15

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

145 172

275 272 221 238 290 340

Paso 6
Paso 7
Final

3.3.

357 374 376 394


357 374 376

238 272 221 275 290

374 376

23 30 60 118 119 133 145 172 182 193 221 238 272 275 290 340 353 357 374 376 394

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).

3.3.1.

Arbol
inicial

30
290
340
374

182
394

119

353

133

118

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 asociado
Heapfy paso 0
n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

Heap Sort completo

30
290

182

340
374

394
119

353

133

118

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
374

394
275

357

133

118

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
340

394
275

357

272

238

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

30
394

272

374
340

376
275

357

221

238

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
374
340

272
357

275

353

221

238

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
374
340

272
357

275

353

221

238

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

376
374
340
145

272
357

275

353

221

238

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
340
145

272
357

275

353

221

238

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
340
145

275

272
353
172

221

238

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

119
357
340
145

272
353

275

172

221

238

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
340
145

272
290

275

172

221

238

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
340
145

275

272
290
172

221

238

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

353
340
275
145

272
290

193

172

221

238

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
275
145

272
290

193

172

221

238

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
275
145

272
172

193

30

221

238

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

60
290
275
145

272
172

193

30

221

238

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
193
145

272
172

60

30

221

238

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
193
145

272
172

60

30

221

238

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

275
193
145
23

272
172

60

30

221

238

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
145
23

272
172

60

30

221

238

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
145
23

238
172

60

30

221

118

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

182
193
145
23

238
172

60

30

221

118

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
145
23

221
172

60

30

182

118

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
145
23

221
172

60

30

182

118

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

221
193
145
23

182
172

60

30

133

118

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
145
23

182
172

60

30

133

118

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
145
23

182
119

60

30

133

118

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

30
172
145
23

182
119

60

193

133

118

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
145
23

133
119

60

193

30

118

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
145
23

133
119

182

193

30

118

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

172
145
60
23

133
119

182

193

30

118

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
60
172

133
119

182

193

30

118

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
60
172

133
23

182

193

30

118

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

118
119
60
172

133
23

182

193

30

145

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
60
172

118
23

182

193

30

145

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
60
172

118
23

182

193

133

145

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

119
60
30
172

118
23

182

193

133

145

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
30
172

118
119

182

193

133

145

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
30
172

23
119

182

193

133

145

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

30
60
118
172

23
119

182

193

133

145

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
118
172

23
119

182

193

133

145

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
118
172

60
119

182

193

133

145

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.4

Heap Sort descendente

30
23
118
172

60
119

182

193

133

145

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
118
172

60
119

182

193

133

145

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
118
172

60
119

182

193

133

145

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.1.

31

Arbol
inicial

30
290
340
374

182
394

119

353

133

118

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 asociado
Heapfy paso 0
30
290

182

340
374

394
119

353

133

118

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
60

394
119

172

133

118

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

Heap Sort descendente

30
290

182

60
145

172
119

353

133

23

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
145

172
193

353

133

118

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
119
145

30
172

193

353

133

118

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

357
60
119
145

30
172

193

353

133

118

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
119
145

118
172

193

353

133

182

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
119
145

118
172

193

133

182

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

60
119
145
340

118
172

193

133

182

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
145
340

118
172

193

133

182

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
145
340

133
172

193

221

182

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

290
119
145
340

133
172

193

221

182

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
193
340

133
172

290

221

182

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
193
340

133
172

290

221

182

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

133
145
193
340

182
172

290

221

238

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
193
340

182
172

290

221

238

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
193
340

182
353

290

221

238

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

357
172
193
340

182
353

290

221

238

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
290
340

182
353

357

221

238

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
290
340

182
353

357

221

238

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

182
193
290
340

221
353

357

272

238

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
290
340

221
353

357

272

238

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
290
340

221
353

357

272

238

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

394
275
290
340

221
353

357

272

238

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
290
340

238
353

357

272

394

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
290
340

238
353

357

272

394

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

238
275
290
340

272
353

357

376

394

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
290
340

272
353

357

376

394

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
290
340

374
353

357

376

394

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

357
275
290
340

374
353

272

376

394

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
340
357

374
353

272

376

394

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
340
275

374
353

272

376

394

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

290
340
357
275

374
353

272

376

394

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
357
275

374
353

272

376

290

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
357
275

374
394

272

376

290

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

376
353
357
275

374
394

272

340

290

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
376
275

374
394

272

340

290

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
376
275

374
353

272

340

290

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

357
376
394
275

374
353

272

340

290

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
357
275

374
353

272

340

290

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
357
275

394
353

272

340

290

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

45

394
376
357
275

374
353

272

340

290

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
357
275

374
353

272

340

290

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
357
275

374
353

272

340

290

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 5: Calculo de la distribuci


on de columnas y dummies
E1
30, 133, 182, 290,
340, 353, 374, 376,
394

E2
118, 119, 221, 238,
272, 275

E3
23, 60, 145, 172, 193,
357

Cuadro 6: Fase 1

394
376
357
275

374
353

272

340

290

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes de ordenadar los subgrupos del lote de datos separados por .
Enrique P. Calot

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

47

E1
30, 133, 182, 290,
340, 353, 374, 376,
394

E2
118, 119, 221, 238,
272, 275

E3
23, 60, 145, 172, 193,
357

E2

E3

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 8: Calculo de la distribuci


on 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

E1
D
118, 133, 374
23, 60, 221, 238, 272
172, 275, 357

E2
D
119
145, 193

E3
30, 182, 290, 340, 394
353, 376

Cuadro 9: Fase 1
n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.6

Merge Polif
asico de las particiones marcadas

E1
D
118, 133, 374

E2
D
119

E3
30, 182, 290, 340, 394
353, 376

E1
23, 60, 221, 238, 272
172, 275, 357

E2
145, 193

S
30, 182, 290, 340, 394
118, 119, 133, 353,
374, 376
E3
30, 182, 290, 340, 394
118, 119, 133, 353,
374, 376

Cuadro 10: Fase 2

E1
D
118, 133, 374

E2
D
119

E3
30, 182, 290, 340, 394
353, 376

E1
23, 60, 221, 238, 272

E2
145, 193

E1
172, 275, 357

S
23, 30, 60, 145,
193, 221, 238,
290, 340, 394
E2
23, 30, 60, 145,
193, 221, 238,
290, 340, 394

182,
272,

182,
272,

S
30, 182, 290, 340, 394
118, 119, 133, 353,
374, 376
E3
30, 182, 290, 340, 394

E3
118, 119, 133, 353,
374, 376

Cuadro 11: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

49

< 21
Si
Si
Si
Si
Si
No

Cuadro 12: Calculo de la distribuci


on de columnas y dummies
E1
D
D
D
D
182
133
119
272
238
60
193
172
357

E2
D
D
D
30
340
118
353
221
23
145
275

E3
D
D
D
290
394
374
376

Cuadro 13: Fase 1

3.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas de 2 elementos cada una tomadas del lote de datos.
n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.8

E1
D
D
D
D
182
133
119
E1
272
238
60
193
172
357

E2
D
D
D
30
340
118
353
E2
221
23
145
275

Merge Polif
asico con particiones formadas de 2 elementos

E3
D
D
D
290
394
374
376
S

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
182, 340,
118, 133,
119, 353,

394
374
376

394
374
376

Cuadro 14: Fase 2

E1
D
D
D
D
182
133
119
E1
272
238
60
193
E1
172
357

E2
D
D
D
30
340
118
353
E2
221
23
145
275
S

E3
D
D
D
290
394
374
376
S
221, 272
23, 238
60, 145
30, 193, 275, 290
E2
221, 272
23, 238
60, 145
30, 193, 275, 290

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
E3
182, 340,
118, 133,
119, 353,

394
374
376

394
374
376

Cuadro 15: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
182
133
119
E1
272
238
60
193
E1
172
357
S

E2
D
D
D
30
340
118
353
E2
221
23
145
275
S
172,
340,
23,
357,
E1
172,
340,
23,
357,

182, 221, 272,


394
118, 133, 238,
374
182, 221, 272,
394
118, 133, 238,
374

51

E3
D
D
D
290
394
374
376
S
221, 272
23, 238
60, 145
30, 193, 275, 290
E2
221, 272

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
E3
182, 340,

23, 238

118, 133, 374

E2
60, 145

E3
119, 353, 376

30, 193, 275, 290

394
374
376

394

Cuadro 16: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.8

E1
D
D
D
D
182
133
119
E1
272
238
60
193
E1
172
357
S
60,
182,
353,
E3
60,
182,
353,

119, 145, 172,


221, 272, 340,
376, 394
119, 145, 172,
221, 272, 340,
376, 394

E2
D
D
D
30
340
118
353
E2
221
23
145
275
S
172,
340,
23,
357,
E1
172,
340,

Merge Polif
asico con particiones formadas de 2 elementos

182, 221, 272,


394
118, 133, 238,
374
182, 221, 272,
394

E1
23, 118, 133, 238,
357, 374

E3
D
D
D
290
394
374
376
S
221, 272
23, 238
60, 145
30, 193, 275, 290
E2
221, 272

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
E3
182, 340,

23, 238

118, 133, 374

E2
60, 145

E3
119, 353, 376

E2
30, 193, 275, 290

394
374
376

394

Cuadro 17: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
182
133
119
E1
272
238
60
193
E1
172
357
S
60,
182,
353,
E3
60,
182,
353,

119, 145, 172,


221, 272, 340,
376, 394
119, 145, 172,
221, 272, 340,
376, 394

E2
D
D
D
30
340
118
353
E2
221
23
145
275
S
172,
340,
23,
357,
E1
172,
340,

53

E3
D
D
D
290
394
374
376
S
221, 272
23, 238
60, 145
30, 193, 275, 290
E2
221, 272

S
D
D
D
30, 290
182, 340,
118, 133,
119, 353,
E3
D
D
D
30, 290
E3
182, 340,

23, 238

118, 133, 374

E2
60, 145

E3
119, 353, 376

E1
23, 118, 133, 238,
357, 374

E2
30, 193, 275, 290

E1

E2

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E3
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

182, 221, 272,


394
118, 133, 238,
374
182, 221, 272,
394

394
374
376

394

Cuadro 18: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

Merge Polif
asico con particiones formadas de 3 elementos

Fases
0
1
2
3
4

c1
1
1
2
4
7

c2
0
1
2
3
6

c3
0
1
1
2
4

P3

i=1 ci

1
3
5
9
17

< 11
Si
Si
Si
Si
No

Cuadro 19: Calculo de la distribuci


on de columnas y dummies
E1
D
D
30, 290
118, 374
221, 238
145, 193
357

E2
D
D
182, 340
119, 353
23, 60
172, 275

E3
D
D
133, 394
272, 376

Cuadro 20: Fase 1


Por ejemplo p1 = {30, 290}; p2 = {182, 340}; . . . ; p10 = {172, 275}; p11 = {357}.
3.8.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
30, 290

E2
D
D
182, 340

E3
D
D
133, 394

118, 374

119, 353

272, 376

E1
221, 238
145, 193
357

E2
23, 60
172, 275

55

S
D
D
30,
340,
118,
374,
E3
D
D
30,
340,
118,
374,

133, 182, 290,


394
119, 272, 353,
376

133, 182, 290,


394
119, 272, 353,
376

Cuadro 21: Fase 2

E1
D
D
30, 290

E2
D
D
182, 340

E3
D
D
133, 394

118, 374

119, 353

272, 376

E1
221, 238
145, 193
E1
357

E2
23, 60
172, 275
S

S
23, 60, 221, 238
145, 172, 193, 275
E2
23, 60, 221, 238

145, 172, 193, 275

S
D
D
30,
340,
118,
374,
E3
D
D
E3
30,
340,
118,
374,

133, 182, 290,


394
119, 272, 353,
376

133, 182, 290,


394
119, 272, 353,
376

Cuadro 22: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
30, 290

E2
D
D
182, 340

E3
D
D
133, 394

118, 374

119, 353

272, 376

E1
221, 238
145, 193
E1
357

E2
23, 60
172, 275
S
23, 30, 60, 133,
221, 238, 290,
357, 394
E1
23, 30, 60, 133,
221, 238, 290,
357, 394

S
23, 60, 221, 238
145, 172, 193, 275
E2
23, 60, 221, 238

182,
340,

182,
340,

E2
145, 172, 193, 275

S
D
D
30,
340,
118,
374,
E3
D
D
E3
30,
340,

133, 182, 290,


394
119, 272, 353,
376

133, 182, 290,


394

E3
118, 119, 272, 353,
374, 376

Cuadro 23: Fase 4


3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.10.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.10.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
30, 290

E2
D
D
182, 340

E3
D
D
133, 394

118, 374

119, 353

272, 376

E1
221, 238
145, 193
E1
357

E2
23, 60
172, 275
S
23, 30, 60, 133,
221, 238, 290,
357, 394
E1
23, 30, 60, 133,
221, 238, 290,
357, 394

S
23, 60, 221, 238
145, 172, 193, 275
E2
23, 60, 221, 238

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

182,
340,

182,
340,

57

S
D
D
30,
340,
118,
374,
E3
D
D
E3
30,
340,

133, 182, 290,


394
119, 272, 353,
376

133, 182, 290,


394

E2
145, 172, 193, 275

E3
118, 119, 272, 353,
374, 376

E2

E3

Cuadro 24: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 25: Calculo de la distribuci


on de columnas y dummies
E1
D
133, 340, 394
23, 221, 238
172, 275, 357

E2
D
118, 119, 374
60, 145, 193

E3
30, 182, 290
272, 353, 376

Cuadro 26: Fase 1


n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
133, 340, 394

E2
D
118, 119, 374

E3
30, 182, 290
272, 353, 376

E1
23, 221, 238
172, 275, 357

E2
60, 145, 193

S
30, 182, 290
118, 119, 133,
340, 353, 374,
394
E3
30, 182, 290
118, 119, 133,
340, 353, 374,
394

272,
376,

272,
376,

Cuadro 27: Fase 2

E1
D
133, 340, 394

E2
D
118, 119, 374

E3
30, 182, 290
272, 353, 376

E1
23, 221, 238

E2
60, 145, 193

E1
172, 275, 357

S
23, 30, 60, 145, 182,
193, 221, 238, 290
E2
23, 30, 60, 145, 182,
193, 221, 238, 290

S
30, 182, 290
118, 119, 133, 272,
340, 353, 374, 376,
394
E3
30, 182, 290
E3
118, 119, 133, 272,
340, 353, 374, 376,
394

Cuadro 28: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
133, 340, 394

E2
D
118, 119, 374

E3
30, 182, 290
272, 353, 376

E1
23, 221, 238

E2
60, 145, 193

E1
172, 275, 357

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

S
23, 30, 60, 145, 182,
193, 221, 238, 290
E2
23, 30, 60, 145, 182,
193, 221, 238, 290

E2

59

S
30, 182, 290
118, 119, 133, 272,
340, 353, 374, 376,
394
E3
30, 182, 290
E3
118, 119, 133, 272,
340, 353, 374, 376,
394

E3

Cuadro 29: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 30: Calculo de la distribuci


on de columnas y dummies

E1
D
30, 182, 290, 340
23, 60, 221, 238
357

E2
D
118, 133, 374, 394
145, 172, 193, 275

E3
D
119, 272, 353, 376

Cuadro 31: Fase 1

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
30, 182, 290, 340

E2
D
118, 133, 374, 394

E3
D
119, 272, 353, 376

E1
23, 60, 221, 238
357

E2
145, 172, 193, 275

S
D
30,
182,
353,
E3
D
30,
182,
353,

118, 119, 133,


272, 290, 340,
374, 376, 394

118, 119, 133,


272, 290, 340,
374, 376, 394

Cuadro 32: Fase 2

E1
D
30, 182, 290, 340

E2
D
118, 133, 374, 394

E3
D
119, 272, 353, 376

E1
23, 60, 221, 238

E2
145, 172, 193, 275

E1
357

S
23, 60, 145, 172, 193,
221, 238, 275
E2
23, 60, 145, 172, 193,
221, 238, 275

S
D
30, 118, 119, 133,
182, 272, 290, 340,
353, 374, 376, 394
E3
D
E3
30, 118, 119, 133,
182, 272, 290, 340,
353, 374, 376, 394

Cuadro 33: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
30, 182, 290, 340

E2
D
118, 133, 374, 394

E3
D
119, 272, 353, 376

E1
23, 60, 221, 238

E2
145, 172, 193, 275

E1
357

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

S
23, 60, 145, 172, 193,
221, 238, 275
E2
23, 60, 145, 172, 193,
221, 238, 275

E2

61

S
D
30, 118, 119, 133,
182, 272, 290, 340,
353, 374, 376, 394
E3
D
E3
30, 118, 119, 133,
182, 272, 290, 340,
353, 374, 376, 394

E3

Cuadro 34: Fase final

3.11.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.

3.11.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.12

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on p1 = {30, 182, 290, 340, 394}
118
374
133
374
133
119
119
374
374
353
119
353
Nueva partici
on! Se cierra la partici
on p2 = {118, 133, 374}
119
376
376
353
353
272
376
272
376
221
221
272
Nueva partici
on! Se cierra la partici
on p3 = {119, 353, 376}
221
238
238
272
238
23
23
272
272
60
23
60
Nueva partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p5 = {23, 60, 145, 193, 275, 357}
172
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

63
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 35: Calculo de la distribuci


on de columnas y dummies
E1
D
30, 182, 290, 340, 394
221, 238, 272
172

E2
D
118, 133, 374
23, 60, 145, 193, 275,
357

E3
D
119, 353, 376

Cuadro 36: Fase 1


3.12.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.12.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.13.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
30, 182, 290, 340, 394

E2
D
118, 133, 374

E3
D
119, 353, 376

E1
221, 238, 272

E2
23, 60, 145, 193, 275,
357

172

S
D
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394
E3
D
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394

Cuadro 37: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Selecci
on Natural con buffers de tama
no 2

E1
D
30, 182, 290, 340, 394

E2
D
118, 133, 374

E3
D
119, 353, 376

E1
221, 238, 272

E2
23, 60, 145, 193, 275,
357
S

S
23, 60, 145, 193, 221,
238, 272, 275, 357
E2
23, 60, 145, 193, 221,
238, 272, 275, 357

E1
172

S
D
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394
E3
D
E3
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394

Cuadro 38: Fase 3

E1
D
30, 182, 290, 340, 394

E2
D
118, 133, 374

E3
D
119, 353, 376

E1
221, 238, 272

E2
23, 60, 145, 193, 275,
357
S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

S
23, 60, 145, 193, 221,
238, 272, 275, 357
E2
23, 60, 145, 193, 221,
238, 272, 275, 357

E1
172

E2

S
D
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394
E3
D
E3
30, 118, 119, 133,
182, 290, 340, 353,
374, 376, 394

E3

Cuadro 39: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

3.13.1.

65

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p4 = {23, 60, 145, 193, 275, 357}
172
Nada
Finaliza la u
ltima partici
on 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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

Cuadro 40: Calculo de la distribuci


on de columnas y dummies
E1
30, 182, 290, 340, 394
23, 60, 145, 193, 275,
357

E2
118, 133, 353, 374,
376
172

E3
119, 221, 238, 272

Cuadro 41: Fase 1

3.14.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.14.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.14.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

E1
30, 182, 290, 340, 394

E2
118, 133, 353, 374,
376

E3
119, 221, 238, 272

E1
23, 60, 145, 193, 275,
357

E2
172

S
30,
182,
290,
376,
E3
30,
182,
290,
376,

118, 119, 133,


221, 238, 272,
340, 353, 374,
394
118, 119, 133,
221, 238, 272,
340, 353, 374,
394

Cuadro 42: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.15

Selecci
on de reemplazo con buffer de tama
no 3

E1
30, 182, 290, 340, 394

E2
118, 133, 353, 374,
376

E3
119, 221, 238, 272

E1
23, 60, 145, 193, 275,
357

E2
172

E2

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

67

S
30,
182,
290,
376,
E3
30,
182,
290,
376,

118, 119, 133,


221, 238, 272,
340, 353, 374,
394
118, 119, 133,
221, 238, 272,
340, 353, 374,
394

E3

Cuadro 43: Fase final

3.15.

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.

3.15.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.16

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 3

b2
b3
Sale
Entra

Nada
30

Nada
290
290

Nada
182
290
182
30
340
290
182
182
394
290
394
290
133
133
394
340
118
133
394
394
374
133
374
partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
p2
=
{118, 119, 133, 353, 374, 376}
221
23
272
238
23
238
60
272
60
23
272
145
145
60
23
Nueva partici
on! Se cierra la partici
on 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 u
ltima partici
on en p4 = {23, 60, 145, 172, 193, 275, 357}
b1

30
30
30
340
340
340
118
118
Nueva

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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.16.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Selecci
on Natural con buffers de tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

69
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 44: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
30, 182, 290, 340, 394

221, 238, 272

23, 60, 145, 172, 193,


275, 357

E3
118, 119, 133, 353,
374, 376

Cuadro 45: Fase 1

3.16.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.17.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.

3.17.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

E1
D

E2
30, 182, 290, 340, 394

E3
118, 119, 133, 353,
374, 376

E1
221, 238, 272

E2
23, 60, 145, 172, 193,
275, 357

S
30,
182,
374,
E3
30,
182,
374,

118, 119, 133,


290, 340, 353,
376, 394
118, 119, 133,
290, 340, 353,
376, 394

Cuadro 46: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.17

Selecci
on Natural con buffers de tama
no 3

E1
D

E2
30, 182, 290, 340, 394

E3
118, 119, 133, 353,
374, 376

E1
221, 238, 272

E2
23, 60, 145, 172, 193,
275, 357

E2

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

S
30,
182,
374,
E3
30,
182,
374,

118, 119, 133,


290, 340, 353,
376, 394
118, 119, 133,
290, 340, 353,
376, 394

E3

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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p3 = {23, 60, 145, 193, 221, 238, 275, 357}
172
Nada
Finaliza la u
ltima partici
on en p4 = {172}

Enrique P. Calot

n II
Algoritmos y Programacio

3.18

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

71

<4
Si
Si
No

Cuadro 48: Calculo de la distribuci


on de columnas y dummies
E1
D
23, 60, 145, 193, 221,
238, 275, 357

E2
30, 182, 290, 340,
374, 394
172

E3
118, 119, 133, 272,
353, 376

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.18.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.18.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.19.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.
n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.19

Selecci
on de reemplazo con buffer de tama
no 4

E1
D

E2
30, 182, 290, 340,
374, 394

E3
118, 119, 133, 272,
353, 376

E1
23, 60, 145, 193, 221,
238, 275, 357

E2
172

S
30,
182,
353,
E3
30,
182,
353,

118, 119, 133,


272, 290, 340,
374, 376, 394
118, 119, 133,
272, 290, 340,
374, 376, 394

Cuadro 50: Fase 2

E1
D

E2
30, 182, 290, 340,
374, 394

E3
118, 119, 133, 272,
353, 376

E1
23, 60, 145, 193, 221,
238, 275, 357

E2
172

E2

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
E1
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394

S
30,
182,
353,
E3
30,
182,
353,

118, 119, 133,


272, 290, 340,
374, 376, 394
118, 119, 133,
272, 290, 340,
374, 376, 394

E3

Cuadro 51: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.20

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

3.19.1.

73

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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
partici
on!
Se
cierra
la
partici
on
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
partici
on!
Se
cierra
la
partici
on
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 u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.20.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.21

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

Selecci
on Natural con buffers de tama
no 4
P3

i=1 ci

1
3

<3
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies

E1
30, 182, 290, 340,
374, 394

E2
118, 119, 133, 221,
238, 272, 353, 376

E3
23, 60, 145, 172, 193,
275, 357

Cuadro 53: Fase 1

3.20.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.21.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.

3.21.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.21

Selecci
on Natural con buffers de tama
no 4

E1
30, 182, 290, 340,
374, 394

E2
118, 119, 133, 221,
238, 272, 353, 376

E3
23, 60, 145, 172, 193,
275, 357

E2

E3

75

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p2 = {118, 119, 133, 145, 193, 221, 238, 272, 275, 357}
23
Nada

60
172

60
Nada

172

172
Nada
Finaliza la u
ltima partici
on en p3 = {23, 60, 172}

n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.22

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
30, 182, 290, 340,
353, 374, 376, 394

E2
118, 119, 133, 145,
193, 221, 238, 272,
275, 357

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.22.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.22.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.23.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.
3.23.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.23

Selecci
on Natural con buffers de tama
no 5

E1
30, 182, 290, 340,
353, 374, 376, 394

E2
118, 119, 133, 145,
193, 221, 238, 272,
275, 357

E3
23, 60, 172

E2

E3

77

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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

Nada
30

Nada
30
290

Nada
30
290
182

Nada
30
290
182
340

Nada
30
290
182
340
394

30
133
290
182
340
394

133

290
182
340
394
118

Nada
374
290
182
340
394
118

182
374
290

340
394
118
119

Nada
374
290
353
340
394
118
119

290
374
376
353
340
394
118
119

340
374
376
353

394
118
119
272

Nada
374
376
353

394
118
119
272
221

Nada
374
376
353

394
118
119
272
221
238
353
374
376

394
118
119
272
221
238
374

376

394
118
119
272
221
238
376

394
118
119
272
221
238
394
118
119
272
221
238

Nueva partici
on! Se cierra la partici
on p1 = {30, 133, 182, 290, 340, 353, 374, 376, 394}
118

119
272
221
238
23

Nada

119
272
221
238
23
60

Nada
145
119
272
221
238
23
60

119
145
193
272
221
238
23
60

145
275
193
272
221
238
23
60

193
275

272
221
238
23
60
172

Nada
275
357
272
221
238
23
60
172

221
275
357
272

238
23
60
172

238
275
357
272

23
60
172

272
275
357

23
60
172

275

357

23
60
172

357
23
60
172

Nueva partici
on! Se cierra la partici
on p2 = {118, 119, 145, 193, 221, 238, 272, 275, 357}
23

60
172

60

172

172
Finaliza la u
ltima partici
on en p3 = {23, 60, 172}

n II
Algoritmos y Programacio

Entra
30
290
182
340
394
133
118
374
119
353
376
272
221
238
Nada
Nada
Nada
Nada

23
60
145
193
275
172
357
Nada
Nada
Nada
Nada
Nada

Nada
Nada
Nada

Facultad de Ingeniera

78

3.24

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 58: Calculo de la distribuci


on de columnas y dummies
E1
30, 133, 182, 290,
340, 353, 374, 376,
394

E2
118, 119, 145, 193,
221, 238, 272, 275,
357

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.24.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.24.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.25.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.25.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.25

Selecci
on de reemplazo con buffer de tama
no 6

E1
30, 133, 182, 290,
340, 353, 374, 376,
394

E2
118, 119, 145, 193,
221, 238, 272, 275,
357

E3
23, 60, 172

E2

E3

79

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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
partici
on!
Se
cierra
la
partici
on
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
u
ltima
partici
on
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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.26

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 61: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
30, 118, 133, 182,
290, 340, 353, 374,
376, 394

E3
23, 60, 119, 145, 172,
193, 221, 238, 272,
275, 357

Cuadro 62: Fase 1

3.26.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.26.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.26.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.27.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.27.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.27

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
30, 118, 133, 182,
290, 340, 353, 374,
376, 394

E3
23, 60, 119, 145, 172,
193, 221, 238, 272,
275, 357

E2

E3

81

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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

30

30
290

30
290
182

30
290
182
340

30
290
182
340
394
30
290
182
340
394
118
290
182
340
394
374
290
182
340
394
374
290
182
340
394
374
290
182
340
394
374
290
376
340
394
374

376
340
394
374

376
340
394
374

376
340
394
374

376
340
394
374

376
340
394
374

376

394
374

376

394

376

394

394
119
272
221
238
23
Nueva partici
on! Se cierra la partici
on
119
119
275
275
275
275
275
275
275

Finaliza

3.27.2.

b6
a1
a2
a3
a4
a5
a6

133

133

133

119

353
119

353
119

353
119
272

353
119
272
221

353
119
272
221
238

353
119
272
221
238
23

353
119
272
221
238
23
60
353
119
272
221
238
23
60

119
272
221
238
23
60

119
272
221
238
23
60

119
272
221
238
23
60
60

p1 = {30, 118, 133, 182, 290, 340, 353, 374, 376, 394}

272
221
238
145
60

272
221
238
145
193

272
221
238
145
193

272
221
238
172
193

272
221
238
357
193

272
221
238
357

272

238
357

272

357

357

357

la u
ltima partici
on en p2 = {23, 60, 119, 145, 172, 193, 221, 238, 272, 275, 357}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
30
118
133
Nada
182
290
Nada
Nada
Nada
Nada
340
353
374
376
394

Entra
30
290
182
340
394
133
118
374
119
353
376
272
221
238
23
60
Nada
Nada
Nada
Nada
Nada

23
60
119
145
172
193
221
238
272
275
357

145
193
275
172
357
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {30, 118, 133, 182, 290, 340, 353, 374, 376, 394};
n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.28

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 64: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
30, 118, 133, 182,
290, 340, 353, 374,
376, 394

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.28.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.28.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort ascendente

83

E1
D

E2
30, 118, 133, 182,
290, 340, 353, 374,
376, 394

E3
23, 60, 119, 145, 172,
193, 221, 238, 272,
275, 357

E2

E3

S
23, 30, 60, 118, 119,
133, 145, 172, 182,
193, 221, 238, 272,
275, 290, 340, 353,
357, 374, 376, 394
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

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

17/20

30 182 290 340 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 394

14/19

30 182 290 133 118 340 119 353 374 272 221 238 23 60 145 193 275 172 357 376 394

13/18

30 182 133 118 290 119 340 353 272 221 238 23 60 145 193 275 172 357 374 376 394

12/17

30 133 118 182 119 290 340 272 221 238 23 60 145 193 275 172 353 357 374 376 394

11/16

30 118 133 119 182 290 272 221 238 23 60 145 193 275 172 340 353 357 374 376 394

10/15

30 118 119 133 182 272 221 238 23 60 145 193 275 172 290 340 353 357 374 376 394

7/14

30 118 119 133 182 221 238 23 60 145 193 272 172 275 290 340 353 357 374 376 394

5/13

30 118 119 133 182 221 23 60 145 193 238 172 272 275 290 340 353 357 374 376 394

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.30

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

Bubble Sort descendente

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

19/20

290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357 23

15/19

290 340 394 182 133 374 119 353 376 272 221 238 118 60 145 193 275 172 357 30 23

13/18

340 394 290 182 374 133 353 376 272 221 238 119 118 145 193 275 172 357 60 30 23

12/17

394 340 290 374 182 353 376 272 221 238 133 119 145 193 275 172 357 118 60 30 23

11/16

394 340 374 290 353 376 272 221 238 182 133 145 193 275 172 357 119 118 60 30 23

9/15

394 374 340 353 376 290 272 238 221 182 145 193 275 172 357 133 119 118 60 30 23

6/14

394 374 353 376 340 290 272 238 221 182 193 275 172 357 145 133 119 118 60 30 23

4/13

394 374 376 353 340 290 272 238 221 193 275 182 357 172 145 133 119 118 60 30 23

3/12

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

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort ascendente

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

85

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

17/20

30 182 290 340 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357 394

15/20

23 30 182 290 340 133 118 374 119 353 376 272 221 238 60 145 172 193 275 357 394

13/18

23 30 182 290 133 118 340 119 353 374 272 221 238 60 145 172 193 275 357 376 394

11/18

23 30 60 182 290 133 118 340 119 353 374 272 221 238 145 172 193 275 357 376 394

11/16

23 30 60 182 133 118 290 119 340 353 272 221 238 145 172 193 275 357 374 376 394

8/16

23 30 60 118 182 133 119 290 145 340 353 272 221 238 172 193 275 357 374 376 394

9/14

23 30 60 118 133 119 182 145 290 340 272 221 238 172 193 275 353 357 374 376 394

7/14

23 30 60 118 119 133 145 182 172 290 340 272 221 238 193 275 353 357 374 376 394

6/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.32

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

Bilateral Bubble Sort descendente

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

19/20

290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357 23

17/20

394 290 182 340 376 133 118 374 119 353 357 272 221 238 30 60 145 193 275 172 23

14/18

394 290 340 376 182 133 374 119 353 357 272 221 238 118 60 145 193 275 172 30 23

13/18

394 376 290 340 374 182 133 357 119 353 275 272 221 238 118 60 145 193 172 30 23

11/16

394 376 340 374 290 182 357 133 353 275 272 221 238 119 118 145 193 172 60 30 23

8/16

394 376 374 340 357 290 182 353 133 275 272 238 221 193 119 118 145 172 60 30 23

9/14

394 376 374 357 340 290 353 182 275 272 238 221 193 133 119 145 172 118 60 30 23

6/14

394 376 374 357 353 340 290 275 182 272 238 221 193 172 133 119 145 118 60 30 23

5/12

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

n II
Algoritmos y Programacio

3.33

Selection Sort ascendente

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

87

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

1/20

23 290 182 340 394 133 118 374 119 353 376 272 221 238 30 60 145 193 275 172 357

1/19

23 30 182 340 394 133 118 374 119 353 376 272 221 238 290 60 145 193 275 172 357

1/18

23 30 60 340 394 133 118 374 119 353 376 272 221 238 290 182 145 193 275 172 357

1/17

23 30 60 118 394 133 340 374 119 353 376 272 221 238 290 182 145 193 275 172 357

1/16

23 30 60 118 119 133 340 374 394 353 376 272 221 238 290 182 145 193 275 172 357

1/15

23 30 60 118 119 133 340 374 394 353 376 272 221 238 290 182 145 193 275 172 357

1/14

23 30 60 118 119 133 145 374 394 353 376 272 221 238 290 182 340 193 275 172 357

1/13

23 30 60 118 119 133 145 172 394 353 376 272 221 238 290 182 340 193 275 374 357

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

88

3.34

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

Selection Sort descendente

30 290 182 340 394 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

1/20

394 290 182 340 30 133 118 374 119 353 376 272 221 238 23 60 145 193 275 172 357

1/19

394 376 182 340 30 133 118 374 119 353 290 272 221 238 23 60 145 193 275 172 357

1/18

394 376 374 340 30 133 118 182 119 353 290 272 221 238 23 60 145 193 275 172 357

1/17

394 376 374 357 30 133 118 182 119 353 290 272 221 238 23 60 145 193 275 172 340

1/16

394 376 374 357 353 133 118 182 119 30 290 272 221 238 23 60 145 193 275 172 340

1/15

394 376 374 357 353 340 118 182 119 30 290 272 221 238 23 60 145 193 275 172 133

1/14

394 376 374 357 353 340 290 182 119 30 118 272 221 238 23 60 145 193 275 172 133

1/13

394 376 374 357 353 340 290 275 119 30 118 272 221 238 23 60 145 193 182 172 133

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-07-19
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 tama
no 5.
b. Tanto el algoritmo Heap sort como el Selection Sort son del tipo de seleccion (para cada elemento buscan el
mnimo/m
aximo 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 eliminar
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 polif
asico para 3 vas de entrada con 21 particiones ordenadas
tomadas 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 Ingeniera
Universidad de Buenos Aires
2010-07-26

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Seleccion de reemplazo . . . . . . . . . . .
2.1.1. Desarrollo . . . . . . . . . . . . . . . .
2.1.2. Salida final . . . . . . . . . . . . . . .
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . .
2.2.1. Inserci
on . . . . . . . . . . . . . . . .
2.2.2. Eliminacion . . . . . . . . . . . . . . .
2.3. c. Merge Polif
asico . . . . . . . . . . . . . . .
2.3.1. C
alculo de la distribuci
on de columnas
2.3.2. Distribucion inicial . . . . . . . . . . .
2.4. d. Pregunta teorica . . . . . . . . . . . . . . .
2.4.1. Respuesta . . . . . . . . . . . . . . . .
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.6. e. Heap Sort . . . . . . . . . . . . . . . . . . .

2.6.1. Arbol
inicial . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
y
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . .
3.10.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer
Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
6
6
6
7
7
8
8
8
8
8
10
10
14
14
14

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
tama
no 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

16
17
17
17
18
18
18
33
34
49
49
49
49
50
50
52
52
53
53
53
56
56
56
56
59
59
60
60

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.12.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.13.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.13.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.14.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.15.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.16.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.17.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.17.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.18.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.19.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.19.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.23.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.24.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.25.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.25.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Seleccion Natural con buffers de tama
no 6 . . . . . . . . . . . . . . . . . . . .
3.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 6 . . .
3.27.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
61
61
63
63
64
64
64
64
65
66
66
66
67
67
67
69
69
69
69
69
71
71
71
72
72
72
72
73
74
74
74
74
74
75
76
76
76
76
76
77
78
78
78
78
78
79
80
80

Facultad de Ingeniera


INDICE

3.27.2. Distribucion inicial . . . . .


3.28. Bubble Sort ascendente . . . . . .
3.28.1. Desarrollo . . . . . . . . . .
3.29. Bubble Sort descendente . . . . . .
3.29.1. Desarrollo . . . . . . . . . .
3.30. Bilateral Bubble Sort ascendente .
3.30.1. Desarrollo . . . . . . . . . .
3.31. Bilateral Bubble Sort descendente
3.31.1. Desarrollo . . . . . . . . . .
3.32. Selection Sort ascendente . . . . .
3.32.1. Desarrollo . . . . . . . . . .
3.33. Selection Sort descendente . . . . .
3.33.1. Desarrollo . . . . . . . . . .

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

80
81
81
82
82
83
83
84
84
85
85
86
86

n II
Algoritmos y Programacio

1 Enunciado

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 tama


no 4.
b. Procesar el B-tree cuyo rango v
alido de elementos por nodo es de 2 a 4 (1 a 4 en la raz) resultante
de 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 polif
asico para 3 vas de entrada con 21 particiones
ordenadas 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 s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en
una maquina con una memoria interna comparable a 2p2 sizeof (tElem). Dispone de las siguientes
soluciones:
a) Sort externo: seleccion de reemplazo y merge polif
asico
b) Sort externo: seleccion natural y merge polif
asico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
merge polif
asico

p
2

elementos y

d ) Sort interno: quick sort de pivoteo en el primer elemento


e) Sort interno: quick sort de pivoteo en el u
ltimo elemento
f ) Sort interno: bubble sort
g) Sort interno: heap sort
h) Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente (hacer al menos 1 swapdown).

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.1

a. Selecci
on 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 abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.
2.1.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.
b1
b2
b3
b4
Sale

Nada
220

Nada
220
38

Nada
220
38
163

Nada
220
38
163
388
38
220
258
163
388
163
220
258
123
388
220
140
258
123
388
258
140
357
123
388
357
140
134
123
388
388
140
134
123
369
Nueva
partici
on!
Se
cierra
la
{38, 163, 220, 258, 357, 388}
123
140
134
291
369
134
140
43
291
369
140
216
43
291
369
216
191
43
291
369
291
191
43
16
369
369
191
43
16
209
Nueva
partici
on!
Se
cierra
la
{123, 134, 140, 216, 291, 369}
16
191
43
154
209
43
191
185
154
209
154
191
185
155
209
155
191
185
306
209
185
191
219
306
209
191

219
306
209
209

219
306

219

306

306
Finaliza
la
u
ltima
partici
on
{16, 43, 154, 155, 185, 191, 209, 219, 306}

2.1.2.

Entra
220
38
163
388
258
123
140
357
134
369
partici
on

p1

p2

291
43
216
191
16
209
partici
on

en

154
185
155
306
219
Nada
Nada
Nada
Nada
p3

Salida final

p1 = {38, 163, 220, 258, 357, 388};


Enrique P. Calot

n II
Algoritmos y Programacio

2.2

b. Ejercicio de B-trees

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 v


alido de elementos por nodo es de 2 a 4 (1 a 4 en la raz) resultante
de 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.

Inserci
on
220
38163

258388

Inserci
on de 5 elementos: 220, 38, 163, 388, 258
220
38123140163

258357388

Inserci
on de 3 elementos: 123, 140, 357
134220
38123

140163

258357388

Inserci
on de 1 elemento: 134
134220357
38123

140163 258291 369388

Inserci
on de 2 elementos: 369, 291
134191220357
163843123

140163 209216 258291 369388

Inserci
on de 5 elementos: 43, 216, 191, 16, 209
134191220357
163843123

140154163185

209216 258291 369388

Inserci
on de 2 elementos: 154, 185
191
134155
163843123

140154 163185

220357
209216219

258291306

369388

Inserci
on de 3 elementos: 155, 306, 219

n II
Algoritmos y Programacio

Facultad de Ingeniera

2.3

2.2.2.

c. Merge Polif
asico

Eliminaci
on
134155220357
163843123

140154

163185216219

258291306

369388

Eliminacion de 2 elementos: 191, 209


134155220357
163843123

140154

163185216

258291306

369388

Eliminacion de 1 elemento: 219

2.3.

c. Merge Polif
asico

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
2.3.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
2.3.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

2.4.

d. Pregunta te
orica

Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,
se sabe que s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en
una maquina con una memoria interna comparable a 2p2 sizeof (tElem). Dispone de las siguientes
soluciones:
a. Sort externo: seleccion de reemplazo y merge polif
asico
b. Sort externo: seleccion natural y merge polif
asico
Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

2.4

d. Pregunta te
orica

E1
D
D
D
D
163
123
134
43
191
209
185
306
219

E2
D
D
D
220
388
140
369
216
16
154
155

E3
D
D
D
38
258
357
291

Cuadro 2: Fase 1

E1
D
D
D
D
163
123
134
E1
43
191
209
185
306
219

E2
D
D
D
220
388
140
369
E2
216
16
154
155

E3
D
D
D
38
258
357
291
S

S
D
D
D
38, 220
163, 258,
123, 140,
134, 291,
E3
D
D
D
38, 220
163, 258,
123, 140,
134, 291,

388
357
369

388
357
369

Cuadro 3: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.5

E1
D
D
D
D
163
123
134
E1
43
191
209
185
E1
306
219

E2
D
D
D
220
388
140
369
E2
216
16
154
155
S

E3
D
D
D
38
258
357
291
S
43, 216
16, 191
154, 209
38, 155, 185, 220
E2
43, 216
16, 191
154, 209
38, 155, 185, 220

S
D
D
D
38, 220
163, 258,
123, 140,
134, 291,
E3
D
D
D
38, 220
E3
163, 258,
123, 140,
134, 291,

e. Radix Sort

388
357
369

388
357
369

Cuadro 4: Fase 3
c. Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
polif
asico

p
2

elementos y merge

d. Sort interno: quick sort de pivoteo en el primer elemento


e. Sort interno: quick sort de pivoteo en el u
ltimo elemento
f. Sort interno: bubble sort
g. Sort interno: heap sort
h. Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
2.4.1.

Respuesta

La mejor soluci
on es bubble sort, porque en como maximo 3 recorridas (3p comparaciones) se garantiza
el ordenamiento (del orden de O(p)), el sort externo queda descartado porque es menos optimo y el interno
se puede utilizar (la informacion entra en la memoria interna y se encuentra disponible), selection sort se
descarta por ser de orden O(p2 ) (incluso si el arreglo est
a 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 caso
seran casi de orden O(p2 )).

2.5.

e. Radix Sort

Desarrollar el algoritmo de Radix Sort en orden ascendente (entero).


Enrique P. Calot

n II
Algoritmos y Programacio

2.5

e. Radix Sort

E1
D
D
D
D
163
123
134
E1
43
191
209
185
E1
306
219
S

11

E2
D
D
D
220
388
140
369
E2
216
16
154
155
S
43,
306,
16,
219,
E1
43,
306,
16,
219,

163, 216, 258,


388
123, 140, 191,
357
163, 216, 258,
388
123, 140, 191,
357

E3
D
D
D
38
258
357
291
S
43, 216
16, 191
154, 209
38, 155, 185, 220
E2
43, 216

S
D
D
D
38, 220
163, 258,
123, 140,
134, 291,
E3
D
D
D
38, 220
E3
163, 258,

16, 191

123, 140, 357

E2
154, 209

E3
134, 291, 369

38, 155, 185, 220

388
357
369

388

Cuadro 5: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.5

E1
D
D
D
D
163
123
134
E1
43
191
209
185
E1
306
219
S
43,
209,
306,
E3
43,
209,
306,

134, 154, 163,


216, 258, 291,
369, 388
134, 154, 163,
216, 258, 291,
369, 388

E2
D
D
D
220
388
140
369
E2
216
16
154
155
S
43,
306,
16,
219,
E1
43,
306,

163, 216, 258,


388
123, 140, 191,
357
163, 216, 258,
388

E1
16, 123, 140, 191,
219, 357

e. Radix Sort

E3
D
D
D
38
258
357
291
S
43, 216
16, 191
154, 209
38, 155, 185, 220
E2
43, 216

S
D
D
D
38, 220
163, 258,
123, 140,
134, 291,
E3
D
D
D
38, 220
E3
163, 258,

16, 191

123, 140, 357

E2
154, 209

E3
134, 291, 369

E2
38, 155, 185, 220

388
357
369

388

Cuadro 6: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

2.5

e. Radix Sort

E1
D
D
D
D
163
123
134
E1
43
191
209
185
E1
306
219
S
43,
209,
306,
E3
43,
209,
306,

134, 154, 163,


216, 258, 291,
369, 388
134, 154, 163,
216, 258, 291,
369, 388

13

E2
D
D
D
220
388
140
369
E2
216
16
154
155
S
43,
306,
16,
219,
E1
43,
306,

E3
D
D
D
38
258
357
291
S
43, 216
16, 191
154, 209
38, 155, 185, 220
E2
43, 216

S
D
D
D
38, 220
163, 258,
123, 140,
134, 291,
E3
D
D
D
38, 220
E3
163, 258,

16, 191

123, 140, 357

E2
154, 209

E3
134, 291, 369

E1
16, 123, 140, 191,
219, 357

E2
38, 155, 185, 220

E1

E2

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E3
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

163, 216, 258,


388
123, 140, 191,
357
163, 216, 258,
388

388
357
369

388

Cuadro 7: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.6

2.5.1.

e. Heap Sort

Desarrollo

A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.


Paso 0
220
038
163
388
258
123
140
357
134
369
291
043
216
191
016
209
154
185
155
306
219

2.6.

Paso 1
220
140
291
191
163
123
043
134
154
185
155
216
016
306
357
038
388
258
369
209
219

Paso 2
306
209
216
016
219
220
123
134
038
140
043
154
155
357
258
163
369
185
388
291
191

Paso 3
016
038
043
123
134
140
154
155
163
185
191
209
216
219
220
258
291
306
357
369
388

e. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


2.6.1.

Arbol
inicial
220
38
388
357

163
258

134

369

123

140

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

n II
Algoritmos y Programacio

2.6

e. Heap Sort

15

Heapfy paso 0
220
38

163

388
357

258
134

369

123

140

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
357

258
185

369

123

140

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
357

369
185

306

216

191

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3 Resoluci
on explayada

220
388

216

357
209

369
185

306

163

191

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
209

306
185

258

163

191

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
209

306
185

258

163

191

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: u
ltimo congelado pedido antes del corte

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
Enrique P. Calot

n II
Algoritmos y Programacio

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
220
038
163
388
258
123
140
357
134
369
291
043
216
191
016
209
154
185
155
306
219

3.2.

Paso 1
369
209
219
038
388
258
357
216
016
306
185
155
134
154
163
123
043
291
191
220
140

Paso 2
291
191
388
185
369
163
258
357
155
154
043
140
038
134
123
220
219
216
016
209
306

Paso 3
388
369
357
306
291
258
220
219
216
209
191
185
163
155
154
140
134
123
043
038
016

Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

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

Paso 7

43 123

Final

3.3.

Heap Sort completo

154 140 155

185 209 219 216 191


191 209 216 219

16 38 43 123 134 140 154 155 163 185 191 209 216 219 220 258 291 306 357 369 388

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).

3.3.1.

Arbol
inicial

220
38
388
357

163
258

134

369

123

140

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
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

220
38

163

388
357

258
134

369

123

140

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
357

258
185

369

123

140

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
357

369
185

306

216

191

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

220
388

216

357
209

369
185

306

163

191

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
357
209

216
306

185

258

163

191

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
357
209

216
306

185

258

163

191

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

369
357
219
209

216
306

185

258

163

191

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
219
209

216
306

185

258

163

191

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
219
209

216
291

185

258

163

191

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

155
306
219
209

216
291

185

258

163

191

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
219
209

216
258

185

155

163

191

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
219
209

216
258

185

155

163

191

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

291
258
219
209

216
220

185

155

163

191

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
219
209

216
220

185

155

163

191

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
219
209

216
155

185

154

163

191

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

38
220
219
209

216
155

185

154

163

191

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
209
38

216
155

185

154

163

191

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
209
38

216
155

185

154

163

191

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

219
209
185
38

216
155

16

154

163

191

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
185
38

216
155

16

154

163

191

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
185
38

191
155

16

154

163

140

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

123
209
185
38

191
155

16

154

163

140

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
123
38

191
155

16

154

163

140

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
123
38

191
155

16

154

163

140

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

191
185
123
38

163
155

16

154

43

140

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
123
38

163
155

16

154

43

140

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
123
38

163
154

16

134

43

140

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

134
155
123
38

163
154

16

185

43

140

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
123
38

140
154

16

185

43

134

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
123
38

140
154

163

185

43

134

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

155
154
123
38

140
16

163

185

43

134

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
123
155

140
16

163

185

43

134

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
38
155

140
16

163

185

43

134

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.3

Heap Sort completo

134
123
38
155

140
16

163

185

43

154

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
38
155

134
16

163

185

43

154

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
38
155

134
16

163

185

140

154

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

31

134
123
38
155

43
16

163

185

140

154

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
38
155

43
134

163

185

140

154

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
16
155

43
134

163

185

140

154

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.3

Heap Sort completo

16
38
123
155

43
134

163

185

140

154

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
123
155

16
134

163

185

140

154

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
123
155

43
134

163

185

140

154

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

38
16
123
155

43
134

163

185

140

154

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
123
155

43
134

163

185

140

154

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
123
155

43
134

163

185

140

154

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).


n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

3.4.1.

Heap Sort descendente

Arbol
inicial

220
38
388
357

163
258

134

369

123

140

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
Heapfy paso 0
220
38

163

388
357

258
134

369

123

140

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
154

258
134

219

123

140

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

220
38

163

134
154

219
155

258

43

16

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
154

219
155

258

43

140

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
134
154

43
219

155

258

123

140

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

369
38
134
154

43
219

155

258

123

140

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
154
209

43
219

155

258

123

140

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
154
209

43
219

155

123

140

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

43
134
154
209

123
219

155

216

140

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
154
209

123
219

155

216

140

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
154
209

140
219

155

216

163

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

185
134
154
209

140
219

155

216

163

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
155
209

140
219

185

216

163

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
155
209

140
219

185

216

163

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

140
154
155
209

163
219

185

216

191

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
155
209

163
219

185

216

191

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
185
209

163
219

369

216

191

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

388
155
185
209

163
219

369

216

191

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
209
388

163
219

369

216

191

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
209
388

163
219

369

216

191

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

163
185
209
388

191
219

369

216

357

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
209
388

191
219

369

216

357

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
306
388

191
219

369

216

357

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

220
209
306
388

191
219

369

216

357

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
306
388

216
219

369

220

357

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
306
388

216
219

369

220

357

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

209
219
306
388

216
258

369

220

357

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
306
388

216
258

369

220

357

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
306
388

220
258

369

291

357

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

369
219
306
388

220
258

216

291

357

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
306
388

220
369

216

291

357

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
306
219

220
369

216

291

357

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

45

220
258
306
219

291
369

216

388

357

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
306
219

291
369

216

388

220

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
357
219

291
369

216

388

220

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.4

Heap Sort descendente

388
306
357
219

291
369

216

258

220

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
357
219

388
369

216

258

220

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
357
219

388
291

216

258

220

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

47

306
357
369
219

388
291

216

258

220

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
306
219

388
291

216

258

220

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
306
219

388
291

216

258

220

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.4

Heap Sort descendente

388
369
306
219

357
291

216

258

220

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
306
219

357
291

216

258

220

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
306
219

357
291

216

258

220

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

49

<3
Si
No

Cuadro 8: Calculo de la distribuci


on de columnas y dummies
E1
38, 163, 220, 258,
357, 388

E2
123, 134, 140, 216,
291, 369

E3
16, 43, 154, 155, 185,
191, 209, 219, 306

Cuadro 9: Fase 1

388
369
306
219

357
291

216

258

220

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.6

Merge Polif
asico de las particiones marcadas

E1
38, 163, 220, 258,
357, 388

E2
123, 134, 140, 216,
291, 369

E3
16, 43, 154, 155, 185,
191, 209, 219, 306

E2

E3

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 11: Calculo de la distribuci


on de columnas y dummies

3.6.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

E1
D
123, 140, 357
16, 43, 191, 209, 216
155, 219, 306

E2
D
134
154, 185

E3
38, 163, 220, 258, 388
291, 369

Cuadro 12: Fase 1


Enrique P. Calot

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

51

E1
D
123, 140, 357

E2
D
134

E3
38, 163, 220, 258, 388
291, 369

E1
16, 43, 191, 209, 216
155, 219, 306

E2
154, 185

S
38, 163, 220, 258, 388
123, 134, 140, 291,
357, 369
E3
38, 163, 220, 258, 388
123, 134, 140, 291,
357, 369

Cuadro 13: Fase 2

E1
D
123, 140, 357

E2
D
134

E3
38, 163, 220, 258, 388
291, 369

E1
16, 43, 191, 209, 216

E2
154, 185

E1
155, 219, 306

S
16, 38, 43, 154,
185, 191, 209,
220, 258, 388
E2
16, 38, 43, 154,
185, 191, 209,
220, 258, 388

163,
216,

163,
216,

S
38, 163, 220, 258, 388
123, 134, 140, 291,
357, 369
E3
38, 163, 220, 258, 388

E3
123, 134, 140, 291,
357, 369

Cuadro 14: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.7

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
123, 140, 357

E2
D
134

E3
38, 163, 220, 258, 388
291, 369

E1
16, 43, 191, 209, 216

E2
154, 185

E1
155, 219, 306

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
16, 38, 43, 154,
185, 191, 209,
220, 258, 388
E2
16, 38, 43, 154,
185, 191, 209,
220, 258, 388

163,
216,

163,
216,

E2

S
38, 163, 220, 258, 388
123, 134, 140, 291,
357, 369
E3
38, 163, 220, 258, 388

E3
123, 134, 140, 291,
357, 369

E3

Cuadro 15: Fase final

3.7.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

Fases
0
1
2
3
4

c1
1
1
2
4
7

c2
0
1
2
3
6

c3
0
1
1
2
4

P3

i=1 ci

1
3
5
9
17

< 11
Si
Si
Si
Si
No

Cuadro 16: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
38, 220
140, 357
191, 216
154, 185
219

E2
D
D
163, 388
134, 369
16, 209
155, 306

E3
D
D
123, 258
43, 291

53

Cuadro 17: Fase 1


E1
D
D
38, 220

E2
D
D
163, 388

E3
D
D
123, 258

140, 357

134, 369

43, 291

E1
191, 216
154, 185
219

E2
16, 209
155, 306

S
D
D
38,
258,
43,
357,
E3
D
D
38,
258,
43,
357,

123, 163, 220,


388
134, 140, 291,
369

123, 163, 220,


388
134, 140, 291,
369

Cuadro 18: Fase 2


3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
38, 220

E2
D
D
163, 388

E3
D
D
123, 258

140, 357

134, 369

43, 291

E1
191, 216
154, 185
E1
219

E2
16, 209
155, 306
S

S
16, 191, 209, 216
154, 155, 185, 306
E2
16, 191, 209, 216

154, 155, 185, 306

S
D
D
38,
258,
43,
357,
E3
D
D
E3
38,
258,
43,
357,

123, 163, 220,


388
134, 140, 291,
369

123, 163, 220,


388
134, 140, 291,
369

Cuadro 19: Fase 3

E1
D
D
38, 220

E2
D
D
163, 388

E3
D
D
123, 258

140, 357

134, 369

43, 291

E1
191, 216
154, 185
E1
219

E2
16, 209
155, 306
S
16, 38, 123, 163,
209, 216, 219,
258, 388
E1
16, 38, 123, 163,
209, 216, 219,
258, 388

S
16, 191, 209, 216
154, 155, 185, 306
E2
16, 191, 209, 216

191,
220,

191,
220,

E2
154, 155, 185, 306

S
D
D
38,
258,
43,
357,
E3
D
D
E3
38,
258,

123, 163, 220,


388
134, 140, 291,
369

123, 163, 220,


388

E3
43, 134, 140, 291,
357, 369

Cuadro 20: Fase 4

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
38, 220

E2
D
D
163, 388

E3
D
D
123, 258

140, 357

134, 369

43, 291

E1
191, 216
154, 185
E1
219

E2
16, 209
155, 306
S
16, 38, 123, 163,
209, 216, 219,
258, 388
E1
16, 38, 123, 163,
209, 216, 219,
258, 388

S
16, 191, 209, 216
154, 155, 185, 306
E2
16, 191, 209, 216

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

191,
220,

191,
220,

55

S
D
D
38,
258,
43,
357,
E3
D
D
E3
38,
258,

123, 163, 220,


388
134, 140, 291,
369

123, 163, 220,


388

E2
154, 155, 185, 306

E3
43, 134, 140, 291,
357, 369

E2

E3

Cuadro 21: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 22: Calculo de la distribuci


on de columnas y dummies

n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.9

E1
D
123, 258, 388
16, 191, 216
155, 219, 306

Merge Polif
asico con particiones formadas de 4 elementos

E2
D
134, 140, 357
154, 185, 209

E3
38, 163, 220
43, 291, 369

Cuadro 23: Fase 1


E1
D
123, 258, 388

E2
D
134, 140, 357

E3
38, 163, 220
43, 291, 369

E1
16, 191, 216
155, 219, 306

E2
154, 185, 209

S
38, 163, 220
43, 123, 134,
258, 291, 357,
388
E3
38, 163, 220
43, 123, 134,
258, 291, 357,
388

140,
369,

140,
369,

Cuadro 24: Fase 2


3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
123, 258, 388

E2
D
134, 140, 357

E3
38, 163, 220
43, 291, 369

E1
16, 191, 216

E2
154, 185, 209

E1
155, 219, 306

S
16, 38, 154, 163, 185,
191, 209, 216, 220
E2
16, 38, 154, 163, 185,
191, 209, 216, 220

57

S
38, 163, 220
43, 123, 134, 140,
258, 291, 357, 369,
388
E3
38, 163, 220
E3
43, 123, 134, 140,
258, 291, 357, 369,
388

Cuadro 25: Fase 3


E1
D
123, 258, 388

E2
D
134, 140, 357

E3
38, 163, 220
43, 291, 369

E1
16, 191, 216

E2
154, 185, 209

E1
155, 219, 306

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
16, 38, 154, 163, 185,
191, 209, 216, 220
E2
16, 38, 154, 163, 185,
191, 209, 216, 220

Fases
0
1
2
3

E2

Cuadro 26: Fase final


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9

S
38, 163, 220
43, 123, 134, 140,
258, 291, 357, 369,
388
E3
38, 163, 220
E3
43, 123, 134, 140,
258, 291, 357, 369,
388

E3

<6
Si
Si
Si
No

Cuadro 27: Calculo de la distribuci


on de columnas y dummies
n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.9

E1
D
38, 163, 220, 388
16, 191, 209, 216
219

Merge Polif
asico con particiones formadas de 4 elementos

E2
D
123, 140, 258, 357
154, 155, 185, 306

E3
D
43, 134, 291, 369

Cuadro 28: Fase 1

E1
D
38, 163, 220, 388

E2
D
123, 140, 258, 357

E3
D
43, 134, 291, 369

E1
16, 191, 209, 216
219

E2
154, 155, 185, 306

S
D
38, 43, 123, 134,
163, 220, 258,
357, 369, 388
E3
D
38, 43, 123, 134,
163, 220, 258,
357, 369, 388

140,
291,

140,
291,

Cuadro 29: Fase 2

E1
D
38, 163, 220, 388

E2
D
123, 140, 258, 357

E3
D
43, 134, 291, 369

E1
16, 191, 209, 216

E2
154, 155, 185, 306

E1
219

S
16,
191,
E2
16,
191,

154, 155, 185,


209, 216, 306
154, 155, 185,
209, 216, 306

S
D
38, 43, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388
E3
D
E3
38, 43, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388

Cuadro 30: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
38, 163, 220, 388

E2
D
123, 140, 258, 357

E3
D
43, 134, 291, 369

E1
16, 191, 209, 216

E2
154, 155, 185, 306

E1
219

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
16,
191,
E2
16,
191,

154, 155, 185,


209, 216, 306
154, 155, 185,
209, 216, 306

E2

59

S
D
38, 43, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388
E3
D
E3
38, 43, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388

E3

Cuadro 31: Fase final

3.10.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.

3.10.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on p1 = {38, 163, 220, 258, 388}
123
357
357
140
140
134
357
134
357
369
369
134
369
291
291
134
Nueva partici
on! Se cierra la partici
on p2 = {123, 140, 357, 369}
134
43
291
43
291
216
216
43
Nueva partici
on! Se cierra la partici
on p3 = {134, 291}
43
191
216
191
191
16
216
16
216
209
209
16
Nueva partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p5 = {16, 154, 185, 209, 306}
155
Nada
219

219
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

61
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 32: Calculo de la distribuci


on de columnas y dummies
E1
D
38, 163, 220, 258, 388
43, 191, 216
155, 219

E2
D
123, 140, 357, 369
16, 154, 185, 209, 306

E3
D
134, 291

Cuadro 33: Fase 1


3.11.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.11.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.12.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
38, 163, 220, 258, 388

E2
D
123, 140, 357, 369

E3
D
134, 291

E1
43, 191, 216
155, 219

E2
16, 154, 185, 209, 306

S
D
38,
163,
357,
E3
D
38,
163,
357,

123, 134, 140,


220, 258, 291,
369, 388

123, 134, 140,


220, 258, 291,
369, 388

Cuadro 34: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.12

Selecci
on Natural con buffers de tama
no 2

E1
D
38, 163, 220, 258, 388

E2
D
123, 140, 357, 369

E3
D
134, 291

E1
43, 191, 216

E2
16, 154, 185, 209, 306

E1
155, 219

S
16, 43, 154, 185, 191,
209, 216, 306
E2
16, 43, 154, 185, 191,
209, 216, 306

S
D
38, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388
E3
D
E3
38, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388

Cuadro 35: Fase 3

E1
D
38, 163, 220, 258, 388

E2
D
123, 140, 357, 369

E3
D
134, 291

E1
43, 191, 216

E2
16, 154, 185, 209, 306

E1
155, 219

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
16, 43, 154, 185, 191,
209, 216, 306
E2
16, 43, 154, 185, 191,
209, 216, 306

E2

S
D
38, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388
E3
D
E3
38, 123, 134, 140,
163, 220, 258, 291,
357, 369, 388

E3

Cuadro 36: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

3.12.1.

63

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

b1
b2
a1
a2
Sale

Nada
220

Nada
220
38

38
220
163

163
220
388

220
258
388

258

388
123

Nada

388
123
140
388
123
140

Nueva partici
on! Se cierra la partici
on p1 = {38, 163, 220, 258, 388}
123
357
140

140
357

134

Nada
357
369
134

357

369
134
291
369
134
291

Nueva partici
on! Se cierra la partici
on p2 = {123, 140, 357, 369}
134

291
43

Nada
216
291
43

216

291
43
191
291
43
191

Nueva partici
on! Se cierra la partici
on p3 = {134, 216, 291}
43

191
16

Nada
209
191
16

191
209

16
154
209
16
154

Nueva partici
on! Se cierra la partici
on p4 = {43, 191, 209}
16
185
154

154
185
155

155
185
306

185
219
306

219

306

306
Finaliza la u
ltima partici
on en p5 = {16, 154, 155, 185, 219, 306}

3.12.2.

Entra
220
38
163
388
258
123
140
Nada

357
134
369
291
Nada

43
216
191
Nada

16
209
154
Nada

185
155
306
219
Nada
Nada

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

Cuadro 37: Calculo de la distribuci


on de columnas y dummies
E1
38, 163, 220, 258, 388
43, 191, 209

E2
123, 140, 357, 369
16, 154, 155, 185,
219, 306

E3
134, 216, 291

Cuadro 38: Fase 1

3.13.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.13.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.13.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

3.14.

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
E1
38, 163, 220, 258, 388

E2
123, 140, 357, 369

E3
134, 216, 291

E1
43, 191, 209

E2
16, 154, 155, 185,
219, 306

S
38,
163,
291,
E3
38,
163,
291,

123, 134, 140,


216, 220, 258,
357, 369, 388
123, 134, 140,
216, 220, 258,
357, 369, 388

Cuadro 39: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.14

Selecci
on de reemplazo con buffer de tama
no 3

E1
38, 163, 220, 258, 388

E2
123, 140, 357, 369

E3
134, 216, 291

E1
43, 191, 209

E2
16, 154, 155, 185,
219, 306

E2

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

65

S
38,
163,
291,
E3
38,
163,
291,

123, 134, 140,


216, 220, 258,
357, 369, 388
123, 134, 140,
216, 220, 258,
357, 369, 388

E3

Cuadro 40: Fase final

3.14.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.15

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on 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
partici
on!
Se
cierra
la
partici
on
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 partici
on! Se cierra la partici
on 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 u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.15.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

67
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 41: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 163, 220, 258, 388

43, 191, 209, 216

16, 154, 155, 185,


219, 306

E3
123, 134, 140, 291,
357, 369

Cuadro 42: Fase 1

3.15.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.16.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.

3.16.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

E1
D

E2
38, 163, 220, 258, 388

E3
123, 134, 140, 291,
357, 369

E1
43, 191, 209, 216

E2
16, 154, 155, 185,
219, 306

S
38,
163,
357,
E3
38,
163,
357,

123, 134, 140,


220, 258, 291,
369, 388
123, 134, 140,
220, 258, 291,
369, 388

Cuadro 43: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.16

Selecci
on Natural con buffers de tama
no 3

E1
D

E2
38, 163, 220, 258, 388

E3
123, 134, 140, 291,
357, 369

E1
43, 191, 209, 216

E2
16, 154, 155, 185,
219, 306

E2

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
38,
163,
357,
E3
38,
163,
357,

123, 134, 140,


220, 258, 291,
369, 388
123, 134, 140,
220, 258, 291,
369, 388

E3

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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p3 = {16, 43, 154, 185, 191, 209, 219, 306}
155
Nada
Finaliza la u
ltima partici
on en p4 = {155}

Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

c3
0
1
1

P3

i=1 ci

1
3
5

69

<4
Si
Si
No

Cuadro 45: Calculo de la distribuci


on de columnas y dummies
E1
D
16, 43, 154, 185, 191,
209, 219, 306

E2
38, 163, 220, 258,
357, 388
155

E3
123, 134, 140, 216,
291, 369

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.17.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.17.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.18.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.18

Selecci
on Natural con buffers de tama
no 4

E1
D

E2
38, 163, 220, 258,
357, 388

E3
123, 134, 140, 216,
291, 369

E1
16, 43, 154, 185, 191,
209, 219, 306

E2
155

S
38,
163,
291,
E3
38,
163,
291,

123, 134, 140,


216, 220, 258,
357, 369, 388
123, 134, 140,
216, 220, 258,
357, 369, 388

Cuadro 47: Fase 2

E1
D

E2
38, 163, 220, 258,
357, 388

E3
123, 134, 140, 216,
291, 369

E1
16, 43, 154, 185, 191,
209, 219, 306

E2
155

E2

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
E1
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388

S
38,
163,
291,
E3
38,
163,
291,

123, 134, 140,


216, 220, 258,
357, 369, 388
123, 134, 140,
216, 220, 258,
357, 369, 388

E3

Cuadro 48: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

3.18.1.

71

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.
a2
a3
a4
Sale
Entra

Nada
220

Nada
38

Nada
163

Nada
388

38
258

163
123

Nada
140
140

Nada
357
140

220
134
140
134

Nada
369
140
134

258
291
140
134

291
43
140
134
43
357
Nada
140
134
43
369
Nada
140
134
43
388
Nada

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 partici
on! Se cierra la partici
on p2 = {43, 123, 134, 140, 154, 185, 191, 209, 216, 219, 306}
16
Nada

155

155
Nada
Finaliza la u
ltima partici
on en p3 = {16, 155}
b1
b2
b3
b4
a1

220

220
38

220
38
163

220
38
163
388

220
258
163
388

220
258

388
123
220
258

388
123
220
258
357
388
123

258
357
388
123
369
258
357
388
123
369
291
357
388
123
369

357
388
123
369

388
123

388
123
123
140
134
43

Nueva partici
on! Se cierra la partici
on

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.20

Fases
0
1

c1
1
1

Selecci
on de reemplazo con buffer de tama
no 5

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 49: Calculo de la distribuci


on de columnas y dummies

E1
38, 163, 220, 258,
291, 357, 369, 388

E2
43, 123, 134, 140,
154, 185, 191, 209,
216, 219, 306

E3
16, 155

Cuadro 50: Fase 1

3.19.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.19.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.20.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.

3.20.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.20

Selecci
on de reemplazo con buffer de tama
no 5

E1
38, 163, 220, 258,
291, 357, 369, 388

E2
43, 123, 134, 140,
154, 185, 191, 209,
216, 219, 306

E3
16, 155

E2

E3

73

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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

Nada
220

Nada
220
38

Nada
220
38
163

Nada
220
38
163
388

Nada
220
38
163
388
258
38
220
123
163
388
258
123
220
140
163
388
258
140
220
357
163
388
258
163
220
357
134
388
258
220
369
357
134
388
258
258
369
357
134
388
291
291
369
357
134
388
43
357
369
216
134
388
43
369
191
216
134
388
43
388
191
216
134
16
43
Nueva
partici
on!
Se
cierra
la
partici
on
{38, 123, 140, 163, 220, 258, 291, 357, 369, 388}
16
191
216
134
209
43
43
191
216
134
209
154
134
191
216
185
209
154
154
191
216
185
209
155
155
191
216
185
209
306
185
191
216
219
209
306
191

216
219
209
306
209

216
219

306
216

219

306
219

306
306
Finaliza
la
u
ltima
partici
on
en
{16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}

3.20.2.

Entra
220
38
163
388
258
123
140
357
134
369
291
43
216
191
16
p1

209
154
185
155
306
219
Nada
Nada
Nada
Nada
Nada
p2

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.21

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

Cuadro 53: Fase 1

3.21.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.21.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.21.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.22.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

3.22.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on Natural con buffers de tama
no 5

E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

E2

E3

75

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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

220
220
220
220
220
220
220
220
220
220
291
291
291
291
291

134
Nueva

134
43
216
191
134
154
216
191
185
154
216
191
185
155
216
191
185
306
216
191
219
306
216
191
219
306
216

219
306
216

219
306

306

Finaliza la u
ltima partici
on

3.22.2.

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

38

123

140

163
134

Nada
134

220
134

258
134
43

Nada
134
43
216

Nada
134
43
216
191

Nada
134
43
216
191
16
291
134
43
216
191
16
357
134
43
216
191
16
369
134
43
216
191
16
388

p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388}
16
209

43
209

134
209

154
209

155
209

185
209

191
209

209

216

219

306
en p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}

b2
b3
b4
b5

38

38
163

38
163
388

38
163
388
258
123
163
388
258
140
163
388
258
357
163
388
258
357

388
258
357
369
388
258
357
369
388
258
357
369
388

357
369
388

357
369
388

357
369
388

357
369
388

369
388

388

43
216
191
16
partici
on! Se cierra la partici
on

Entra
220
38
163
388
258
123
140
357
134
369
291
43
216
191
16
Nada
Nada
Nada
Nada

209
154
185
155
306
219
Nada
Nada
Nada
Nada
Nada

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.23

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

Cuadro 56: Fase 1

3.23.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.23.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.23.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.24.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.

3.24.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

E2

E3

77

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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
partici
on!
Se
cierra
la
partici
on
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
u
ltima
partici
on
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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.25

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 58: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

Cuadro 59: Fase 1

3.25.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.25.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.25.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.26.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.26.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

E2

E3

79

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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

220
220
220
220
220
220
220
220
220
220
220

134
Nueva

b2
b3
b4
b5
b6
a1
a2
a3
a4
a5
a6

38

38
163

38
163
388

38
163
388
258

38
163
388
258
123

140
163
388
258
123

140
163
388
258
357

163
388
258
357
134

369
163
388
258
357
134

369
291
388
258
357
134

369
291
388
258
357
134
43

369
291
388
258
357
134
43
216

369
291
388
258
357
134
43
216
191

369
291
388
258
357
134
43
216
191
16

369
291
388
258
357
134
43
216
191
16
209
369
291
388

357
134
43
216
191
16
209
369

388

357
134
43
216
191
16
209
369

388

134
43
216
191
16
209

388

134
43
216
191
16
209
43
216
191
16
209

partici
on! Se cierra la partici
on p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388}

134
43
216
191
134
185
216
191
155
185
216
191
155
185
216
191
219
185
216
191
219

216
191
219

216

219

216

219

Finaliza la u
ltima partici
on en

3.26.2.

154
209

154
209

154
209

306
209

306
209

306
209

306
209

306

306

306

p2 = {16, 43, 134, 154, 155, 185, 191, 209, 216, 219, 306}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
38
123
140
Nada
163
220
Nada
Nada
Nada
Nada
258
291
357
369
388

Entra
220
38
163
388
258
123
140
357
134
369
291
43
216
191
16
209
Nada
Nada
Nada
Nada
Nada

16
43
134
154
155
185
191
209
216
219
306

154
185
155
306
219
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {38, 123, 140, 163, 220, 258, 291, 357, 369, 388};
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.27

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 61: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.27.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.27.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.28

Bubble Sort ascendente

81

E1
D

E2
38, 123, 140, 163,
220, 258, 291, 357,
369, 388

E3
16, 43, 134, 154, 155,
185, 191, 209, 216,
219, 306

E2

E3

S
16, 38, 43, 123, 134,
140, 154, 155, 163,
185, 191, 209, 216,
219, 220, 258, 291,
306, 357, 369, 388
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

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

19/20

38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 388

14/19

38 163 220 123 140 258 134 357 291 43 216 191 16 209 154 185 155 306 219 369 388

14/18

38 163 123 140 220 134 258 291 43 216 191 16 209 154 185 155 306 219 357 369 388

12/17

38 123 140 163 134 220 258 43 216 191 16 209 154 185 155 291 219 306 357 369 388

10/16

38 123 140 134 163 220 43 216 191 16 209 154 185 155 258 219 291 306 357 369 388

10/15

38 123 134 140 163 43 216 191 16 209 154 185 155 220 219 258 291 306 357 369 388

8/14

38 123 134 140 43 163 191 16 209 154 185 155 216 219 220 258 291 306 357 369 388

5/13

38 123 134 43 140 163 16 191 154 185 155 209 216 219 220 258 291 306 357 369 388

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.29

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

Bubble Sort descendente

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

18/20

220 163 388 258 123 140 357 134 369 291 43 216 191 38 209 154 185 155 306 219 16

15/19

220 388 258 163 140 357 134 369 291 123 216 191 43 209 154 185 155 306 219 38 16

13/18

388 258 220 163 357 140 369 291 134 216 191 123 209 154 185 155 306 219 43 38 16

11/17

388 258 220 357 163 369 291 140 216 191 134 209 154 185 155 306 219 123 43 38 16

11/16

388 258 357 220 369 291 163 216 191 140 209 154 185 155 306 219 134 123 43 38 16

11/15

388 357 258 369 291 220 216 191 163 209 154 185 155 306 219 140 134 123 43 38 16

7/14

388 357 369 291 258 220 216 191 209 163 185 155 306 219 154 140 134 123 43 38 16

5/13

388 369 357 291 258 220 216 209 191 185 163 306 219 155 154 140 134 123 43 38 16

2/12

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

n II
Algoritmos y Programacio

3.30

Bilateral Bubble Sort ascendente

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

83

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

19/20

38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219 388

16/20

16 38 163 220 258 123 140 357 134 369 291 43 216 191 154 209 155 185 219 306 388

13/18

16 38 163 220 123 140 258 134 357 291 43 216 191 154 209 155 185 219 306 369 388

11/18

16 38 43 163 220 123 140 258 134 357 291 154 216 191 155 209 185 219 306 369 388

12/16

16 38 43 163 123 140 220 134 258 291 154 216 191 155 209 185 219 306 357 369 388

8/16

16 38 43 123 163 134 140 220 154 258 291 155 216 191 185 209 219 306 357 369 388

9/14

16 38 43 123 134 140 163 154 220 258 155 216 191 185 209 219 291 306 357 369 388

5/14

16 38 43 123 134 140 154 163 155 220 258 185 216 191 209 219 291 306 357 369 388

6/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.31

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

Bilateral Bubble Sort descendente

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

18/20

220 163 388 258 123 140 357 134 369 291 43 216 191 38 209 154 185 155 306 219 16

16/20

388 220 163 369 258 123 140 357 134 306 291 43 216 191 38 209 154 185 155 219 16

14/18

388 220 369 258 163 140 357 134 306 291 123 216 191 43 209 154 185 155 219 38 16

13/18

388 369 220 357 258 163 140 306 134 291 219 123 216 191 43 209 154 185 155 38 16

11/16

388 369 357 258 220 163 306 140 291 219 134 216 191 123 209 154 185 155 43 38 16

8/16

388 369 357 306 258 220 163 291 140 219 216 134 209 191 123 185 154 155 43 38 16

8/14

388 369 357 306 258 220 291 163 219 216 140 209 191 134 185 154 155 123 43 38 16

6/14

388 369 357 306 291 258 220 219 163 216 209 140 191 185 134 155 154 123 43 38 16

6/12

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

n II
Algoritmos y Programacio

3.32

Selection Sort ascendente

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

85

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

1/20

16 38 163 388 258 123 140 357 134 369 291 43 216 191 220 209 154 185 155 306 219

1/19

16 38 163 388 258 123 140 357 134 369 291 43 216 191 220 209 154 185 155 306 219

1/18

16 38 43 388 258 123 140 357 134 369 291 163 216 191 220 209 154 185 155 306 219

1/17

16 38 43 123 258 388 140 357 134 369 291 163 216 191 220 209 154 185 155 306 219

1/16

16 38 43 123 134 388 140 357 258 369 291 163 216 191 220 209 154 185 155 306 219

1/15

16 38 43 123 134 140 388 357 258 369 291 163 216 191 220 209 154 185 155 306 219

1/14

16 38 43 123 134 140 154 357 258 369 291 163 216 191 220 209 388 185 155 306 219

1/13

16 38 43 123 134 140 154 155 258 369 291 163 216 191 220 209 388 185 357 306 219

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.33

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

Selection Sort descendente

220 38 163 388 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

1/20

388 38 163 220 258 123 140 357 134 369 291 43 216 191 16 209 154 185 155 306 219

1/19

388 369 163 220 258 123 140 357 134 38 291 43 216 191 16 209 154 185 155 306 219

1/18

388 369 357 220 258 123 140 163 134 38 291 43 216 191 16 209 154 185 155 306 219

1/17

388 369 357 306 258 123 140 163 134 38 291 43 216 191 16 209 154 185 155 220 219

1/16

388 369 357 306 291 123 140 163 134 38 258 43 216 191 16 209 154 185 155 220 219

1/15

388 369 357 306 291 258 140 163 134 38 123 43 216 191 16 209 154 185 155 220 219

1/14

388 369 357 306 291 258 220 163 134 38 123 43 216 191 16 209 154 185 155 140 219

1/13

388 369 357 306 291 258 220 219 134 38 123 43 216 191 16 209 154 185 155 140 163

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-07-26
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 tama
no 4.
b. Procesar el B-tree cuyo rango v
alido de elementos por nodo es de 2 a 4 (1 a 4 en la raz) resultante de
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 polif
asico para 3 vas de entrada con 21 particiones
ordenadas 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 s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en una maquina
con una memoria interna comparable a 2p2 sizeof (tElem). Dispone de las siguientes soluciones:
a) Sort externo: seleccion de reemplazo y merge polif
asico
b) Sort externo: seleccion natural y merge polif
asico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
polif
asico

p
2

elementos y merge

d ) Sort interno: quick sort de pivoteo en el primer elemento


e) Sort interno: quick sort de pivoteo en el u
ltimo elemento
f ) Sort interno: bubble sort
g) Sort interno: heap sort
h) Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
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 Ingeniera
Universidad de Buenos Aires
2010-08-02

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Seleccion de reemplazo . . . . . . . . . . .
2.1.1. Desarrollo . . . . . . . . . . . . . . . .
2.1.2. Salida final . . . . . . . . . . . . . . .
2.2. b. Merge Polif
asico . . . . . . . . . . . . . . .
2.2.1. C
alculo de la distribuci
on de columnas
2.2.2. Distribucion inicial . . . . . . . . . . .
2.3. c. Pregunta teorica . . . . . . . . . . . . . . .
2.3.1. Respuesta . . . . . . . . . . . . . . . .
2.4. d. Ejercicio de B-trees . . . . . . . . . . . . .
2.4.1. Inserci
on . . . . . . . . . . . . . . . .
2.4.2. Eliminacion . . . . . . . . . . . . . . .
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.6. e. Heap Sort . . . . . . . . . . . . . . . . . . .

2.6.1. Arbol
inicial . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
6
7
7
7
9
9
10
10
10
10
11

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico completo con particiones formadas de 1 elemento
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.10.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.11. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

13
13
13
14
14
14
15
30
30
45
46
46
46
47
47
47
49
49
49
54
54
54
54
54
56
56
56
56

Enrique P. Calot

.
.
.
.
y
.
.
.
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 2
3.12.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.14.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.16.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.18.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.20.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.22.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.24.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.26.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27. Seleccion Natural con buffers de tama
no 6 . . . . . . . . . . . . . . . . . . . .
3.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
62
62
63
63
63
65
65
66
66
66
66
67
68
68
68
69
69
69
71
71
71
71
71
71
73
73
73
73
73
73
74
75
75
75
75
75
77
77
77
77
77
77
78
79
79
79
79
79

Facultad de Ingeniera


INDICE

3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . .


3.28. Merge Polif
asico de las salidas por seleccion natural de buffers
3.28.1. C
alculo de la distribuci
on de columnas y dummies . .
3.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . .
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . .
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . .
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . .
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . .
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . .
3.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

Enrique P. Calot

. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
81
81
81
82
82
83
83
84
84
85
85
86
86
87
87

n II
Algoritmos y Programacio

1 Enunciado

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 tama


no 3.
b. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas 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 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
eliminar 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 Radix
Sort en orden ascendente (entero).

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

2.1.1.

b. Merge Polif
asico

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.
b2
b3
Sale
Entra

Nada
22

Nada
146
146

Nada
309
146
309
22
394
146
309
146
334
334
309
309
58
334
58
334
65
65
58
394
358
65
58
partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 u
ltima partici
on en p4 = {4, 70, 90, 172, 304, 354}
b1

22
22
22
394
394
394
394
358
Nueva

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 Polif
asico

Desarrollar 2 fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones ordenadas tomadas del lote de datos.
2.2.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

2.3

c. Pregunta te
orica

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
E1
D
D
D
D
309
58
63
231
34
262
70
90
354

E2
D
D
D
22
394
65
349
264
4
172
304

E3
D
D
D
146
334
358
384

Cuadro 2: Fase 1
2.2.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

2.3.

c. Pregunta te
orica

Se dice que el orden del algoritmo de Heap Sort es de O(n log2 n), explique con sus palabras de donde
sale ese logaritmo.

2.3.1.

Respuesta

El heap sort busca el mnimo 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 binarias
tiene un orden de O(n log n).
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.3

E1
D
D
D
D
309
58
63
E1
231
34
262
70
90
354

E2
D
D
D
22
394
65
349
E2
264
4
172
304

E3
D
D
D
146
334
358
384
S

c. Pregunta te
orica

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384

Cuadro 3: Fase 2

E1
D
D
D
D
309
58
63
E1
231
34
262
70
E1
90
354

E2
D
D
D
22
394
65
349
E2
264
4
172
304
S

E3
D
D
D
146
334
358
384
S
231, 264
4, 34
172, 262
22, 70, 146, 304
E2
231, 264
4, 34
172, 262
22, 70, 146, 304

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
E3
309, 334, 394
58, 65, 358
63, 349, 384

Cuadro 4: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

2.4

d. Ejercicio de B-trees

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 luego
eliminar los siguientes:
262, 231 , 304
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .

2.4.1.

Inserci
on
309
22146

334394

Inserci
on de 5 elementos: 22, 146, 309, 394, 334
309
225865146

334358394

Inserci
on de 3 elementos: 58, 65, 358
63309
2258

65146

334358394

Inserci
on de 1 elemento: 63
63309358
2258

65146

334349 384394

Inserci
on de 2 elementos: 349, 384
63231309358
4223458

65146

262264 334349 384394

Inserci
on de 5 elementos: 231, 264, 34, 4, 262
63231309358
4223458

6570146172

262264 334349 384394

Inserci
on de 2 elementos: 172, 70
231
6390
4223458

6570

146172

309358
262264304

334349354

384394

Inserci
on de 3 elementos: 304, 90, 354

n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.5

2.4.2.

e. Radix Sort

Eliminaci
on
6390309358
4223458

6570

146172264304

334349354

384394

Eliminacion de 2 elementos: 262, 231


6390309358
4223458

6570

146172264

334349354

384394

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
022
146
309
394
334
058
065
358
063
349
384
231
264
034
004
262
172
070
304
090
354

2.6.

Paso 1
070
090
231
022
262
172
063
394
334
384
264
034
004
304
354
065
146
058
358
309
349

Paso 2
004
304
309
022
231
334
034
146
349
354
058
358
262
063
264
065
070
172
384
090
394

Paso 3
004
022
034
058
063
065
070
090
146
172
231
262
264
304
309
334
349
354
358
384
394

e. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


Enrique P. Calot

n II
Algoritmos y Programacio

2.6

e. Heap Sort

11

Arbol
inicial

2.6.1.

22
146
394
358

309
334

63

349

58

65

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 asociado
Heapfy paso 0
22
146

309

394
358

334
63

349

58

65

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
358

334
304

354

58

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.6

e. Heap Sort

22
146

309

394
358

384
304

354

264

65

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
262

384
304

354

264

65

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
358
262

309
354

304

264

65

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

n II
Algoritmos y Programacio

3 Resoluci
on explayada

13

22
384

309

358
262

354
304

349

264

65

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: u
ltimo congelado pedido antes del corte

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

3.2

Paso 0
022
146
309
394
334
058
065
358
063
349
384
231
264
034
004
262
172
070
304
090
354

3.2.

Paso 1
309
349
058
358
146
065
394
334
384
264
034
004
304
354
063
022
262
172
231
070
090

Paso 2
394
090
384
172
070
065
264
063
262
058
358
354
349
146
334
034
231
022
309
004
304

Quick Sort

Paso 3
394
384
358
354
349
334
309
304
264
262
231
172
146
090
070
065
063
058
034
022
004

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

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

334 349 354 358

Paso 6

34 58

Final

3.3.

70 65 90

172 262 231 264 304


231 262 264 304

4 262 172 70 304 90 354

334 349

4 22 34 58 63 65 70 90 146 172 231 262 264 304 309 334 349 354 358 384 394

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).


Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

15

Arbol
inicial

3.3.1.

22
146
394
358

309
334

63

349

58

65

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 asociado
Heapfy paso 0
22
146

309

394
358

334
63

349

58

65

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
358

334
304

354

58

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

Heap Sort completo

22
146

309

394
358

384
304

354

264

65

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
262

384
304

354

264

65

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
358
262

309
354

304

264

65

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

22
384
358
262

309
354

304

349

264

65

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
304
262

309
354

70

349

264

65

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
304
262

309
354

70

349

264

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

358
354
304
262

309
349

70

90

264

65

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
304
262

309
349

70

90

264

65

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
304
262

309
334

70

90

264

65

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

22
349
304
262

309
334

70

90

264

65

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
304
262

309
90

70

22

264

65

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
304
262

309
90

70

22

264

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

334
304
262
172

309
90

70

22

264

65

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
262
172

309
90

70

22

264

65

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
262
172

264
90

70

22

231

65

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

4
304
262
172

264
90

70

22

231

65

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
172
4

264
90

70

22

231

65

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
172
4

264
90

70

22

231

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

264
262
172
4

231
90

70

22

146

65

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
172
4

231
90

70

22

146

65

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
70
4

231
90

58

22

146

65

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

34
172
70
4

231
90

58

22

146

65

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
70
4

146
90

58

22

34

65

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
70
4

146
90

58

22

34

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

172
90
70
4

146
63

58

22

34

65

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
70
4

146
63

58

172

34

65

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
70
4

65
63

58

172

34

22

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

58
90
70
4

65
63

146

172

34

22

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
58
4

65
63

146

172

34

22

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
58
90

65
63

146

172

34

22

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

70
63
58
90

65
4

146

172

34

22

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
58
90

65
4

146

172

34

70

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
58
90

34
4

146

172

22

70

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

22
63
58
90

34
4

146

172

65

70

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
22
90

34
4

146

172

65

70

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
22
90

34
63

146

172

65

70

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

58
22
4
90

34
63

146

172

65

70

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
58
90

34
63

146

172

65

70

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
58
90

4
63

146

172

65

70

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

4
22
58
90

34
63

146

172

65

70

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
58
90

34
63

146

172

65

70

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
58
90

34
63

146

172

65

70

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.4

Heap Sort descendente

4
22
58
90

34
63

146

172

65

70

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
394
358

309
334

63

349

58

65

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 asociado
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

22
146

309

394
358

334
63

349

58

65

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
172

334
63

90

58

65

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
172

90
70

334

58

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

Heap Sort descendente

22
63

70
172

90
146

334

58

34

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
70
172

22
90

146

334

58

34

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
70
172

22
90

146

58

34

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

22
63
70
172

34
90

146

58

65

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
70
172

34
90

146

58

65

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
70
172

58
90

146

231

65

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

304
63
70
172

58
90

146

231

65

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
70
172

65
90

146

231

304

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
70
172

65
90

231

304

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

63
70
146
172

65
90

231

304

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
146
172

65
90

231

304

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
146
172

231
90

264

304

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

262
70
146
172

231
90

264

304

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
146
172

231
262

264

304

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
146
172

231
262

264

304

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

90
146
172
354

231
262

264

304

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
172
354

231
262

264

304

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
309
354

231
262

264

304

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

358
172
309
354

231
262

264

304

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
309
354

231
334

264

304

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
309
354

231
334

264

304

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

231
262
309
354

264
334

349

304

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
309
354

264
334

349

304

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
354
384

264
334

349

304

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

358
309
354
384

264
334

349

304

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
354
384

304
334

349

358

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
354
384

304
334

349

358

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

304
309
354
384

349
334

394

358

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
354
304

349
334

394

358

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
354
304

349
384

394

358

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

358
334
354
304

349
384

394

309

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
358
304

349
384

394

309

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
358
304

349
384

334

309

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

349
354
358
304

394
384

334

309

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
358
304

394
349

334

309

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
384
304

394
349

334

309

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

384
358
354
304

394
349

334

309

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
354
304

394
349

334

309

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
354
304

358
349

334

309

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

45

384
394
354
304

358
349

334

309

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
354
304

358
349

334

309

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
354
304

358
349

334

309

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.6

Fases
0
1
2

c1
1
1
2

c2
0
1
2

Merge Polif
asico de las particiones marcadas
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 5: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
22, 146, 309, 334, 394

34, 231, 262, 264

4, 70, 90, 172, 304,


354

E3
58, 63, 65, 349, 358,
384

Cuadro 6: Fase 1
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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
D

E2
22, 146, 309, 334, 394

E3
58, 63, 65, 349, 358,
384

E1
34, 231, 262, 264

E2
4, 70, 90, 172, 304,
354

S
22, 58, 63, 65,
309, 334, 349,
384, 394
E3
22, 58, 63, 65,
309, 334, 349,
384, 394

146,
358,

146,
358,

Cuadro 7: Fase 2
Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

E1
D

E2
22, 146, 309, 334, 394

E3
58, 63, 65, 349, 358,
384

E1
34, 231, 262, 264

E2
4, 70, 90, 172, 304,
354

E2

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

S
22, 58, 63, 65,
309, 334, 349,
384, 394
E3
22, 58, 63, 65,
309, 334, 349,
384, 394

47

146,
358,

146,
358,

E3

Cuadro 8: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 9: Calculo de la distribuci


on de columnas y dummies

3.6.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.7

E1
D
58, 65, 358
4, 34, 231, 262, 264
90, 304, 354

Merge Polif
asico completo con particiones formadas de 1 elemento

E2
D
63
70, 172

E3
22, 146, 309, 334, 394
349, 384

Cuadro 10: Fase 1

E1
D
58, 65, 358

E2
D
63

E3
22, 146, 309, 334, 394
349, 384

E1
4, 34, 231, 262, 264
90, 304, 354

E2
70, 172

S
22, 146, 309, 334, 394
58, 63, 65, 349, 358,
384
E3
22, 146, 309, 334, 394
58, 63, 65, 349, 358,
384

Cuadro 11: Fase 2

E1
D
58, 65, 358

E2
D
63

E3
22, 146, 309, 334, 394
349, 384

E1
4, 34, 231, 262, 264

E2
70, 172

E1
90, 304, 354

S
4, 22, 34, 70,
172, 231, 262,
309, 334, 394
E2
4, 22, 34, 70,
172, 231, 262,
309, 334, 394

146,
264,

146,
264,

S
22, 146, 309, 334, 394
58, 63, 65, 349, 358,
384
E3
22, 146, 309, 334, 394

E3
58, 63, 65, 349, 358,
384

Cuadro 12: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

49

< 21
Si
Si
Si
Si
Si
No

Cuadro 13: Calculo de la distribuci


on de columnas y dummies
E1
D
D
D
D
309
58
63
231
34
262
70
90
354

E2
D
D
D
22
394
65
349
264
4
172
304

E3
D
D
D
146
334
358
384

Cuadro 14: Fase 1


3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas de 2 elementos cada una tomadas del lote de datos.
Por ejemplo p1 = {22, 146}; p2 = {309, 394}; . . . ; p10 = {90, 304}; p11 = {354}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.8

E1
D
D
D
D
309
58
63
E1
231
34
262
70
90
354

E2
D
D
D
22
394
65
349
E2
264
4
172
304

Merge Polif
asico con particiones formadas de 2 elementos

E3
D
D
D
146
334
358
384
S

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384

Cuadro 15: Fase 2

E1
D
D
D
D
309
58
63
E1
231
34
262
70
E1
90
354

E2
D
D
D
22
394
65
349
E2
264
4
172
304
S

E3
D
D
D
146
334
358
384
S
231, 264
4, 34
172, 262
22, 70, 146, 304
E2
231, 264
4, 34
172, 262
22, 70, 146, 304

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
E3
309, 334, 394
58, 65, 358
63, 349, 384

Cuadro 16: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
309
58
63
E1
231
34
262
70
E1
90
354
S

E2
D
D
D
22
394
65
349
E2
264
4
172
304
S
90, 231, 264, 309,
334, 394
4, 34, 58, 65, 354, 358
E1
90, 231, 264, 309,
334, 394
4, 34, 58, 65, 354, 358

51

E3
D
D
D
146
334
358
384
S
231, 264
4, 34
172, 262
22, 70, 146, 304
E2
231, 264

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
E3
309, 334, 394

4, 34
E2
172, 262

58, 65, 358


E3
63, 349, 384

22, 70, 146, 304

Cuadro 17: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.8

E1
D
D
D
D
309
58
63
E1
231
34
262
70
E1
90
354
S
63, 90, 172, 231,
264, 309, 334,
384, 394
E3
63, 90, 172, 231,
264, 309, 334,
384, 394

262,
349,

262,
349,

Merge Polif
asico con particiones formadas de 2 elementos

E2
D
D
D
22
394
65
349
E2
264
4
172
304
S
90, 231, 264, 309,
334, 394
4, 34, 58, 65, 354, 358
E1
90, 231, 264, 309,
334, 394

E3
D
D
D
146
334
358
384
S
231, 264
4, 34
172, 262
22, 70, 146, 304
E2
231, 264

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
E3
309, 334, 394

4, 34
E2
172, 262

58, 65, 358


E3
63, 349, 384

E1
4, 34, 58, 65, 354, 358

E2
22, 70, 146, 304

Cuadro 18: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
309
58
63
E1
231
34
262
70
E1
90
354
S
63, 90, 172, 231,
264, 309, 334,
384, 394
E3
63, 90, 172, 231,
264, 309, 334,
384, 394

262,
349,

262,
349,

53

E2
D
D
D
22
394
65
349
E2
264
4
172
304
S
90, 231, 264, 309,
334, 394
4, 34, 58, 65, 354, 358
E1
90, 231, 264, 309,
334, 394

E3
D
D
D
146
334
358
384
S
231, 264
4, 34
172, 262
22, 70, 146, 304
E2
231, 264

S
D
D
D
22, 146
309, 334, 394
58, 65, 358
63, 349, 384
E3
D
D
D
22, 146
E3
309, 334, 394

4, 34
E2
172, 262

58, 65, 358


E3
63, 349, 384

E1
4, 34, 58, 65, 354, 358

E2
22, 70, 146, 304

E1

E2

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

Merge Polif
asico con particiones formadas de 3 elementos

Fases
0
1
2
3
4

c1
1
1
2
4
7

c2
0
1
2
3
6

c3
0
1
1
2
4

P3

i=1 ci

1
3
5
9
17

< 11
Si
Si
Si
Si
No

Cuadro 20: Calculo de la distribuci


on de columnas y dummies
E1
D
D
22, 146
65, 358
34, 264
70, 172
354

E2
D
D
309, 394
63, 349
4, 262
90, 304

E3
D
D
58, 334
231, 384

Cuadro 21: Fase 1


3.8.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
22, 146

E2
D
D
309, 394

E3
D
D
58, 334

65, 358

63, 349

231, 384

E1
34, 264
70, 172
354

E2
4, 262
90, 304

55

S
D
D
22, 58,
394
63, 65,
384
E3
D
D
22, 58,
394
63, 65,
384

146, 309, 334,


231, 349, 358,

146, 309, 334,


231, 349, 358,

Cuadro 22: Fase 2

E1
D
D
22, 146

E2
D
D
309, 394

E3
D
D
58, 334

65, 358

63, 349

231, 384

E1
34, 264
70, 172
E1
354

E2
4, 262
90, 304
S

S
4, 34, 262, 264
70, 90, 172, 304
E2
4, 34, 262, 264

70, 90, 172, 304

S
D
D
22, 58,
394
63, 65,
384
E3
D
D
E3
22, 58,
394
63, 65,
384

146, 309, 334,


231, 349, 358,

146, 309, 334,


231, 349, 358,

Cuadro 23: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
22, 146

E2
D
D
309, 394

E3
D
D
58, 334

65, 358

63, 349

231, 384

E1
34, 264
70, 172
E1
354

E2
4, 262
90, 304
S
4, 22, 34, 58,
262, 264, 309,
354, 394
E1
4, 22, 34, 58,
262, 264, 309,
354, 394

S
4, 34, 262, 264
70, 90, 172, 304
E2
4, 34, 262, 264

146,
334,

146,
334,

E2
70, 90, 172, 304

S
D
D
22, 58, 146, 309, 334,
394
63, 65, 231, 349, 358,
384
E3
D
D
E3
22, 58, 146, 309, 334,
394
E3
63, 65, 231, 349, 358,
384

Cuadro 24: Fase 4


cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.10.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.10.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.11.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

57

E1
D
D
22, 146

E2
D
D
309, 394

E3
D
D
58, 334

65, 358

63, 349

231, 384

E1
34, 264
70, 172
E1
354

E2
4, 262
90, 304
S
4, 22, 34, 58,
262, 264, 309,
354, 394
E1
4, 22, 34, 58,
262, 264, 309,
354, 394

S
4, 34, 262, 264
70, 90, 172, 304
E2
4, 34, 262, 264

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

146,
334,

146,
334,

S
D
D
22, 58, 146, 309, 334,
394
63, 65, 231, 349, 358,
384
E3
D
D
E3
22, 58, 146, 309, 334,
394

E2
70, 90, 172, 304

E3
63, 65, 231, 349, 358,
384

E2

E3

Cuadro 25: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 26: Calculo de la distribuci


on de columnas y dummies
E1
D
58, 334, 394
4, 34, 264
90, 304, 354

E2
D
63, 65, 358
70, 172, 262

E3
22, 146, 309
231, 349, 384

Cuadro 27: Fase 1


n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
58, 334, 394

E2
D
63, 65, 358

E3
22, 146, 309
231, 349, 384

E1
4, 34, 264
90, 304, 354

E2
70, 172, 262

S
22, 146, 309
58, 63, 65, 231, 334,
349, 358, 384, 394
E3
22, 146, 309
58, 63, 65, 231, 334,
349, 358, 384, 394

Cuadro 28: Fase 2

E1
D
58, 334, 394

E2
D
63, 65, 358

E3
22, 146, 309
231, 349, 384

E1
4, 34, 264

E2
70, 172, 262

E1
90, 304, 354

S
4, 22, 34, 70, 146,
172, 262, 264, 309
E2
4, 22, 34, 70, 146,
172, 262, 264, 309

S
22, 146, 309
58, 63, 65, 231, 334,
349, 358, 384, 394
E3
22, 146, 309
E3
58, 63, 65, 231, 334,
349, 358, 384, 394

Cuadro 29: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

59

E1
D
58, 334, 394

E2
D
63, 65, 358

E3
22, 146, 309
231, 349, 384

E1
4, 34, 264

E2
70, 172, 262

E1
90, 304, 354

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

S
4, 22, 34, 70, 146,
172, 262, 264, 309
E2
4, 22, 34, 70, 146,
172, 262, 264, 309

E2

S
22, 146, 309
58, 63, 65, 231, 334,
349, 358, 384, 394
E3
22, 146, 309
E3
58, 63, 65, 231, 334,
349, 358, 384, 394

E3

Cuadro 30: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 31: Calculo de la distribuci


on de columnas y dummies

E1
D
22, 146, 309, 394
4, 34, 262, 264
354

E2
D
58, 65, 334, 358
70, 90, 172, 304

E3
D
63, 231, 349, 384

Cuadro 32: Fase 1

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
22, 146, 309, 394

E2
D
58, 65, 334, 358

E3
D
63, 231, 349, 384

E1
4, 34, 262, 264
354

E2
70, 90, 172, 304

S
D
22, 58, 63, 65,
231, 309, 334,
358, 384, 394
E3
D
22, 58, 63, 65,
231, 309, 334,
358, 384, 394

146,
349,

146,
349,

Cuadro 33: Fase 2

E1
D
22, 146, 309, 394

E2
D
58, 65, 334, 358

E3
D
63, 231, 349, 384

E1
4, 34, 262, 264

E2
70, 90, 172, 304

E1
354

S
4, 34, 70, 90, 172,
262, 264, 304
E2
4, 34, 70, 90, 172,
262, 264, 304

S
D
22, 58, 63, 65, 146,
231, 309, 334, 349,
358, 384, 394
E3
D
E3
22, 58, 63, 65, 146,
231, 309, 334, 349,
358, 384, 394

Cuadro 34: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
22, 146, 309, 394

E2
D
58, 65, 334, 358

E3
D
63, 231, 349, 384

E1
4, 34, 262, 264

E2
70, 90, 172, 304

E1
354

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

S
4, 34, 70, 90, 172,
262, 264, 304
E2
4, 34, 70, 90, 172,
262, 264, 304

E2

61

S
D
22, 58, 63, 65, 146,
231, 309, 334, 349,
358, 384, 394
E3
D
E3
22, 58, 63, 65, 146,
231, 309, 334, 349,
358, 384, 394

E3

Cuadro 35: Fase final

3.11.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.12

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on p1 = {22, 146, 309, 334, 394}
58
358
358
65
65
63
358
63
358
349
349
63
Nueva partici
on! Se cierra la partici
on p2 = {58, 65, 358}
63
384
349
384
349
231
231
384
384
264
231
264
Nueva partici
on! Se cierra la partici
on p3 = {63, 349, 384}
231
34
34
264
264
4
34
4
Nueva partici
on! Se cierra la partici
on p4 = {231, 264}
4
262
34
262
34
172
172
262
172
70
70
262
262
304
70
304
304
90
70
90
Nueva partici
on! Se cierra la partici
on p5 = {4, 34, 172, 262, 304}
70
354
354
90
90
Nada
354

354
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

63
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 36: Calculo de la distribuci


on de columnas y dummies
E1
D
22, 146, 309, 334, 394
231, 264
70, 90, 354

E2
D
58, 65, 358
4, 34, 172, 262, 304

E3
D
63, 349, 384

Cuadro 37: Fase 1


3.12.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.12.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.13.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
22, 146, 309, 334, 394

E2
D
58, 65, 358

E3
D
63, 349, 384

E1
231, 264
70, 90, 354

E2
4, 34, 172, 262, 304

S
D
22, 58, 63, 65,
309, 334, 349,
384, 394
E3
D
22, 58, 63, 65,
309, 334, 349,
384, 394

146,
358,

146,
358,

Cuadro 38: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Selecci
on Natural con buffers de tama
no 2

E1
D
22, 146, 309, 334, 394

E2
D
58, 65, 358

E3
D
63, 349, 384

E1
231, 264

E2
4, 34, 172, 262, 304

E1
70, 90, 354

S
4, 34, 172, 231, 262,
264, 304
E2
4, 34, 172, 231, 262,
264, 304

S
D
22, 58, 63, 65, 146,
309, 334, 349, 358,
384, 394
E3
D
E3
22, 58, 63, 65, 146,
309, 334, 349, 358,
384, 394

Cuadro 39: Fase 3

E1
D
22, 146, 309, 334, 394

E2
D
58, 65, 358

E3
D
63, 349, 384

E1
231, 264

E2
4, 34, 172, 262, 304

E1
70, 90, 354

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

S
4, 34, 172, 231, 262,
264, 304
E2
4, 34, 172, 231, 262,
264, 304

E2

S
D
22, 58, 63, 65, 146,
309, 334, 349, 358,
384, 394
E3
D
E3
22, 58, 63, 65, 146,
309, 334, 349, 358,
384, 394

E3

Cuadro 40: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

3.13.1.

65

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

b2
a1
a2
Sale

Nada

Nada
146

22
146

146
394

309
394

334
394
58

Nada
394
58
65
394
65

partici
on! Se cierra la partici
on p1 = {22, 146, 309, 334, 394}
58
358
65

65
358

63

Nada
358
349
63

349
358
384
63

358

384
63
231
384
63
231

Nueva partici
on! Se cierra la partici
on p2 = {58, 65, 349, 358, 384}
63
264
231

231
264

34

Nada
264

34
4
264
34
4

Nueva partici
on! Se cierra la partici
on p3 = {63, 231, 264}
4
34
262

34
172
262

172

262
70

Nada
304
262
70

262
304

70
90
304
70
90

Nueva partici
on! Se cierra la partici
on p4 = {4, 34, 172, 262, 304}
70
354
90

90
354

354
Finaliza la u
ltima partici
on en p5 = {70, 90, 354}
b1

22
22
309
309
334

58
Nueva

3.13.2.

Entra
22
146
309
394
334
58
65
Nada

358
63
349
384
231
Nada

264
34
4
Nada

262
172
70
304
90
Nada

354
Nada
Nada

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

Cuadro 41: Calculo de la distribuci


on de columnas y dummies
E1
22, 146, 309, 334, 394
4, 34, 172, 262, 304

E2
58, 65, 349, 358, 384
70, 90, 354

E3
63, 231, 264

Cuadro 42: Fase 1

3.14.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.14.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.14.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

3.15.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.
E1
22, 146, 309, 334, 394

E2
58, 65, 349, 358, 384

E3
63, 231, 264

E1
4, 34, 172, 262, 304

E2
70, 90, 354

S
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394
E3
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394

Cuadro 43: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.15

Selecci
on Natural con buffers de tama
no 3

E1
22, 146, 309, 334, 394

E2
58, 65, 349, 358, 384

E3
63, 231, 264

E1
4, 34, 172, 262, 304

E2
70, 90, 354

E2

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

67

S
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394
E3
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394

E3

Cuadro 44: Fase final

3.15.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.16

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

a2
a3
Sale

Nada

Nada

Nada

22

146

309

Nada
65

Nada
65

334
65
63
358
65
63
394

partici
on p1 = {22, 146, 309, 334, 358, 394}
58
349
65
63

63
349
65
384

65
349
231
384

231
349
264
384

264
349

384
34

Nada
349

384
34
4

Nada
349

384
34
4
262
349

384
34
4
262
384
34
4
262

Nueva partici
on! Se cierra la partici
on p2 = {58, 63, 65, 231, 264, 349, 384}
4
34
172
262

34
70
172
262

70
304
172
262

172
304

262
90

Nada
304
354
262
90

262
304
354

90

304

354

90

354
90

Nueva partici
on! Se cierra la partici
on p3 = {4, 34, 70, 172, 262, 304, 354}
90
Finaliza la u
ltima partici
on en p4 = {90}
b1
b2
b3
a1

22

22
146

22
146
309

394
146
309

394
334
309

394
334

58
394
334

58
394
334
358
58
394

358
58
394

58
58
65
63

Nueva partici
on! Se cierra la

3.15.2.

Entra
22
146
309
394
334
58
65
358
63
Nada
Nada

349
384
231
264
34
4
262
Nada
Nada

172
70
304
90
354
Nada
Nada
Nada

Nada

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.16.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Selecci
on de reemplazo con buffer de tama
no 4

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

69

<4
Si
Si
No

Cuadro 45: Calculo de la distribuci


on de columnas y dummies
E1
D
4, 34, 70, 172, 262,
304, 354

E2
22, 146, 309, 334,
358, 394
90

E3
58, 63, 65, 231, 264,
349, 384

Cuadro 46: Fase 1

3.16.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.17.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.

3.17.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

E1
D

E2
22, 146, 309, 334,
358, 394

E3
58, 63, 65, 231, 264,
349, 384

E1
4, 34, 70, 172, 262,
304, 354

E2
90

S
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394
E3
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394

Cuadro 47: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.17

Selecci
on de reemplazo con buffer de tama
no 4

E1
D

E2
22, 146, 309, 334,
358, 394

E3
58, 63, 65, 231, 264,
349, 384

E1
4, 34, 70, 172, 262,
304, 354

E2
90

E2

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
E1
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394

S
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394
E3
22, 58, 63, 65, 146,
231, 264, 309, 334,
349, 358, 384, 394

E3

Cuadro 48: Fase final

b1
b2
b3
b4

22

22
146

22
146
309

22
146
309
394
334
146
309
394
334
58
309
394
334
58
65
394
358
58
65
394
63
58
65
394
63
58
65
349
Nueva
partici
on!
Se
{22, 146, 309, 334, 358, 394}

Sale
Nada
Nada
Nada
Nada
22
146
309
334
358
394
cierra

Entra
22
146
309
394
334
58
65
358
63
349
la

partici
on

p1

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
partici
on!
Se
cierra
la
partici
on
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 u
ltima partici
on en p3 = {4, 34, 70, 90, 172, 262, 304, 354}

Enrique P. Calot

n II
Algoritmos y Programacio

3.18

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

71

<3
Si
No

Cuadro 49: Calculo de la distribuci


on de columnas y dummies
E1
22, 146, 309, 334,
358, 394

E2
58, 63, 65, 231, 264,
349, 384

E3
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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.18.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.18.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.19.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
3.19.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.19

Selecci
on Natural con buffers de tama
no 4

E1
22, 146, 309, 334,
358, 394

E2
58, 63, 65, 231, 264,
349, 384

E3
4, 34, 70, 90, 172,
262, 304, 354

E2

E3

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

a3
a4
Sale

Nada

Nada

Nada

Nada

22

146

Nada

Nada

309
63

Nada
63

334
63

349
63
231
358
63
231
384
63
231
394

= {22, 146, 309, 334, 349, 358, 384, 394}


58
264
65
63
231

63
264
65

231
34

Nada
264
65

231
34
4

Nada
264
65
262
231
34
4

65
264
172
262
231
34
4

172
264

262
231
34
4
70

Nada
264
304
262
231
34
4
70

231
264
304
262

34
4
70
90
262
264
304

34
4
70
90
264

304

34
4
70
90
304
34
4
70
90

Nueva partici
on! Se cierra la partici
on p2 = {58, 63, 65, 172, 231, 262, 264, 304}
4
34
354
70
90

34

354
70
90

70

354

90

90

354

354
Finaliza la u
ltima partici
on en p3 = {4, 34, 70, 90, 354}
b1
b2
b3

22

22
146

22
146
309
22
146
309
334
146
309
334

309
334

309
334
358
309
334
358

334
358
349
384
358
349
384
358

384

58
65
63
Nueva partici
on! Se

Enrique P. Calot

b4

394
394
394
394
394
394
394
394
394
394
394
231
cierra la

a1
a2

58

58
65
58
65
58
65
58
65
58
65
58
65
58
65
58
65

partici
on p1

Entra
22
146
309
394
334
58
65
358
63
349
384
231
Nada
Nada
Nada

264
34
4
262
172
70
304
90
Nada
Nada
Nada

354
Nada
Nada
Nada
Nada

n II
Algoritmos y Programacio

3.20

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

73

<3
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies
E1
22, 146, 309, 334,
349, 358, 384, 394

E2
58, 63, 65, 172, 231,
262, 264, 304

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.20.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.20.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.21.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
3.21.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.21

Selecci
on de reemplazo con buffer de tama
no 5

E1
22, 146, 309, 334,
349, 358, 384, 394

E2
58, 63, 65, 172, 231,
262, 264, 304

E3
4, 34, 70, 90, 354

E2

E3

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

Nada
22

Nada
22
146

Nada
22
146
309

Nada
22
146
309
394

Nada
22
146
309
394
334
22
58
146
309
394
334
58
65
146
309
394
334
65
358
146
309
394
334
146
358
63
309
394
334
309
358
63
349
394
334
334
358
63
349
394
384
349
358
63
231
394
384
358
264
63
231
394
384
384
264
63
231
394
34
394
264
63
231
4
34
Nueva
partici
on!
Se
cierra
la
{22, 58, 65, 146, 309, 334, 349, 358, 384, 394}
4
264
63
231
262
34
34
264
63
231
262
172
63
264
70
231
262
172
70
264
304
231
262
172
172
264
304
231
262
90
231
264
304
354
262
90
262
264
304
354

90
264

304
354

90
304

354

90
354

90
Nueva
partici
on!
Se
cierra
la
{4, 34, 63, 70, 172, 231, 262, 264, 304, 354}
90
Finaliza la u
ltima partici
on en p3 = {90}

3.21.2.

Entra
22
146
309
394
334
58
65
358
63
349
384
231
264
34
4
partici
on

p1

262
172
70
304
90
354
Nada
Nada
Nada
Nada
partici
on

p2

Nada

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

n II
Algoritmos y Programacio

3.22

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 5

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

75

<3
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E2
4, 34, 63, 70, 172,
231, 262, 264, 304,
354

E3
90

Cuadro 56: Fase 1


p3 = {90}.

3.22.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.22.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.22.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.23.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

3.23.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.23

Selecci
on Natural con buffers de tama
no 5

E1
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E2
4, 34, 63, 70, 172,
231, 262, 264, 304,
354

E3
90

E2

E3

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

b5
a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada
334

22
334

58
334

65
334

146
334
63

Nada
334
63

309
334
63

334

63
231

Nada

63
231
264

Nada

63
231
264
34

Nada

63
231
264
34
4
349

63
231
264
34
4
358

63
231
264
34
4
384

63
231
264
34
4
394
4

partici
on p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394}
4
63
231
264
34
262

34
63
231
264
172
262

63
70
231
264
172
262

70
304
231
264
172
262

172
304
231
264

262
90

Nada
304
231
264
354
262
90

231
304

264
354
262
90

262
304

264
354

90

264
304

354

90

304

354

90

354
90

Nueva partici
on! Se cierra la partici
on p2 = {4, 34, 63, 70, 172, 231, 262, 264, 304, 354}
90
Finaliza la u
ltima partici
on en p3 = {90}
b1
b2
b3
b4

22

22
146

22
146
309

22
146
309
394
22
146
309
394
58
146
309
394
65
146
309
394
358
146
309
394
358

309
394
358
349
309
394
358
349
384
394
358
349
384
394
358
349
384
394
358
349
384
394
358
349
384
394
358

384
394

384
394

394
63
231
264
34
Nueva partici
on! Se cierra la

Enrique P. Calot

Entra
22
146
309
394
334
58
65
358
63
349
384
231
264
34
4
Nada
Nada
Nada
Nada

262
172
70
304
90
354
Nada
Nada
Nada
Nada
Nada

Nada

n II
Algoritmos y Programacio

3.24

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

77

<3
Si
No

Cuadro 58: Calculo de la distribuci


on de columnas y dummies
E1
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E2
4, 34, 63, 70, 172,
231, 262, 264, 304,
354

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.24.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.24.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.25.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.25.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.25

Selecci
on de reemplazo con buffer de tama
no 6

E1
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E2
4, 34, 63, 70, 172,
231, 262, 264, 304,
354

E3
90

E2

E3

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

22

22
146

22
146
309

22
146
309
394

22
146
309
394
334

22
146
309
394
334
58
65
146
309
394
334
58
65
146
309
394
334
358
63
146
309
394
334
358
63
349
309
394
334
358
63
349
384
394
334
358
63
349
384
394
231
358
63
264
384
394
231
358
63
264
384
394
231
34
63
264
4
394
231
34
63
264
4
262
231
34
Nueva
partici
on!
Se
cierra
la
{22, 58, 65, 146, 309, 334, 349, 358, 384, 394}
63
264
172
262
231
34
63
264
172
262
231
70
304
264
172
262
231
70
304
264
172
262
231
90
304
264
172
262
231
354
304
264

262
231
354
304
264

262

354
304
264

354
304

354

354
Finaliza
la
u
ltima
partici
on
{4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}

3.25.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
22
58
65
146
309
334
349
358
384
394

Entra
22
146
309
394
334
58
65
358
63
349
384
231
264
34
4
262

partici
on

p1

4
34
63
70
90
172
231
262
264
304
354
en

172
70
304
90
354
Nada
Nada
Nada
Nada
Nada
Nada
p2

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

n II
Algoritmos y Programacio

3.26

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

79

<2
Si
No

Cuadro 61: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E3
4, 34, 63, 70, 90, 172,
231, 262, 264, 304,
354

Cuadro 62: Fase 1

3.26.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.26.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.26.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.27.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.27.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.27

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E3
4, 34, 63, 70, 90, 172,
231, 262, 264, 304,
354

E2

E3

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

22

22
146

22
146
309

22
146
309
394
22
146
309
394
22
146
309
394
65
146
309
394
65
146
309
394

146
309
394
349
146
309
394
349
384
309
394
349
384

394
349
384

394
349
384

394
349
384

394
349
384

394
349
384

394

384

394

384

394

394
63
231
264
34
Nueva partici
on! Se cierra la

b5
b6
a1
a2
a3
a4
a5
a6

334

334
58

334
58

334
358

334
358
63

334
358
63

334
358
63

334
358
63
231

334
358
63
231
264

334
358
63
231
264
34

334
358
63
231
264
34
4

334
358
63
231
264
34
4
262

358
63
231
264
34
4
262

358
63
231
264
34
4
262

63
231
264
34
4
262

63
231
264
34
4
262
4
262

partici
on p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394}

63
231
264
34
172
262

63
231
264
70
172
262

304
231
264
70
172
262

304
231
264
90
172
262

304
231
264
354
172
262

304
231
264
354

262

304

264
354

262

304

264
354

304

354

354

Finaliza la u
ltima partici
on en p2 = {4, 34, 63, 70, 90, 172, 231, 262, 264, 304, 354}

3.27.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
22
58
65
Nada
146
309
Nada
Nada
Nada
Nada
334
349
358
384
394

Entra
22
146
309
394
334
58
65
358
63
349
384
231
264
34
4
262
Nada
Nada
Nada
Nada
Nada

4
34
63
70
90
172
231
262
264
304
354

172
70
304
90
354
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {22, 58, 65, 146, 309, 334, 349, 358, 384, 394};
Enrique P. Calot

n II
Algoritmos y Programacio

3.28

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

81

<2
Si
No

Cuadro 64: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.28.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.28.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.29

E1
D

E2
22, 58, 65, 146, 309,
334, 349, 358, 384,
394

E3
4, 34, 63, 70, 90, 172,
231, 262, 264, 304,
354

E2

E3

Bubble Sort ascendente

S
4, 22, 34, 58, 63, 65,
70, 90, 146, 172, 231,
262, 264, 304, 309,
334, 349, 354, 358,
384, 394
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

22 146 309 394 334 58 65 358 63 349 384 231 264 34

22 146 309 334 58 65 358 63 349 384 231 264 34

4 262 172 70 304 90 354

17/20

4 262 172 70 304 90 354 394

14/19

22 146 309 58 65 334 63 349 358 231 264 34

22 146 58 65 309 63 334 349 231 264 34

22 58 65 146 63 309 334 231 264 34

22 58 65 63 146 309 231 264 34

22 58 63 65 146 231 264 34

22 58 63 65 146 231 34

22 58 63 65 146 34

4 262 172 70 304 90 354 384 394

13/18

4 262 172 70 304 90 354 358 384 394

12/17

4 262 172 70 304 90 349 354 358 384 394

10/16

4 262 172 70 304 90 334 349 354 358 384 394

10/15

4 262 172 70 304 90 309 334 349 354 358 384 394

6/14

4 262 172 70 264 90 304 309 334 349 354 358 384 394

5/13

4 231 172 70 262 90 264 304 309 334 349 354 358 384 394

5/12

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

65 146 70 172 90 231 262 264 304 309 334 349 354 358 384 394

4/10

11

22 58 34

63 65 70 146 90 172 231 262 264 304 309 334 349 354 358 384 394

3/9

12

22 34

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

n II
Algoritmos y Programacio

3.30

Bubble Sort descendente

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

83

22 146 309 394 334 58 65 358 63 349 384 231 264 34

146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354 4

16/19

309 394 334 146 65 358 63 349 384 231 264 58 34 262 172 70 304 90 354 22

13/18

394 334 309 146 358 65 349 384 231 264 63 58 262 172 70 304 90 354 34 22

11/17

394 334 309 358 146 349 384 231 264 65 63 262 172 70 304 90 354 58 34 22

11/16

394 334 358 309 349 384 231 264 146 65 262 172 70 304 90 354 63 58 34 22

10/15

394 358 334 349 384 309 264 231 146 262 172 70 304 90 354 65 63 58 34 22

7/14

394 358 349 384 334 309 264 231 262 172 146 304 90 354 70 65 63 58 34 22

4/13

394 358 384 349 334 309 264 262 231 172 304 146 354 90 70 65 63 58 34 22

3/12

394 384 358 349 334 309 264 262 231 304 172 354 146 90 70 65 63 58 34 22

2/11

10

394 384 358 349 334 309 264 262 304 231 354 172 146 90 70 65 63 58 34 22

2/10

11

394 384 358 349 334 309 264 304 262 354 231 172 146 90 70 65 63 58 34 22

2/9

12

394 384 358 349 334 309 304 264 354 262 231 172 146 90 70 65 63 58 34 22

1/8

13

394 384 358 349 334 309 304 354 264 262 231 172 146 90 70 65 63 58 34 22

1/7

14

394 384 358 349 334 309 354 304 264 262 231 172 146 90 70 65 63 58 34 22

1/6

15

394 384 358 349 334 354 309 304 264 262 231 172 146 90 70 65 63 58 34 22

1/5

16

394 384 358 349 354 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

1/4

17

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/3

18

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/2

19

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/1

20

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/0

n II
Algoritmos y Programacio

4 262 172 70 304 90 354

19/20

Facultad de Ingeniera

84

3.31

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

Bilateral Bubble Sort ascendente

22 146 309 394 334 58 65 358 63 349 384 231 264 34

4 262 172 70 304 90 354

17/20

22 146 309 334 58 65 358 63 349 384 231 264 34

4 262 172 70 304 90 354 394

16/20

4 22 146 309 334 58 65 358 63 349 384 231 264 34 70 262 172 90 304 354 394

13/18

4 22 146 309 58 65 334 63 349 358 231 264 34 70 262 172 90 304 354 384 394

12/18

4 22 34 146 309 58 65 334 63 349 358 231 264 70 90 262 172 304 354 384 394

11/16

4 22 34 146 58 65 309 63 334 349 231 264 70 90 262 172 304 354 358 384 394

8/16

4 22 34 58 146 63 65 309 70 334 349 231 264 90 172 262 304 354 358 384 394

9/14

4 22 34 58 63 65 146 70 309 334 231 264 90 172 262 304 349 354 358 384 394

5/14

4 22 34 58 63 65 70 146 90 309 334 231 264 172 262 304 349 354 358 384 394

6/12

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

n II
Algoritmos y Programacio

3.32

Bilateral Bubble Sort descendente

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

85

22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354

19/20

146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354 4

17/20

394 146 309 384 334 58 65 358 63 349 354 231 264 34 22 262 172 70 304 90

15/18

394 309 384 334 146 65 358 63 349 354 231 264 58 34 262 172 70 304 90 22

13/18

394 384 309 358 334 146 65 354 63 349 304 231 264 58 34 262 172 70 90 22

11/16

394 384 358 334 309 146 354 65 349 304 231 264 63 58 262 172 70 90 34 22

8/16

394 384 358 354 334 309 146 349 65 304 264 231 262 63 58 172 90 70 34 22

8/14

394 384 358 354 334 309 349 146 304 264 231 262 65 63 172 90 70 58 34 22

6/14

394 384 358 354 349 334 309 304 146 264 262 231 172 65 63 90 70 58 34 22

6/12

394 384 358 354 349 334 309 304 264 262 231 172 146 65 90 70 63 58 34 22

1/12

10

394 384 358 354 349 334 309 304 264 262 231 172 146 90 65 70 63 58 34 22

1/10

11

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/10

12

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/8

13

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/8

14

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/6

15

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/6

16

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/4

17

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/4

18

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/2

19

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/2

20

394 384 358 354 349 334 309 304 264 262 231 172 146 90 70 65 63 58 34 22

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.33

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

Selection Sort ascendente

22 146 309 394 334 58 65 358 63 349 384 231 264 34

4 262 172 70 304 90 354

1/20

4 146 309 394 334 58 65 358 63 349 384 231 264 34 22 262 172 70 304 90 354

1/19

4 22 309 394 334 58 65 358 63 349 384 231 264 34 146 262 172 70 304 90 354

1/18

4 22 34 394 334 58 65 358 63 349 384 231 264 309 146 262 172 70 304 90 354

1/17

4 22 34 58 334 394 65 358 63 349 384 231 264 309 146 262 172 70 304 90 354

1/16

4 22 34 58 63 394 65 358 334 349 384 231 264 309 146 262 172 70 304 90 354

1/15

4 22 34 58 63 65 394 358 334 349 384 231 264 309 146 262 172 70 304 90 354

1/14

4 22 34 58 63 65 70 358 334 349 384 231 264 309 146 262 172 394 304 90 354

1/13

4 22 34 58 63 65 70 90 334 349 384 231 264 309 146 262 172 394 304 358 354

1/12

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

n II
Algoritmos y Programacio

3.34

Selection Sort descendente

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

87

22 146 309 394 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354

1/20

394 146 309 22 334 58 65 358 63 349 384 231 264 34 4 262 172 70 304 90 354

1/19

394 384 309 22 334 58 65 358 63 349 146 231 264 34 4 262 172 70 304 90 354

1/18

394 384 358 22 334 58 65 309 63 349 146 231 264 34 4 262 172 70 304 90 354

1/17

394 384 358 354 334 58 65 309 63 349 146 231 264 34 4 262 172 70 304 90 22

1/16

394 384 358 354 349 58 65 309 63 334 146 231 264 34 4 262 172 70 304 90 22

1/15

394 384 358 354 349 334 65 309 63 58 146 231 264 34 4 262 172 70 304 90 22

1/14

394 384 358 354 349 334 309 65 63 58 146 231 264 34 4 262 172 70 304 90 22

1/13

394 384 358 354 349 334 309 304 63 58 146 231 264 34 4 262 172 70 65 90 22

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-08-02
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 tama
no 3.
b. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones ordenadas
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 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 eliminar
los 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 Ingeniera
Universidad de Buenos Aires
2010-12-13

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Merge Polif
asico . . . . . . . . . . . . . . .
2.1.1. C
alculo de la distribuci
on de columnas
2.1.2. Distribucion inicial . . . . . . . . . . .
2.2. b. Radix Sort . . . . . . . . . . . . . . . . . .
2.2.1. Desarrollo . . . . . . . . . . . . . . . .
2.3. b. Quick Sort . . . . . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.4. b. Heap Sort . . . . . . . . . . . . . . . . . .

2.4.1. Arbol
inicial . . . . . . . . . . . . . .
2.5. c. Pregunta teorica . . . . . . . . . . . . . . .
2.5.1. Respuesta . . . . . . . . . . . . . . . .
2.6. d. Ejercicio de B-trees . . . . . . . . . . . . .
2.6.1. Inserci
on . . . . . . . . . . . . . . . .
2.6.2. Eliminacion . . . . . . . . . . . . . . .
2.7. e. Seleccion de reemplazo . . . . . . . . . . .
2.7.1. Desarrollo . . . . . . . . . . . . . . . .
2.7.2. Salida final . . . . . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

6
6
6
6
6
8
9
9
9
10
12
12
13
13
14
14
14
15

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion de reemplazo . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico completo con particiones formadas de 1 elemento
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.10.1. C
alculo de la distribuci
on de columnas y dummies . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

15
15
15
15
16
16
16
31
32
47
47
47
49
49
49
50
50
50
50
52
52
52
52
52
57
57

Enrique P. Calot

.
y
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. . . . . .
dummies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.11. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . . . . . . . .
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 2
3.12.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.14.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.16.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.18.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.20.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.22.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Seleccion Natural con buffers de tama
no 5 . . . . . . . . . . . . . . . . . . . .
3.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 5 . . .
3.24.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.26.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

57
57
62
63
63
64
64
64
66
66
67
67
67
68
68
69
69
69
70
70
70
72
72
72
72
72
72
74
74
74
74
74
74
75
76
76
76
76
76
78
78
78
78
78
78
79
80
80
80

Facultad de Ingeniera


INDICE

3.27. Seleccion Natural con buffers de tama


no 6 . . . . . . . . . . .
3.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . .
3.28. Merge Polif
asico de las salidas por seleccion natural de buffers
3.28.1. C
alculo de la distribuci
on de columnas y dummies . .
3.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . .
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . .
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . .
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . .
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . .
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . .
3.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

Enrique P. Calot

. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
80
81
82
82
82
83
83
84
84
85
85
86
86
87
87
88
88

n II
Algoritmos y Programacio

1 Enunciado

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 polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas 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 sabe que s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en
una maquina con 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 polif
asico
b) Sort externo: seleccion natural (se asume M 3) y merge polif
asico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
merge polif
asico

p
2

elementos y

d ) Sort interno: quick sort de pivoteo en el primer elemento


e) Sort interno: quick sort de pivoteo en el u
ltimo elemento
f ) Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si no
hay intercambios)
g) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el
padre es mayor a los hijos)
h) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el
padre es menor a los hijos)
i ) Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar 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 tama
no 3.
n II
Algoritmos y Programacio

Facultad de Ingeniera

2 Resoluci
on estricta

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Merge Polif
asico

Desarrollar 2 fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones ordenadas tomadas del lote de datos.
2.1.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
2.1.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) 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

n II
Algoritmos y Programacio

2.2

b. Radix Sort

E1
D
D
D
D
177
147
95
16
217
182
172
176
313

E2
D
D
D
40
400
376
274
205
42
179
245

E3
D
D
D
254
256
89
382

Cuadro 2: Fase 1

E1
D
D
D
D
177
147
95
E1
16
217
182
172
176
313

E2
D
D
D
40
400
376
274
E2
205
42
179
245

E3
D
D
D
254
256
89
382
S

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382

Cuadro 3: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

E1
D
D
D
D
177
147
95
E1
16
217
182
172
E1
176
313

E2
D
D
D
40
400
376
274
E2
205
42
179
245
S

E3
D
D
D
254
256
89
382
S
16, 205
42, 217
179, 182
40, 172, 245, 254
E2
16, 205
42, 217
179, 182
40, 172, 245, 254

b. Radix Sort

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
E3
177, 256, 400
89, 147, 376
95, 274, 382

Cuadro 4: Fase 3

2.2.1.

Desarrollo

A continuacion se presenta el desarrollo del Radix Sort en orden Ascendente.

Enrique P. Calot

n II
Algoritmos y Programacio

2.3

b. Quick Sort

Paso 0
040
254
177
400
256
147
376
089
095
274
382
016
205
217
042
182
179
172
245
176
313

2.3.

Paso 1
040
400
382
042
182
172
313
254
274
095
205
245
256
376
016
176
177
147
217
089
179

Paso 2
400
205
313
016
217
040
042
245
147
254
256
172
274
376
176
177
179
382
182
089
095

Paso 3
016
040
042
089
095
147
172
176
177
179
182
205
217
245
254
256
274
313
376
382
400

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

2.4.

16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400

b. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.4

2.4.1.

b. Heap Sort

Arbol
inicial

40
254
400
89

177
256

95

274

147

376

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 asociado
Heapfy paso 0
40
254

177

400
89

256
95

274

147

376

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
182

256
245

313

147

376

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

n II
Algoritmos y Programacio

2.4

b. Heap Sort

11

40
254

177

400
182

382
245

313

205

376

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
182

382
245

313

205

217

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
254
182

376
313

245

274

205

217

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.5

c. Pregunta te
orica

40
382

376

254
182

313
245

274

205

217

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: u
ltimo congelado pedido antes del corte

2.5.

c. Pregunta te
orica

Un software recibe como entrada un arreglo completo semi-ordenado de p elementos de tipo tElem,
se sabe que s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en
una maquina con 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 polif
asico
b. Sort externo: seleccion natural (se asume M 3) y merge polif
asico
c. Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
polif
asico

p
2

elementos y merge

d. Sort interno: quick sort de pivoteo en el primer elemento


e. Sort interno: quick sort de pivoteo en el u
ltimo elemento
f. Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si no hay
intercambios)
g. Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padre
es mayor a los hijos)
h. Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padre
es menor a los hijos)
i. Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
2.5.1.

Respuesta

La mejor soluci
on es bubble sort, porque en como maximo 3 recorridas (3p comparaciones) se garantiza
el ordenamiento (del orden de O(p)), el sort externo queda descartado porque es menos optimo y el interno
se puede utilizar (la informacion entra en la memoria interna y se encuentra disponible), selection sort se
descarta por ser de orden O(p2 ) (incluso si el arreglo est
a semi-ordenado), heap sort es de orden O(p log p)
Enrique P. Calot

n II
Algoritmos y Programacio

2.6

d. Ejercicio de B-trees

13

y ambas implementaciones de quick sort resultan ineficientes para un arreglo semi-ordenado (en este caso
seran 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 luego
eliminar los siguientes:
205, 182 , 245
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.6.1.

Inserci
on
254
40177

256400

Inserci
on de 5 elementos: 40, 254, 177, 400, 256
254
4089147177

256376400

Inserci
on de 3 elementos: 147, 376, 89
95254
4089

147177

256376400

Inserci
on de 1 elemento: 95
95254376
4089

147177 256274 382400

Inserci
on de 2 elementos: 274, 382
95182254376
16404289

147177 205217 256274 382400

Inserci
on de 5 elementos: 16, 205, 217, 42, 182
95182254376
16404289

147172177179

205217 256274 382400

Inserci
on de 2 elementos: 179, 172
182
95176
16404289

147172 177179

254376
205217245

256274313

382400

Inserci
on de 3 elementos: 245, 176, 313

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.7

2.6.2.

e. Selecci
on de reemplazo

Eliminaci
on
95176254376
16404289

147172

177179217245

256274313

382400

Eliminacion de 2 elementos: 205, 182


95176254376
16404289

147172

177179217

256274313

382400

Eliminacion de 1 elemento: 245

2.7.

e. Selecci
on de reemplazo

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
2.7.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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
partici
on!
Se
cierra
la
partici
on
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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p3 = {16, 42, 182, 205, 217, 245}
172
313
176
179
313
176
Nada

179
313
179
Nada

313
313
Nada
Finaliza la u
ltima partici
on en p4 = {172, 176, 179, 313}

Enrique P. Calot

n II
Algoritmos y Programacio

3 Resoluci
on explayada

2.7.2.

15

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.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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
040
254
177
400
256
147
376
089
095
274
382
016
205
217
042
182
179
172
245
176
313

3.2.

Paso 1
089
179
177
147
217
256
376
016
176
095
205
245
254
274
313
382
042
182
172
040
400

Paso 2
095
089
382
182
179
177
376
176
274
172
256
254
147
245
042
040
217
016
313
205
400

Paso 3
400
382
376
313
274
256
254
245
217
205
182
179
177
176
172
147
095
089
042
040
016

Quick Sort completo

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

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

172 176

217 182 205 245 256 254

382 400

Paso 6
Paso 7
Final

3.3.

Heap Sort completo

205 182 217

254 256

16 40 42 89 95 147 172 176 177 179 182 205 217 245 254 256 274 313 376 382 400

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).

3.3.1.

Arbol
inicial

40
254
400
89

177
256

95

274

147

376

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 asociado
Heapfy paso 0
Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

40
254

177

400
89

256
95

274

147

376

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
182

256
245

313

147

376

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
182

382
245

313

205

376

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

40
400

376

254
182

382
245

313

205

217

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
254
182

376
313

245

274

205

217

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
254
182

376
313

245

274

205

217

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

382
313
254
182

376
274

245

176

205

217

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
254
182

376
274

245

176

205

217

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
254
182

217
274

245

176

205

177

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

95
313
254
182

217
274

245

176

205

177

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
254
182

217
256

245

176

205

177

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
254
182

217
256

245

176

205

177

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

274
256
254
182

217
176

245

172

205

177

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
254
182

217
176

245

172

205

177

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
245
182

217
176

179

172

205

177

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

89
254
245
182

217
176

179

172

205

177

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
182
89

217
176

179

172

205

177

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
182
89

217
176

179

172

205

177

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

245
182
179
89

217
176

42

172

205

177

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
179
89

217
176

42

172

205

177

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
179
89

205
176

42

172

147

177

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

40
182
179
89

205
176

42

172

147

177

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
179
89

177
176

42

172

147

40

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
179
89

177
176

42

172

147

40

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

182
179
89
16

177
176

42

172

147

40

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
89
16

177
176

42

172

147

40

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
89
16

177
172

42

95

147

40

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

95
176
89
16

177
172

42

179

147

40

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
89
16

147
172

42

179

95

40

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
89
16

147
172

177

179

95

40

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

176
172
89
16

147
42

177

179

95

40

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
89
176

147
42

177

179

95

40

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
16
176

147
42

177

179

95

40

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

40
89
16
176

147
42

177

179

95

172

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
16
176

95
42

177

179

40

172

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
16
176

95
42

177

179

147

172

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

95
89
16
176

40
42

177

179

147

172

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
16
176

40
95

177

179

147

172

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
16
176

40
95

177

179

147

172

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.3

Heap Sort completo

16
42
89
176

40
95

177

179

147

172

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
89
176

40
95

177

179

147

172

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
89
176

42
95

177

179

147

172

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

40
16
89
176

42
95

177

179

147

172

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
89
176

42
95

177

179

147

172

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
89
176

42
95

177

179

147

172

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).


n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

3.4.1.

Heap Sort descendente

Arbol
inicial

40
254
400
89

177
256

95

274

147

376

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 asociado
Heapfy paso 0
40
254

177

400
89

256
95

274

147

376

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
89

256
95

176

147

376

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

40
254

177

89
179

176
95

256

16

42

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
179

176
172

256

147

42

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
95
179

40
176

172

256

147

42

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

313
89
95
179

40
176

172

256

147

42

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
95
179

42
176

172

256

147

217

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
95
179

42
176

172

147

217

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

42
89
95
179

147
176

172

177

217

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
95
179

147
176

172

177

217

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
172
179

147
176

245

177

217

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

254
95
172
179

147
176

245

177

217

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
179
182

147
176

245

177

217

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
179
182

147
176

245

177

217

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

147
172
179
182

177
176

245

205

217

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
179
182

177
176

245

205

217

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
179
182

177
254

245

205

217

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

376
176
179
182

177
254

245

205

217

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
182
376

177
254

245

205

217

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
182
376

177
254

245

205

217

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

177
179
182
376

205
254

245

274

217

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
182
376

205
254

245

274

217

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
245
376

205
254

400

274

217

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

313
182
245
376

205
254

400

274

217

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
313
376

205
254

400

274

217

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
313
376

205
254

400

274

217

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

205
245
313
376

217
254

400

274

382

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
313
376

217
254

400

274

382

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
313
376

256
254

400

274

382

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

400
245
313
376

256
254

217

274

382

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
313
376

256
400

217

274

382

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
313
245

256
400

217

274

382

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

254
313
376
245

256
400

217

274

382

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
376
245

256
400

217

274

254

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
376
245

274
400

217

382

254

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

382
313
376
245

274
400

217

256

254

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
376
245

382
400

217

256

254

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
376
245

382
274

217

256

254

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

45

313
376
400
245

382
274

217

256

254

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
313
245

382
274

217

256

254

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
313
245

382
274

217

256

254

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.4

Heap Sort descendente

382
400
313
245

376
274

217

256

254

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
313
245

376
274

217

256

254

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
313
245

376
274

217

256

254

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

47

<4
Si
Si
No

Cuadro 5: Calculo de la distribuci


on de columnas y dummies
E1
D
16, 42, 182, 205, 217,
245

E2
40, 177, 254, 256,
376, 400
172, 176, 179, 313

E3
89, 95, 147, 274, 382

Cuadro 6: Fase 1

400
382
313
245

376
274

217

256

254

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 Polif
asico de las salidas por selecci
on de reemplazo

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.5

Merge Polif
asico de las salidas por selecci
on de reemplazo

E1
D

E2
40, 177, 254, 256,
376, 400

E3
89, 95, 147, 274, 382

E1
16, 42, 182, 205, 217,
245

E2
172, 176, 179, 313

S
40, 89, 95, 147,
254, 256, 274,
382, 400
E3
40, 89, 95, 147,
254, 256, 274,
382, 400

177,
376,

177,
376,

Cuadro 7: Fase 2

E1
D

E2
40, 177, 254, 256,
376, 400

E3
89, 95, 147, 274, 382

E1
16, 42, 182, 205, 217,
245

E2
172, 176, 179, 313

E2

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
40, 89, 95, 147,
254, 256, 274,
382, 400
E3
40, 89, 95, 147,
254, 256, 274,
382, 400

177,
376,

177,
376,

E3

Cuadro 8: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

49

P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<7
Si
Si
Si
No

Cuadro 9: Calculo de la distribuci


on de columnas y dummies
E1
D
89, 147, 376
16, 42, 182, 205, 217
176, 245, 313

E2
D
95
172, 179

E3
40, 177, 254, 256, 400
274, 382

Cuadro 10: Fase 1

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

E1
D
89, 147, 376

E2
D
95

E3
40, 177, 254, 256, 400
274, 382

E1
16, 42, 182, 205, 217
176, 245, 313

E2
172, 179

S
40, 177, 254, 256, 400
89, 95, 147, 274, 376,
382
E3
40, 177, 254, 256, 400
89, 95, 147, 274, 376,
382

Cuadro 11: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

E1
D
89, 147, 376

E2
D
95

E3
40, 177, 254, 256, 400
274, 382

E1
16, 42, 182, 205, 217

E2
172, 179

E1
176, 245, 313

S
16, 40, 42, 172,
179, 182, 205,
254, 256, 400
E2
16, 40, 42, 172,
179, 182, 205,
254, 256, 400

Fases
0
1
2
3
4
5

Cuadro 12: Fase 3


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17
13 11 7
31

177,
217,

177,
217,

S
40, 177, 254, 256, 400
89, 95, 147, 274, 376,
382
E3
40, 177, 254, 256, 400

E3
89, 95, 147, 274, 376,
382

< 21
Si
Si
Si
Si
Si
No

Cuadro 13: Calculo de la distribuci


on de columnas y dummies

3.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas 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

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

E1
D
D
D
D
177
147
95
16
217
182
172
176
313

E2
D
D
D
40
400
376
274
205
42
179
245

E3
D
D
D
254
256
89
382

51

Cuadro 14: Fase 1

E1
D
D
D
D
177
147
95
E1
16
217
182
172
176
313

E2
D
D
D
40
400
376
274
E2
205
42
179
245

E3
D
D
D
254
256
89
382
S

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382

Cuadro 15: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.9

E1
D
D
D
D
177
147
95
E1
16
217
182
172
E1
176
313

E2
D
D
D
40
400
376
274
E2
205
42
179
245
S

Merge Polif
asico con particiones formadas de 3 elementos

E3
D
D
D
254
256
89
382
S
16, 205
42, 217
179, 182
40, 172, 245, 254
E2
16, 205
42, 217
179, 182
40, 172, 245, 254

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
E3
177, 256, 400
89, 147, 376
95, 274, 382

Cuadro 16: Fase 3


3.8.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
177
147
95
E1
16
217
182
172
E1
176
313
S

E2
D
D
D
40
400
376
274
E2
205
42
179
245
S
16, 176, 177,
256, 400
42, 89, 147, 217,
376
E1
16, 176, 177,
256, 400
42, 89, 147, 217,
376

53

205,

E3
D
D
D
254
256
89
382
S
16, 205
42, 217
179, 182
40, 172, 245, 254
E2
16, 205

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
E3
177, 256, 400

313,

42, 217

89, 147, 376

205,

E2
179, 182

E3
95, 274, 382

313,

40, 172, 245, 254

Cuadro 17: Fase 4

n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

E1
D
D
D
D
177
147
95
E1
16
217
182
172
E1
176

E3
D
D
D
254
256
89
382
S
16, 205
42, 217
179, 182
40, 172, 245, 254
E2
16, 205

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
E3
177, 256, 400

42, 217

89, 147, 376

179,
274,

E2
D
D
D
40
400
376
274
E2
205
42
179
245
S
16, 176, 177, 205,
256, 400
42, 89, 147, 217, 313,
376
E1
16, 176, 177, 205,
256, 400

E2
179, 182

E3
95, 274, 382

179,
274,

E1
42, 89, 147, 217, 313,
376

E2
40, 172, 245, 254

313
S
16, 95, 176, 177,
182, 205, 256,
382, 400
E3
16, 95, 176, 177,
182, 205, 256,
382, 400

Merge Polif
asico con particiones formadas de 3 elementos

Cuadro 18: Fase 5

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
177
147
95
E1
16
217
182
172
E1
176

E3
D
D
D
254
256
89
382
S
16, 205
42, 217
179, 182
40, 172, 245, 254
E2
16, 205

S
D
D
D
40, 254
177, 256, 400
89, 147, 376
95, 274, 382
E3
D
D
D
40, 254
E3
177, 256, 400

42, 217

89, 147, 376

179,
274,

E2
D
D
D
40
400
376
274
E2
205
42
179
245
S
16, 176, 177, 205,
256, 400
42, 89, 147, 217, 313,
376
E1
16, 176, 177, 205,
256, 400

E2
179, 182

E3
95, 274, 382

179,
274,

E1
42, 89, 147, 217, 313,
376

E2
40, 172, 245, 254

E1

E2

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E3
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

313
S
16, 95, 176, 177,
182, 205, 256,
382, 400
E3
16, 95, 176, 177,
182, 205, 256,
382, 400

55

Fases
0
1
2
3
4

Cuadro 19: Fase final


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17

< 11
Si
Si
Si
Si
No

Cuadro 20: Calculo de la distribuci


on de columnas y dummies
n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.9

E1
D
D
40, 254
89, 376
205, 217
172, 179
313

Merge Polif
asico con particiones formadas de 3 elementos

E2
D
D
177, 400
95, 274
42, 182
176, 245

E3
D
D
147, 256
16, 382

Cuadro 21: Fase 1


E1
D
D
40, 254

E2
D
D
177, 400

E3
D
D
147, 256

89, 376

95, 274

16, 382

E1
205, 217
172, 179
313

E2
42, 182
176, 245

S
D
D
40, 147, 177,
256, 400
16, 89, 95, 274,
382
E3
D
D
40, 147, 177,
256, 400
16, 89, 95, 274,
382

254,
376,

254,
376,

Cuadro 22: Fase 2


E1
D
D
40, 254

E2
D
D
177, 400

E3
D
D
147, 256

89, 376

95, 274

16, 382

E1
205, 217
172, 179
E1
313

E2
42, 182
176, 245
S

S
42, 182, 205, 217
172, 176, 179, 245
E2
42, 182, 205, 217

172, 176, 179, 245

S
D
D
40, 147, 177,
256, 400
16, 89, 95, 274,
382
E3
D
D
E3
40, 147, 177,
256, 400
16, 89, 95, 274,
382

254,
376,

254,
376,

Cuadro 23: Fase 3


Enrique P. Calot

n II
Algoritmos y Programacio

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
40, 254

E2
D
D
177, 400

E3
D
D
147, 256

89, 376

95, 274

16, 382

E1
205, 217
172, 179
E1
313

E2
42, 182
176, 245
S
40, 42, 147, 177,
205, 217, 254,
313, 400
E1
40, 42, 147, 177,
205, 217, 254,
313, 400

S
42, 182, 205, 217
172, 176, 179, 245
E2
42, 182, 205, 217

182,
256,

182,
256,

E2
172, 176, 179, 245

57

S
D
D
40, 147, 177, 254,
256, 400
16, 89, 95, 274, 376,
382
E3
D
D
E3
40, 147, 177, 254,
256, 400
E3
16, 89, 95, 274, 376,
382

Cuadro 24: Fase 4


cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.10.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.10.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.11.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
D
40, 254

E2
D
D
177, 400

E3
D
D
147, 256

89, 376

95, 274

16, 382

E1
205, 217
172, 179
E1
313

E2
42, 182
176, 245
S
40, 42, 147, 177,
205, 217, 254,
313, 400
E1
40, 42, 147, 177,
205, 217, 254,
313, 400

S
42, 182, 205, 217
172, 176, 179, 245
E2
42, 182, 205, 217

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

182,
256,

182,
256,

S
D
D
40, 147, 177, 254,
256, 400
16, 89, 95, 274, 376,
382
E3
D
D
E3
40, 147, 177, 254,
256, 400

E2
172, 176, 179, 245

E3
16, 89, 95, 274, 376,
382

E2

E3

Cuadro 25: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 26: Calculo de la distribuci


on de columnas y dummies
E1
D
147, 256, 400
42, 205, 217
176, 245, 313

E2
D
89, 95, 376
172, 179, 182

E3
40, 177, 254
16, 274, 382

Cuadro 27: Fase 1


Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
147, 256, 400

E2
D
89, 95, 376

E3
40, 177, 254
16, 274, 382

E1
42, 205, 217
176, 245, 313

E2
172, 179, 182

59

S
40, 177, 254
16, 89, 95, 147, 256,
274, 376, 382, 400
E3
40, 177, 254
16, 89, 95, 147, 256,
274, 376, 382, 400

Cuadro 28: Fase 2

E1
D
147, 256, 400

E2
D
89, 95, 376

E3
40, 177, 254
16, 274, 382

E1
42, 205, 217

E2
172, 179, 182

E1
176, 245, 313

S
40, 42, 172, 177, 179,
182, 205, 217, 254
E2
40, 42, 172, 177, 179,
182, 205, 217, 254

S
40, 177, 254
16, 89, 95, 147, 256,
274, 376, 382, 400
E3
40, 177, 254
E3
16, 89, 95, 147, 256,
274, 376, 382, 400

Cuadro 29: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
147, 256, 400

E2
D
89, 95, 376

E3
40, 177, 254
16, 274, 382

E1
42, 205, 217

E2
172, 179, 182

E1
176, 245, 313

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
40, 42, 172, 177, 179,
182, 205, 217, 254
E2
40, 42, 172, 177, 179,
182, 205, 217, 254

E2

S
40, 177, 254
16, 89, 95, 147, 256,
274, 376, 382, 400
E3
40, 177, 254
E3
16, 89, 95, 147, 256,
274, 376, 382, 400

E3

Cuadro 30: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 31: Calculo de la distribuci


on de columnas y dummies

E1
D
40, 177, 254, 400
42, 182, 205, 217
313

E2
D
89, 147, 256, 376
172, 176, 179, 245

E3
D
16, 95, 274, 382

Cuadro 32: Fase 1

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
40, 177, 254, 400

E2
D
89, 147, 256, 376

E3
D
16, 95, 274, 382

E1
42, 182, 205, 217
313

E2
172, 176, 179, 245

61

S
D
16, 40, 89, 95,
177, 254, 256,
376, 382, 400
E3
D
16, 40, 89, 95,
177, 254, 256,
376, 382, 400

147,
274,

147,
274,

Cuadro 33: Fase 2

E1
D
40, 177, 254, 400

E2
D
89, 147, 256, 376

E3
D
16, 95, 274, 382

E1
42, 182, 205, 217

E2
172, 176, 179, 245

E1
313

S
42,
182,
E2
42,
182,

172, 176, 179,


205, 217, 245
172, 176, 179,
205, 217, 245

S
D
16, 40, 89, 95, 147,
177, 254, 256, 274,
376, 382, 400
E3
D
E3
16, 40, 89, 95, 147,
177, 254, 256, 274,
376, 382, 400

Cuadro 34: Fase 3

n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
40, 177, 254, 400

E2
D
89, 147, 256, 376

E3
D
16, 95, 274, 382

E1
42, 182, 205, 217

E2
172, 176, 179, 245

E1
313

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
42,
182,
E2
42,
182,

172, 176, 179,


205, 217, 245
172, 176, 179,
205, 217, 245

E2

S
D
16, 40, 89, 95, 147,
177, 254, 256, 274,
376, 382, 400
E3
D
E3
16, 40, 89, 95, 147,
177, 254, 256, 274,
376, 382, 400

E3

Cuadro 35: Fase final

3.11.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.12

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on p1 = {40, 177, 254, 256, 400}
147
89
376
89
376
95
95
89
Nueva partici
on! Se cierra la partici
on p2 = {147, 376}
89
274
95
274
95
382
382
274
274
16
382
16
382
205
205
16
Nueva partici
on! Se cierra la partici
on p3 = {89, 95, 274, 382}
16
217
205
217
205
42
42
217
217
182
42
182
Nueva partici
on! Se cierra la partici
on p4 = {16, 205, 217}
42
179
179
182
179
172
172
182
182
245
172
245
245
176
172
176
Nueva partici
on! Se cierra la partici
on p5 = {42, 179, 182, 245}
172
313
313
176
176
Nada
313

313
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

Selecci
on Natural con buffers de tama
no 2
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 36: Calculo de la distribuci


on de columnas y dummies
E1
D
40, 177, 254, 256, 400
16, 205, 217
172, 176, 313

E2
D
147, 376
42, 179, 182, 245

E3
D
89, 95, 274, 382

Cuadro 37: Fase 1


3.12.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.12.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.13.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
40, 177, 254, 256, 400

E2
D
147, 376

E3
D
89, 95, 274, 382

E1
16, 205, 217
172, 176, 313

E2
42, 179, 182, 245

S
D
40, 89, 95, 147,
254, 256, 274,
382, 400
E3
D
40, 89, 95, 147,
254, 256, 274,
382, 400

177,
376,

177,
376,

Cuadro 38: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

E1
D
40, 177, 254, 256, 400

E2
D
147, 376

E3
D
89, 95, 274, 382

E1
16, 205, 217

E2
42, 179, 182, 245

E1
172, 176, 313

S
16, 42, 179, 182, 205,
217, 245
E2
16, 42, 179, 182, 205,
217, 245

65

S
D
40, 89, 95, 147, 177,
254, 256, 274, 376,
382, 400
E3
D
E3
40, 89, 95, 147, 177,
254, 256, 274, 376,
382, 400

Cuadro 39: Fase 3

E1
D
40, 177, 254, 256, 400

E2
D
147, 376

E3
D
89, 95, 274, 382

E1
16, 205, 217

E2
42, 179, 182, 245

E1
172, 176, 313

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
16, 42, 179, 182, 205,
217, 245
E2
16, 42, 179, 182, 205,
217, 245

E2

S
D
40, 89, 95, 147, 177,
254, 256, 274, 376,
382, 400
E3
D
E3
40, 89, 95, 147, 177,
254, 256, 274, 376,
382, 400

E3

Cuadro 40: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.13

3.13.1.

Selecci
on Natural con buffers de tama
no 2

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p2 = {89, 95, 147, 274, 382}
16
217
217
205

205
42
217

42

Nada
182
217

42
182
217
Nada
42
182

Nueva partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p4 = {42, 179, 182, 245}
172
313
313
176

176
Nada
313

313
Nada
Finaliza la u
ltima partici
on 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

n II
Algoritmos y Programacio

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

67

<5
Si
Si
No

Cuadro 41: Calculo de la distribuci


on de columnas y dummies
E1
40, 177, 254, 256,
376, 400
42, 179, 182, 245

E2
89, 95, 147, 274, 382

E3
16, 205, 217

172, 176, 313

Cuadro 42: Fase 1

3.14.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.14.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.14.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 0 son dummies (particiones vacas) y 5 son mis particiones de entrada.

E1
40, 177, 254, 256,
376, 400

E2
89, 95, 147, 274, 382

E3
16, 205, 217

E1
42, 179, 182, 245

E2
172, 176, 313

S
16, 40, 89, 95,
177, 205, 217,
256, 274, 376,
400
E3
16, 40, 89, 95,
177, 205, 217,
256, 274, 376,
400

147,
254,
382,

147,
254,
382,

Cuadro 43: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.15

Selecci
on Natural con buffers de tama
no 3

E1
40, 177, 254, 256,
376, 400

E2
89, 95, 147, 274, 382

E3
16, 205, 217

E1
42, 179, 182, 245

E2
172, 176, 313

E2

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
16, 40, 89, 95,
177, 205, 217,
256, 274, 376,
400
E3
16, 40, 89, 95,
177, 205, 217,
256, 274, 376,
400

147,
254,
382,

147,
254,
382,

E3

Cuadro 44: Fase final

3.15.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.

3.15.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.16

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

a3
Sale

Nada

Nada

Nada

40

177

254

Nada

256

Nada
95
376
95
400

p1 = {40, 177, 254, 256, 376, 400}


89
147
274
95

95
147
274
382

147

274
382
16

Nada
205
274
382
16

205
217
274
382
16

217

274
382
16
42

Nada

274
382
16
42
182
274

382
16
42
182
382
16
42
182

Nueva partici
on! Se cierra la partici
on p2 = {89, 95, 147, 205, 217, 274, 382}
16
179
42
182

42
179
172
182

172
179
245
182

179

245
182
176

Nada
313
245
182
176

182
313
245

176

245
313

176

313
176

Nueva partici
on! Se cierra la partici
on p3 = {16, 42, 172, 179, 182, 245, 313}
176
Finaliza la u
ltima partici
on en p4 = {176}
b1

40
40
40
400
400
400
400
400
400
400
147
Nueva

3.15.2.

b2
b3
a1
a2

254

254
177

254
177

254
256

256
147

376
256
147

376

147
89
376

147
89

147
89
89
95

partici
on! Se cierra la partici
on

69

Entra
40
254
177
400
256
147
376
89
95
Nada
Nada

274
382
16
205
217
42
182
Nada
Nada

179
172
245
176
313
Nada
Nada
Nada

Nada

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.16.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.17

Fases
0
1
2

c1
1
1
2

Selecci
on de reemplazo con buffer de tama
no 4

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 45: Calculo de la distribuci


on de columnas y dummies
E1
D
16, 42, 172, 179, 182,
245, 313

E2
40, 177, 254, 256,
376, 400
176

E3
89, 95, 147, 205, 217,
274, 382

Cuadro 46: Fase 1

3.16.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.17.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.

3.17.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

E1
D

E2
40, 177, 254, 256,
376, 400

E3
89, 95, 147, 205, 217,
274, 382

E1
16, 42, 172, 179, 182,
245, 313

E2
176

S
40, 89, 95, 147, 177,
205, 217, 254, 256,
274, 376, 382, 400
E3
40, 89, 95, 147, 177,
205, 217, 254, 256,
274, 376, 382, 400

Cuadro 47: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Selecci
on de reemplazo con buffer de tama
no 4

71

E1
D

E2
40, 177, 254, 256,
376, 400

E3
89, 95, 147, 205, 217,
274, 382

E1
16, 42, 172, 179, 182,
245, 313

E2
176

E2

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
E1
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400

S
40, 89, 95, 147, 177,
205, 217, 254, 256,
274, 376, 382, 400
E3
40, 89, 95, 147, 177,
205, 217, 254, 256,
274, 376, 382, 400

E3

Cuadro 48: Fase final

b1
b2
b3
b4

40

40
254

40
254
177

40
254
177
400
256
254
177
400
256
254
147
400
256
376
147
400
89
376
147
400
89
95
147
400
89
95
147
274
Nueva
partici
on!
Se
{40, 177, 254, 256, 376, 400}

Sale
Nada
Nada
Nada
Nada
40
177
254
256
376
400
cierra

Entra
40
254
177
400
256
147
376
89
95
274
la

89
382
95
147
274
95
382
16
147
274
147
382
16
205
274
205
382
16
217
274
217
382
16
42
274
274
382
16
42
182
382
179
16
42
182
Nueva
partici
on!
Se
cierra
la
{89, 95, 147, 205, 217, 274, 382}
16
179
172
42
182
42
179
172
245
182
172
179
176
245
182
176
179
313
245
182
179

313
245
182
182

313
245

245

313

313
Finaliza
la
u
ltima
partici
on
{16, 42, 172, 176, 179, 182, 245, 313}

n II
Algoritmos y Programacio

partici
on

p1

p2

382
16
205
217
42
182
179
partici
on
172
245
176
313
Nada
Nada
Nada
Nada
en
p3

Facultad de Ingeniera

72

3.18

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 49: Calculo de la distribuci


on de columnas y dummies
E1
40, 177, 254, 256,
376, 400

E2
89, 95, 147, 205, 217,
274, 382

E3
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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
3.18.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.18.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.19.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
3.19.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Selecci
on Natural con buffers de tama
no 4

E1
40, 177, 254, 256,
376, 400

E2
89, 95, 147, 205, 217,
274, 382

E3
16, 42, 172, 176, 179,
182, 245, 313

E2

E3

73

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p2 = {16, 89, 95, 147, 179, 182, 205, 217, 245, 313}
42
Nada

172
176

172
Nada

176

176
Nada
Finaliza la u
ltima partici
on en p3 = {42, 172, 176}

n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.20

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

Fases
0
1

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies
E1
40, 177, 254, 256,
274, 376, 382, 400

E2
16, 89, 95, 147, 179,
182, 205, 217, 245,
313

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.20.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.20.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.21.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
3.21.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.21

Selecci
on de reemplazo con buffer de tama
no 5

E1
40, 177, 254, 256,
274, 376, 382, 400

E2
16, 89, 95, 147, 179,
182, 205, 217, 245,
313

E3
42, 172, 176

E2

E3

75

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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

Nada
40

Nada
40
254

Nada
40
254
177

Nada
40
254
177
400

Nada
40
254
177
400
256
40
147
254
177
400
256
147
376
254
177
400
256
177
376
254
89
400
256
254
376
95
89
400
256
256
376
95
89
400
274
274
376
95
89
400
382
376
16
95
89
400
382
382
16
95
89
400
205
400
16
95
89
217
205
Nueva
partici
on!
Se
cierra
la
partici
on
{40, 147, 177, 254, 256, 274, 376, 382, 400}
16
42
95
89
217
205
42
182
95
89
217
205
89
182
95
179
217
205
95
182
172
179
217
205
172
182
245
179
217
205
179
182
245
176
217
205
182
313
245
176
217
205
205
313
245
176
217

217
313
245
176

245
313

176

313

176

Nueva
partici
on!
Se
cierra
la
partici
on
{16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313}
176
Finaliza la u
ltima partici
on en p3 = {176}

3.21.2.

Entra
40
254
177
400
256
147
376
89
95
274
382
16
205
217
p1

42
182
179
172
245
176
313
Nada
Nada
Nada
Nada
p2

Nada

Salida final

p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};


p2 = {16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313};
n II
Algoritmos y Programacio

Facultad de Ingeniera

76

3.22

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
40, 147, 177, 254,
256, 274, 376, 382,
400

E2
16, 42, 89, 95, 172,
179, 182, 205, 217,
245, 313

E3
176

Cuadro 56: Fase 1


p3 = {176}.

3.22.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.22.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.22.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.23.

Selecci
on Natural con buffers de tama
no 5

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

3.23.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.23

Selecci
on Natural con buffers de tama
no 5

E1
40, 147, 177, 254,
256, 274, 376, 382,
400

E2
16, 42, 89, 95, 172,
179, 182, 205, 217,
245, 313

E3
176

E2

E3

77

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

40

147

177
89

Nada
89
95

Nada
89
95

254
89
95

256
89
95
16

Nada
89
95
16
205

Nada
89
95
16
205
217
274
89
95
16
205
217
376
89
95
16
205
217
382
89
95
16
205
217
400

p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400}


16
89
95
42
205
217

42
89
95
182
205
217

89
179
95
182
205
217

95
179
172
182
205
217

172
179
245
182
205
217

179

245
182
205
217
176

Nada
313
245
182
205
217
176

182
313
245

205
217
176

205
313
245

217
176

217
313
245

176

245
313

176

313
176

Nueva partici
on! Se cierra la partici
on p2 = {16, 42, 89, 95, 172, 179, 182, 205, 217, 245, 313}
176
Finaliza la u
ltima partici
on en p3 = {176}
b1

40
40
40
40
40
147
376
376
376
376
376
376
376
376
376

89
Nueva

b2
b3
b4
b5

254

254
177

254
177
400

254
177
400
256
254
177
400
256
254
177
400
256
254

400
256
254

400
256
254
274
400
256
382
274
400
256
382
274
400

382
274
400

382
274
400

382

400

382

400

400

95
16
205
217
partici
on! Se cierra la partici
on

n II
Algoritmos y Programacio

Entra
40
254
177
400
256
147
376
89
95
274
382
16
205
217
Nada
Nada
Nada
Nada

42
182
179
172
245
176
313
Nada
Nada
Nada
Nada
Nada

Nada

Facultad de Ingeniera

78

3.24

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 58: Calculo de la distribuci


on de columnas y dummies
E1
40, 147, 177, 254,
256, 274, 376, 382,
400

E2
16, 42, 89, 95, 172,
179, 182, 205, 217,
245, 313

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.24.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.24.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.25.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.
3.25.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.25

Selecci
on de reemplazo con buffer de tama
no 6

E1
40, 147, 177, 254,
256, 274, 376, 382,
400

E2
16, 42, 89, 95, 172,
179, 182, 205, 217,
245, 313

E3
176

E2

E3

79

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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

40

40
254

40
254
177

40
254
177
400

40
254
177
400
256

40
254
177
400
256
147
376
254
177
400
256
147
376
254
177
400
256
89
376
254
95
400
256
89
376
274
95
400
256
89
376
274
95
400
382
89
376
16
95
400
382
89
205
16
95
400
382
89
205
16
95
400
217
89
205
16
95
42
217
89
Nueva
partici
on!
Se
cierra
la
{40, 147, 177, 254, 256, 274, 376, 382, 400}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
40
147
177
254
256
274
376
382
400
partici
on

16
205
182
95
42
217
89
42
205
182
95
179
217
89
89
205
182
95
179
217
172
95
205
182
245
179
217
172
172
205
182
245
179
217
176
176
205
182
245
179
217
313
179
205
182
245

217
313
182
205

245

217
313
205

245

217
313
217

245

313
245

313
313
Finaliza
la
u
ltima
partici
on
en
{16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}

3.25.2.

Entra
40
254
177
400
256
147
376
89
95
274
382
16
205
217
42
p1

182
179
172
245
176
313
Nada
Nada
Nada
Nada
Nada
Nada
p2

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.26

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 61: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
40, 147, 177, 254,
256, 274, 376, 382,
400

E3
16, 42, 89, 95, 172,
176, 179, 182, 205,
217, 245, 313

Cuadro 62: Fase 1

3.26.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.26.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.26.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.27.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.27.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.27

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
40, 147, 177, 254,
256, 274, 376, 382,
400

E3
16, 42, 89, 95, 172,
176, 179, 182, 205,
217, 245, 313

E2

E3

81

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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

40

40
254

40
254
177
40
254
177
40
254
177
40
254
177
376
254
177
376
254
177
376
254
177
376
254
177
376
254
382
376

382
376

382
376

382
376

382
376

382
376

382

382

89
95
16
Nueva partici
on! Se

b4
b5
b6
a1
a2
a3
a4
a5
a6

400

400
256

400
256
147

400
256
147

400
256

89

400
256

89
95

400
256
274
89
95

400
256
274
89
95

400
256
274
89
95
16

400
256
274
89
95
16
205

400
256
274
89
95
16
205
217

400
256
274
89
95
16
205
217
42
400

274
89
95
16
205
217
42
400

89
95
16
205
217
42
400

89
95
16
205
217
42
400

89
95
16
205
217
42
205
217
42

cierra la partici
on p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400}

89
95
182
205
89
95
182
205
172
95
182
205
172
245
182
205
176
245
182
205
313
245
182
205
313
245
182
205
313
245

205
313
245

313
245

313

Finaliza la u
ltima partici
on

3.27.2.

217
42

217
179

217
179

217
179

217
179

217
179

217

217

217

en p2 = {16, 42, 89, 95, 172, 176, 179, 182, 205, 217, 245, 313}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
40
147
Nada
Nada
177
254
Nada
Nada
Nada
256
274
376
382
400

Entra
40
254
177
400
256
147
376
89
95
274
382
16
205
217
42
Nada
Nada
Nada
Nada
Nada

16
42
89
95
172
176
179
182
205
217
245
313

182
179
172
245
176
313
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {40, 147, 177, 254, 256, 274, 376, 382, 400};


n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.28

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 64: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
40, 147, 177, 254,
256, 274, 376, 382,
400

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.28.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.28.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort ascendente

83

E1
D

E2
40, 147, 177, 254,
256, 274, 376, 382,
400

E3
16, 42, 89, 95, 172,
176, 179, 182, 205,
217, 245, 313

E2

E3

S
16, 40, 42, 89, 95,
147, 172, 176, 177,
179, 182, 205, 217,
245, 254, 256, 274,
313, 376, 382, 400
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

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

18/20

40 177 254 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 400

14/19

40 177 254 147 256 89 95 274 376 16 205 217 42 182 179 172 245 176 313 382 400

13/18

40 177 147 254 89 95 256 274 16 205 217 42 182 179 172 245 176 313 376 382 400

12/17

40 147 177 89 95 254 256 16 205 217 42 182 179 172 245 176 274 313 376 382 400

11/16

40 147 89 95 177 254 16 205 217 42 182 179 172 245 176 256 274 313 376 382 400

11/15

40 89 95 147 177 16 205 217 42 182 179 172 245 176 254 256 274 313 376 382 400

6/14

40 89 95 147 16 177 205 42 182 179 172 217 176 245 254 256 274 313 376 382 400

6/13

40 89 95 16 147 177 42 182 179 172 205 176 217 245 254 256 274 313 376 382 400

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.30

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

Bubble Sort descendente

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

19/20

254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313 16

15/19

254 400 256 177 376 147 95 274 382 89 205 217 42 182 179 172 245 176 313 40 16

13/18

400 256 254 376 177 147 274 382 95 205 217 89 182 179 172 245 176 313 42 40 16

11/17

400 256 376 254 177 274 382 147 205 217 95 182 179 172 245 176 313 89 42 40 16

11/16

400 376 256 254 274 382 177 205 217 147 182 179 172 245 176 313 95 89 42 40 16

10/15

400 376 256 274 382 254 205 217 177 182 179 172 245 176 313 147 95 89 42 40 16

8/14

400 376 274 382 256 254 217 205 182 179 177 245 176 313 172 147 95 89 42 40 16

3/13

400 376 382 274 256 254 217 205 182 179 245 177 313 176 172 147 95 89 42 40 16

3/12

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

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort ascendente

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

85

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

18/20

40 177 254 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313 400

15/20

16 40 177 254 256 147 376 89 95 274 382 42 205 217 172 182 179 176 245 313 400

13/18

16 40 177 254 147 256 89 95 274 376 42 205 217 172 182 179 176 245 313 382 400

12/18

16 40 42 177 254 147 256 89 95 274 376 172 205 217 176 182 179 245 313 382 400

11/16

16 40 42 177 147 254 89 95 256 274 172 205 217 176 182 179 245 313 376 382 400

8/16

16 40 42 89 177 147 254 95 172 256 274 176 205 217 179 182 245 313 376 382 400

9/14

16 40 42 89 147 177 95 172 254 256 176 205 217 179 182 245 274 313 376 382 400

6/14

16 40 42 89 95 147 177 172 176 254 256 179 205 217 182 245 274 313 376 382 400

7/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.32

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

Bilateral Bubble Sort descendente

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

19/20

254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313 16

17/20

400 254 177 382 256 147 376 89 95 274 313 40 205 217 42 182 179 172 245 176 16

14/18

400 254 382 256 177 376 147 95 274 313 89 205 217 42 182 179 172 245 176 40 16

13/18

400 382 254 376 256 177 313 147 95 274 245 89 205 217 42 182 179 172 176 40 16

11/16

400 382 376 256 254 313 177 147 274 245 95 205 217 89 182 179 172 176 42 40 16

8/16

400 382 376 313 256 254 274 177 147 245 217 95 205 182 89 179 176 172 42 40 16

8/14

400 382 376 313 256 274 254 177 245 217 147 205 182 95 179 176 172 89 42 40 16

4/14

400 382 376 313 274 256 254 245 177 217 205 147 182 179 95 176 172 89 42 40 16

6/12

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

n II
Algoritmos y Programacio

3.33

Selection Sort ascendente

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

87

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

1/20

16 254 177 400 256 147 376 89 95 274 382 40 205 217 42 182 179 172 245 176 313

1/19

16 40 177 400 256 147 376 89 95 274 382 254 205 217 42 182 179 172 245 176 313

1/18

16 40 42 400 256 147 376 89 95 274 382 254 205 217 177 182 179 172 245 176 313

1/17

16 40 42 89 256 147 376 400 95 274 382 254 205 217 177 182 179 172 245 176 313

1/16

16 40 42 89 95 147 376 400 256 274 382 254 205 217 177 182 179 172 245 176 313

1/15

16 40 42 89 95 147 376 400 256 274 382 254 205 217 177 182 179 172 245 176 313

1/14

16 40 42 89 95 147 172 400 256 274 382 254 205 217 177 182 179 376 245 176 313

1/13

16 40 42 89 95 147 172 176 256 274 382 254 205 217 177 182 179 376 245 400 313

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

88

3.34

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

Selection Sort descendente

40 254 177 400 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

1/20

400 254 177 40 256 147 376 89 95 274 382 16 205 217 42 182 179 172 245 176 313

1/19

400 382 177 40 256 147 376 89 95 274 254 16 205 217 42 182 179 172 245 176 313

1/18

400 382 376 40 256 147 177 89 95 274 254 16 205 217 42 182 179 172 245 176 313

1/17

400 382 376 313 256 147 177 89 95 274 254 16 205 217 42 182 179 172 245 176 40

1/16

400 382 376 313 274 147 177 89 95 256 254 16 205 217 42 182 179 172 245 176 40

1/15

400 382 376 313 274 256 177 89 95 147 254 16 205 217 42 182 179 172 245 176 40

1/14

400 382 376 313 274 256 254 89 95 147 177 16 205 217 42 182 179 172 245 176 40

1/13

400 382 376 313 274 256 254 245 95 147 177 16 205 217 42 182 179 172 89 176 40

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-12-13
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 polif
asico para 3 vas de entrada con 21 particiones ordenadas
tomadas 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 sabe
que s
olo hay tres elementos fuera de su lugar (no se sabe cu
ales), el software es ejecutado en una maquina
con 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 polif
asico
b) Sort externo: seleccion natural (se asume M 3) y merge polif
asico
c) Sort externo: quick sort de pivoteo en el primer elemento sobre particiones de
polif
asico

p
2

elementos y merge

d ) Sort interno: quick sort de pivoteo en el primer elemento


e) Sort interno: quick sort de pivoteo en el u
ltimo elemento
f ) Sort interno: bubble sort bilateral (recorre en ambos sentidos y tiene un flag para cortar si no hay
intercambios)
g) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padre
es mayor a los hijos)
h) Sort interno: heap sort (se asume que el orden es ascendente y en todos los nodos del heap el padre
es menor a los hijos)
i ) Sort interno: selection sort
cu
al de todas implementara? Justifique su elecci
on.
d. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminar
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 tama
no 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 Ingeniera
Universidad de Buenos Aires
2010-12-20

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado
2. Resoluci
on estricta
2.1. a. Pregunta teorica . . . . . . . . . . . . . . .
2.1.1. Respuesta . . . . . . . . . . . . . . . .
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . .
2.2.1. Inserci
on . . . . . . . . . . . . . . . .
2.2.2. Eliminacion . . . . . . . . . . . . . . .
2.3. c. Seleccion Natural . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.3.2. Salida final . . . . . . . . . . . . . . .
2.4. d. Radix Sort . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . .
2.5. d. Quick Sort . . . . . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . .
2.6. d. Heap Sort . . . . . . . . . . . . . . . . . .

2.6.1. Arbol
inicial . . . . . . . . . . . . . .
2.7. e. Merge Polif
asico . . . . . . . . . . . . . . .
2.7.1. C
alculo de la distribuci
on de columnas
2.7.2. Distribucion inicial . . . . . . . . . . .

5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
6
7
7
7
8
8
8
9
9
9
10
12
12
12

3. Resoluci
on explayada
3.1. Radix Sort descendente . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Quick Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Heap Sort completo . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Heap Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Merge Polif
asico de las salidas por seleccion natural . . . . . . . .
3.5.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.5.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.6. Merge Polif
asico de las particiones marcadas . . . . . . . . . . . . .
3.6.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.7. Merge Polif
asico completo con particiones formadas de 1 elemento
3.7.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.7.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.8. Merge Polif
asico con particiones formadas de 2 elementos . . . . .
3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.9. Merge Polif
asico con particiones formadas de 3 elementos . . . . .
3.9.1. C
alculo de la distribuci
on de columnas y dummies . . . . .
3.9.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . .
3.10. Merge Polif
asico con particiones formadas de 4 elementos . . . . .
3.10.1. C
alculo de la distribuci
on de columnas y dummies . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

14
14
14
15
15
15
16
31
31
47
47
47
47
47
47
49
49
49
49
51
51
51
51
51
56
56

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
y
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
dummies
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.10.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.11. Seleccion de reemplazo con buffer de tama
no 2 . . . . . . . . . . . . . . . . .
3.11.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 2
3.12.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.12.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Seleccion Natural con buffers de tama
no 2 . . . . . . . . . . . . . . . . . . . .
3.13.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 2 . . .
3.14.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.14.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Seleccion de reemplazo con buffer de tama
no 3 . . . . . . . . . . . . . . . . .
3.15.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 3
3.16.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.16.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Seleccion Natural con buffers de tama
no 3 . . . . . . . . . . . . . . . . . . . .
3.17.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 3 . . .
3.18.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.18.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Seleccion de reemplazo con buffer de tama
no 4 . . . . . . . . . . . . . . . . .
3.19.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 4
3.20.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.20.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.21.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.22.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.22.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.23.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.24.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.24.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25. Seleccion de reemplazo con buffer de tama
no 6 . . . . . . . . . . . . . . . . .
3.25.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 6
3.26.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

56
56
61
62
62
63
63
63
65
65
66
66
66
68
68
68
68
69
69
69
69
71
71
71
71
72
72
73
74
74
74
74
74
76
76
76
76
76
76
77
78
78
78
78
78
79
80
80
80

Facultad de Ingeniera


INDICE

3.27. Seleccion Natural con buffers de tama


no 6 . . . . . . . . . . .
3.27.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . .
3.28. Merge Polif
asico de las salidas por seleccion natural de buffers
3.28.1. C
alculo de la distribuci
on de columnas y dummies . .
3.28.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.29. Bubble Sort ascendente . . . . . . . . . . . . . . . . . . . . .
3.29.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.30. Bubble Sort descendente . . . . . . . . . . . . . . . . . . . . .
3.30.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.31. Bilateral Bubble Sort ascendente . . . . . . . . . . . . . . . .
3.31.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.32. Bilateral Bubble Sort descendente . . . . . . . . . . . . . . .
3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.33. Selection Sort ascendente . . . . . . . . . . . . . . . . . . . .
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .
3.34. Selection Sort descendente . . . . . . . . . . . . . . . . . . . .
3.34.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

Enrique P. Calot

. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
80
81
82
82
82
83
83
84
84
85
85
86
86
87
87
88
88

n II
Algoritmos y Programacio

1 Enunciado

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 quede
en 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 luego
eliminar 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 tama
no 5.
d. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero), Heap Sort en orden ascendente (hacer al menos 1 swapdown) y Quick Sort (hasta haber completado dos niveles de recursividad).
e. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.

2.

Resoluci
on estricta

El objetivo de este apunte es resolver los ejercicios para proveer al alumno de una explicacion conceptual sobre como funcionan los algoritmos. Se recomienda no mecanizar las respuestas si no se entiende
su funcionamiento, ya que en ciertos casos particulares existen excepciones a la regla, es por esto que si
bien se presentan estos ejemplo no es para que se responda el examen por analoga, sino para permitirle
al alumno inducir las reglas con las cuales los algoritmos se manejan.
Las resoluciones presentadas a continuacion est
an desarrolladas a modo de explicacion y sin escatimar
espacio ni tiempo de escritura, en los ex
amenes, las respuestas pueden ser mas sinteticas, evitando escribir
muchas veces un
arbol o las tablas enteras de Quick Sort, seleccion natural o de reemplazo por ejemplo.
Cada algoritmo tiene su metodo de abreviaci
on, pero escapa de los alcances de este apunte explicarlos.
Es por esta raz
on que este resuelto tiene una extensi
on mucho mayor que la que puede llegar a tener una
respuesta de examen.
La resoluci
on estricta es una explicacion del algoritmo cortando en los puntos donde el enunciado lo
explicita. En casos de dudas, mas adelante se encuentra la resoluci
on explayada, que continua algunos
ejercicios por mas de lo especificado en el enunciado y resuelve otros algoritmos similares con el mismo
lote de datos para permitir al alumno efectuar comparaciones.

2.1.

a. Pregunta te
orica

Que es lo que garantiza que una vez congelado un pivote tras una iteracion de Quick Sort este quede
en su posicion final pese a que el resto de los elementos pueden estar completamente desordenados?
n II
Algoritmos y Programacio

Facultad de Ingeniera

2.2

2.1.1.

b. Ejercicio de B-trees

Respuesta

Lo que da esa garanta es que luego del procedimiento de intercambios, todos los menores quedan de
un 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 luego
eliminar los siguientes:
256, 246 , 277
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.2.1.

Inserci
on
285
38220

305382

Inserci
on de 5 elementos: 285, 38, 305, 220, 382
285
3871160220

305374382

Inserci
on de 3 elementos: 160, 71, 374
75285
3871

160220

305374382

Inserci
on de 1 elemento: 75
75285374
3871

160220 305330 376382

Inserci
on de 2 elementos: 330, 376
75246285374
28384771

160220 256273 305330 376382

Inserci
on de 5 elementos: 246, 28, 256, 47, 273
75246285374
28384771

160183220236

256273 305330 376382

Inserci
on de 2 elementos: 236, 183
246
75190
28384771

160183 220236

285374
256273277

305330331

376382

Inserci
on de 3 elementos: 277, 190, 331

Enrique P. Calot

n II
Algoritmos y Programacio

2.3

c. Selecci
on Natural

2.2.2.

Eliminaci
on

75190285374
28384771

160183

220236273277

305330331

376382

Eliminacion de 2 elementos: 256, 246

75190285374
28384771

160183

220236273

305330331

376382

Eliminacion de 1 elemento: 277

2.3.

c. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

2.3.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

2.4

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

38

160
71

Nada
71

220
71
75

Nada
71
75

285
71
75

305
71
75
246

Nada
71
75
246
28

Nada
71
75
246
28
256
330
71
75
246
28
256
374
71
75
246
28
256
376
71
75
246
28
256
382

p1 = {38, 160, 220, 285, 305, 330, 374, 376, 382}


28
71
75
246
47
256

47
71
75
246
273
256

71
236
75
246
273
256

75
236
183
246
273
256

183
236
277
246
273
256

236

277
246
273
256
190

Nada
331
277
246
273
256
190

246
331
277

273
256
190

256
331
277

273

190

273
331
277

190

277
331

190

331
190

Nueva partici
on! Se cierra la partici
on p2 = {28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331}
190
Finaliza la u
ltima partici
on en p3 = {190}
b1

285
285
285
285
285
285
285
285
285
285
376
376
376
376
376
376

71
Nueva

2.3.2.

b2
b3
b4
b5

38

38
305

38
305
220

38
305
220
382
160
305
220
382

305
220
382
374
305
220
382
374
305

382
374
305
330
382
374
305
330
382
374

330
382
374

330
382
374

330
382
374

382

382

382
75
246
28
256
partici
on! Se cierra la partici
on

d. Radix Sort

Entra
285
38
305
220
382
160
71
374
75
330
376
246
28
256
Nada
Nada
Nada
Nada

47
273
236
183
277
190
331
Nada
Nada
Nada
Nada
Nada

Nada

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

n II
Algoritmos y Programacio

2.5

d. Quick Sort

Paso 0
285
038
305
220
382
160
071
374
075
330
376
246
028
256
047
273
236
183
277
190
331

2.5.

Paso 1
220
160
330
190
071
331
382
273
183
374
285
305
075
376
246
256
236
047
277
038
028

Paso 2
305
220
028
330
331
236
038
246
047
256
160
071
273
374
075
376
277
382
183
285
190

Paso 3
028
038
047
071
075
160
183
190
220
236
246
256
273
277
285
305
330
331
374
376
382

d. Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).

2.5.1.

2.6.

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

Final

28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382

305 330 374 331 376 382

d. Heap Sort

Desarrollar el algoritmo de Heap Sort en orden ascendente (hacer al menos 1 swapdown).


n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.6

2.6.1.

d. Heap Sort

Arbol
inicial
285
38

305

220

382

374

75

330

160

71

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 asociado


Heapfy paso 0
285
38
220
374

305
382

75

330

160

71

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
220
374

305
382

277

331

160

71

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

n II
Algoritmos y Programacio

2.6

d. Heap Sort

11

Heapfy paso 2
285
38
374
273

305
382

277

331

246

256

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
374
273

305
376

277

331

246

256

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
374
273

305
331

277

330

246

256

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.7

e. Merge Polif
asico

285
376

305

374
273

331
277

330

246

256

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: u
ltimo congelado pedido antes del corte

2.7.

e. Merge Polif
asico

Desarrollar 2 fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones ordenadas tomadas del lote de datos.

2.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

2.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

Fases
0
1
2
3
4
5

c1
1
1
2
4
7
13

c2
0
1
2
3
6
11

c3
0
1
1
2
4
7

P3

i=1 ci

1
3
5
9
17
31

< 21
Si
Si
Si
Si
Si
No

Cuadro 1: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

2.7

e. Merge Polif
asico

E1
D
D
D
D
305
160
75
246
256
273
183
190
331

13

E2
D
D
D
285
220
71
330
28
47
236
277

E3
D
D
D
38
382
374
376

Cuadro 2: Fase 1

E1
D
D
D
D
305
160
75
E1
246
256
273
183
190
331

E2
D
D
D
285
220
71
330
E2
28
47
236
277

E3
D
D
D
38
382
374
376
S

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376

Cuadro 3: Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

3 Resoluci
on explayada

E1
D
D
D
D
305
160
75
E1
246
256
273
183
E1
190
331

E2
D
D
D
285
220
71
330
E2
28
47
236
277
S

E3
D
D
D
38
382
374
376
S
28, 246
47, 256
236, 273
38, 183, 277, 285
E2
28, 246
47, 256
236, 273
38, 183, 277, 285

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
E3
220, 305, 382
71, 160, 374
75, 330, 376

Cuadro 4: Fase 3

3.

Resoluci
on explayada

Esta seccion tiene como objetivo complementar los ejercicios mostrando las resoluciones completas
a los enunciados y agregar los faltantes utilizando el mismo lote de datos. De esta forma el alumno
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.

Enrique P. Calot

n II
Algoritmos y Programacio

3.2

Quick Sort completo

15

Paso 0
285
038
305
220
382
160
071
374
075
330
376
246
028
256
047
273
236
183
277
190
331

3.2.

Paso 1
038
028
047
277
376
246
256
236
285
305
075
374
273
183
382
071
331
220
160
330
190

Paso 2
190
285
183
382
277
376
075
374
273
071
160
256
047
246
038
236
331
330
028
220
305

Paso 3
382
376
374
331
330
305
285
277
273
256
246
236
220
190
183
160
075
071
047
038
028

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

305 330 374 331

75 190 160 71 183 220 236 273 246 277 256

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

3.3.

28 38 47 71 75 160 183 190 220 236 246 256 273 277 285 305 330 331 374 376 382

Heap Sort completo

Desarrollar el algoritmo de Heap Sort en orden ascendente (entero).


n II
Algoritmos y Programacio

Facultad de Ingeniera

16

3.3

3.3.1.

Heap Sort completo

Arbol
inicial
285
38

305

220

382

374

75

330

160

71

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 asociado


Heapfy paso 0
285
38
220
374

305
382

75

330

160

71

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
220
374

305
382

277

331

160

71

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

17

Heapfy paso 2
285
38
374
273

305
382

277

331

246

256

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
374
273

305
376

277

331

246

256

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
374
273

305
331

277

330

246

256

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

18

3.3

Heap Sort completo

285
376
374
273

305
331

277

330

246

256

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
285
273

305
331

277

330

246

256

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
285
273

305
331

277

330

246

256

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

19

374
331
285
273

305
330

277

190

246

256

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
285
273

305
330

277

190

246

256

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
285
273

305
190

277

75

246

256

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

20

3.3

Heap Sort completo

183
330
285
273

305
190

277

75

246

256

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
277
273

305
190

183

75

246

256

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
277
273

305
190

183

75

246

256

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

21

305
285
277
273

256
190

183

75

246

236

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
277
273

256
190

183

75

246

236

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
273
220

256
190

183

75

246

236

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.3

Heap Sort completo

47
277
273
220

256
190

183

75

246

236

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
220
47

256
190

183

75

246

236

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
220
47

256
190

183

75

246

236

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

23

273
220
183

256
190

47

71

75

246

236

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
183
47

256
190

71

75

246

236

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
183
47

246
190

71

75

160

236

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

Heap Sort completo

28
220
183
47

246
190

71

75

160

236

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
183
47

236
190

71

75

160

28

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
183
47

236
190

71

75

160

28

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

25

236
220
183
47

160
190

71

75

38

28

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
183
47

160
190

71

236

38

28

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
183
47

160
75

71

236

38

28

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

26

3.3

Heap Sort completo

71
190
183
47

160
75

220

236

38

28

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
71
47

160
75

220

236

38

28

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
71
190

160
75

220

236

38

28

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

27

183
75
71
190

160
47

220

236

38

28

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
71
190

160
47

220

236

38

183

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
71
190

38
47

220

236

28

183

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

28

3.3

Heap Sort completo

28
75
71
190

38
47

220

236

160

183

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
28
190

38
47

220

236

160

183

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
28
190

38
75

220

236

160

183

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

n II
Algoritmos y Programacio

3.3

Heap Sort completo

29

71
47
28
190

38
75

220

236

160

183

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
71
190

38
75

220

236

160

183

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
71
190

38
75

220

236

160

183

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

30

3.3

Heap Sort completo

38
28
71
190

47
75

220

236

160

183

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
71
190

47
75

220

236

160

183

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
71
190

47
75

220

236

160

183

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

31

28
38

47

71
190

75
220

236

160

183

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
220
374

305
382

75

330

160

71

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 asociado
Heapfy paso 0
n II
Algoritmos y Programacio

Facultad de Ingeniera

32

3.4

Heap Sort descendente

285
38
220
374

305
382

75

330

160

71

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
220
236

305
382

75

190

160

71

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
75
236

305
190

183

330

28

47

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

33

285
38
75
236

28
190

183

330

160

47

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
75
236

47
190

183

330

160

71

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
75
236

47
190

183

330

160

71

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

34

3.4

Heap Sort descendente

38
75
183
236

47
190

220

330

160

71

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
183
236

47
190

220

330

160

71

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
183
236

71
190

220

330

160

256

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

35

277
75
183
236

71
190

220

330

160

256

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
183
236

160
190

220

330

246

256

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
183
236

160
190

220

330

246

256

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

36

3.4

Heap Sort descendente

75
183
220
236

160
190

331

330

246

256

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
220
236

160
190

331

330

246

256

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
220
236

246
190

331

330

277

256

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

37

273
183
220
236

246
190

331

330

277

256

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
220
236

246
273

331

330

277

256

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
220
236

246
273

331

330

277

256

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

38

3.4

Heap Sort descendente

190
220
236
285

246
273

331

330

277

256

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
236
285

246
273

331

330

277

256

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
285
382

246
273

331

330

277

256

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

39

305
236
285
382

246
273

331

330

277

256

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
285
382

246
305

331

330

277

256

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
285
382

246
305

331

330

277

256

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

40

3.4

Heap Sort descendente

246
273
285
382

256
305

331

330

277

374

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
285
382

256
305

331

330

277

374

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
285
382

277
305

331

330

376

374

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

41

330
273
285
382

277
305

331

256

376

374

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
330
382

277
305

331

256

376

374

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
330
382

277
305

273

256

376

374

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

42

3.4

Heap Sort descendente

277
285
330
382

331
305

273

256

376

374

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
330
277

331
305

273

256

376

374

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
330
277

331
382

273

256

376

374

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

43

374
305
330
277

331
382

273

256

376

285

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
374
277

331
382

273

256

376

285

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
374
277

331
382

273

256

305

285

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

44

3.4

Heap Sort descendente

330
374
376
277

331
382

273

256

305

285

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
376
277

331
330

273

256

305

285

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
376
277

382
330

273

256

305

285

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

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

45

376
374
331
277

382
330

273

256

305

285

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
331
277

382
330

273

256

305

285

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
331
277

374
330

273

256

305

285

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
n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.4

Heap Sort descendente

376
382
331
277

374
330

273

256

305

285

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
331
277

374
330

273

256

305

285

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
331
277

374
330

273

256

305

285

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

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on natural

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

47

<3
Si
No

Cuadro 5: Calculo de la distribuci


on de columnas y dummies
E1
38, 160, 220, 285,
305, 330, 374, 376,
382

E2
28, 47, 71, 75, 183,
236, 246, 256, 273,
277, 331

E3
190

Cuadro 6: Fase 1

3.5.

Merge Polif
asico de las salidas por selecci
on natural

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.5.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.5.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.6.

Merge Polif
asico de las particiones marcadas

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las 7 particiones
correspondientes 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.6.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

n II
Algoritmos y Programacio

Facultad de Ingeniera

48

3.6

Merge Polif
asico de las particiones marcadas

E1
38, 160, 220, 285,
305, 330, 374, 376,
382

E2
28, 47, 71, 75, 183,
236, 246, 256, 273,
277, 331

E3
190

E2

E3

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<7
Si
Si
Si
No

Cuadro 8: Calculo de la distribuci


on de columnas y dummies

E1
D
71, 160, 374
28, 47, 246, 256, 273
190, 277, 331

E2
D
75
183, 236

E3
38, 220, 285, 305, 382
330, 376

Cuadro 9: Fase 1
E1
D
71, 160, 374

E2
D
75

E3
38, 220, 285, 305, 382
330, 376

E1
28, 47, 246, 256, 273
190, 277, 331

E2
183, 236

S
38, 220, 285, 305, 382
71, 75, 160, 330, 374,
376
E3
38, 220, 285, 305, 382
71, 75, 160, 330, 374,
376

Cuadro 10: Fase 2

Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

E1
D
71, 160, 374

E2
D
75

E3
38, 220, 285, 305, 382
330, 376

E1
28, 47, 246, 256, 273

E2
183, 236

E1
190, 277, 331

S
28, 38, 47, 183,
236, 246, 256,
285, 305, 382
E2
28, 38, 47, 183,
236, 246, 256,
285, 305, 382

Fases
0
1
2
3
4
5

Cuadro 11: Fase 3


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17
13 11 7
31

220,
273,

220,
273,

49

S
38, 220, 285, 305, 382
71, 75, 160, 330, 374,
376
E3
38, 220, 285, 305, 382

E3
71, 75, 160, 330, 374,
376

< 21
Si
Si
Si
Si
Si
No

Cuadro 12: Calculo de la distribuci


on de columnas y dummies

3.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
3.7.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.7.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 10 son dummies (particiones vacas) y 21 son mis particiones de entrada.

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 11 particiones
ordenadas de 2 elementos cada una tomadas del lote de datos.
Por ejemplo p1 = {38, 285}; p2 = {220, 305}; . . . ; p10 = {190, 277}; p11 = {331}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

50

3.8

E1
D
D
D
D
305
160
75
246
256
273
183
190
331

E2
D
D
D
285
220
71
330
28
47
236
277

Merge Polif
asico con particiones formadas de 2 elementos

E3
D
D
D
38
382
374
376

Cuadro 13: Fase 1

E1
D
D
D
D
305
160
75
E1
246
256
273
183
190
331

E2
D
D
D
285
220
71
330
E2
28
47
236
277

E3
D
D
D
38
382
374
376
S

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376

Cuadro 14: Fase 2

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
305
160
75
E1
246
256
273
183
E1
190
331

E2
D
D
D
285
220
71
330
E2
28
47
236
277
S

E3
D
D
D
38
382
374
376
S
28, 246
47, 256
236, 273
38, 183, 277, 285
E2
28, 246
47, 256
236, 273
38, 183, 277, 285

51

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
E3
220, 305, 382
71, 160, 374
75, 330, 376

Cuadro 15: Fase 3


3.8.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.8.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 particiones
de las cuales 6 son dummies (particiones vacas) y 11 son mis particiones de entrada.

3.9.

Merge Polif
asico con particiones formadas de 3 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 7 particiones
ordenadas 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.9.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
n II
Algoritmos y Programacio

Facultad de Ingeniera

52

3.9

E1
D
D
D
D
305
160
75
E1
246
256
273
183
E1
190
331
S

Merge Polif
asico con particiones formadas de 3 elementos

E2
D
D
D
285
220
71
330
E2
28
47
236
277
S
28, 190, 220,
305, 382
47, 71, 160, 256,
374
E1
28, 190, 220,
305, 382
47, 71, 160, 256,
374

246,

E3
D
D
D
38
382
374
376
S
28, 246
47, 256
236, 273
38, 183, 277, 285
E2
28, 246

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
E3
220, 305, 382

331,

47, 256

71, 160, 374

246,

E2
236, 273

E3
75, 330, 376

331,

38, 183, 277, 285

Cuadro 16: Fase 4

Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
D
D
305
160
75
E1
246
256
273
183
E1
190

E3
D
D
D
38
382
374
376
S
28, 246
47, 256
236, 273
38, 183, 277, 285
E2
28, 246

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
E3
220, 305, 382

47, 256

71, 160, 374

236,
330,

E2
D
D
D
285
220
71
330
E2
28
47
236
277
S
28, 190, 220, 246,
305, 382
47, 71, 160, 256, 331,
374
E1
28, 190, 220, 246,
305, 382

E2
236, 273

E3
75, 330, 376

236,
330,

E1
47, 71, 160, 256, 331,
374

E2
38, 183, 277, 285

331
S
28, 75, 190, 220,
246, 273, 305,
376, 382
E3
28, 75, 190, 220,
246, 273, 305,
376, 382

53

Cuadro 17: Fase 5

n II
Algoritmos y Programacio

Facultad de Ingeniera

54

3.9

E1
D
D
D
D
305
160
75
E1
246
256
273
183
E1
190

E3
D
D
D
38
382
374
376
S
28, 246
47, 256
236, 273
38, 183, 277, 285
E2
28, 246

S
D
D
D
38, 285
220, 305, 382
71, 160, 374
75, 330, 376
E3
D
D
D
38, 285
E3
220, 305, 382

47, 256

71, 160, 374

236,
330,

E2
D
D
D
285
220
71
330
E2
28
47
236
277
S
28, 190, 220, 246,
305, 382
47, 71, 160, 256, 331,
374
E1
28, 190, 220, 246,
305, 382

E2
236, 273

E3
75, 330, 376

236,
330,

E1
47, 71, 160, 256, 331,
374

E2
38, 183, 277, 285

E1

E2

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E3
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

331
S
28, 75, 190, 220,
246, 273, 305,
376, 382
E3
28, 75, 190, 220,
246, 273, 305,
376, 382

Merge Polif
asico con particiones formadas de 3 elementos

Fases
0
1
2
3
4

Cuadro 18: Fase final


P3
c1 c2 c3
i=1 ci
1
0
0
1
1
1
1
3
2
2
1
5
4
3
2
9
7
6
4
17

< 11
Si
Si
Si
Si
No

Cuadro 19: Calculo de la distribuci


on de columnas y dummies
Enrique P. Calot

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

E1
D
D
38, 285
71, 374
28, 256
183, 236
331

E2
D
D
220, 305
75, 330
47, 273
190, 277

E3
D
D
160, 382
246, 376

55

Cuadro 20: Fase 1


E1
D
D
38, 285

E2
D
D
220, 305

E3
D
D
160, 382

71, 374

75, 330

246, 376

E1
28, 256
183, 236
331

E2
47, 273
190, 277

S
D
D
38, 160, 220,
305, 382
71, 75, 246, 330,
376
E3
D
D
38, 160, 220,
305, 382
71, 75, 246, 330,
376

285,
374,

285,
374,

Cuadro 21: Fase 2


E1
D
D
38, 285

E2
D
D
220, 305

E3
D
D
160, 382

71, 374

75, 330

246, 376

E1
28, 256
183, 236
E1
331

E2
47, 273
190, 277
S

S
28, 47, 256, 273
183, 190, 236, 277
E2
28, 47, 256, 273

183, 190, 236, 277

S
D
D
38, 160, 220,
305, 382
71, 75, 246, 330,
376
E3
D
D
E3
38, 160, 220,
305, 382
71, 75, 246, 330,
376

285,
374,

285,
374,

Cuadro 22: Fase 3


n II
Algoritmos y Programacio

Facultad de Ingeniera

56

3.10

Merge Polif
asico con particiones formadas de 4 elementos

E1
D
D
38, 285

E2
D
D
220, 305

E3
D
D
160, 382

71, 374

75, 330

246, 376

E1
28, 256
183, 236
E1
331

E2
47, 273
190, 277
S
28, 38, 47, 160,
256, 273, 285,
331, 382
E1
28, 38, 47, 160,
256, 273, 285,
331, 382

S
28, 47, 256, 273
183, 190, 236, 277
E2
28, 47, 256, 273

220,
305,

220,
305,

E2
183, 190, 236, 277

S
D
D
38, 160, 220, 285,
305, 382
71, 75, 246, 330, 374,
376
E3
D
D
E3
38, 160, 220, 285,
305, 382
E3
71, 75, 246, 330, 374,
376

Cuadro 23: Fase 4


cuales 2 son dummies (particiones vacas) y 7 son mis particiones de entrada.

3.10.

Merge Polif
asico con particiones formadas de 4 elementos

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 6 particiones
ordenadas de 4 elementos cada una tomadas del lote de datos.
Es decir las particiones seran 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.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.10.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.11.

Selecci
on de reemplazo con buffer de tama
no 2

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 2.
Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

57

E1
D
D
38, 285

E2
D
D
220, 305

E3
D
D
160, 382

71, 374

75, 330

246, 376

E1
28, 256
183, 236
E1
331

E2
47, 273
190, 277
S
28, 38, 47, 160,
256, 273, 285,
331, 382
E1
28, 38, 47, 160,
256, 273, 285,
331, 382

S
28, 47, 256, 273
183, 190, 236, 277
E2
28, 47, 256, 273

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

220,
305,

220,
305,

S
D
D
38, 160, 220, 285,
305, 382
71, 75, 246, 330, 374,
376
E3
D
D
E3
38, 160, 220, 285,
305, 382

E2
183, 190, 236, 277

E3
71, 75, 246, 330, 374,
376

E2

E3

Cuadro 24: Fase final


Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<7
Si
Si
Si
No

Cuadro 25: Calculo de la distribuci


on de columnas y dummies
E1
D
160, 220, 382
28, 47, 256
190, 277, 331

E2
D
71, 75, 374
183, 236, 273

E3
38, 285, 305
246, 330, 376

Cuadro 26: Fase 1


n II
Algoritmos y Programacio

Facultad de Ingeniera

58

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
160, 220, 382

E2
D
71, 75, 374

E3
38, 285, 305
246, 330, 376

E1
28, 47, 256
190, 277, 331

E2
183, 236, 273

S
38, 285, 305
71, 75, 160, 220, 246,
330, 374, 376, 382
E3
38, 285, 305
71, 75, 160, 220, 246,
330, 374, 376, 382

Cuadro 27: Fase 2

E1
D
160, 220, 382

E2
D
71, 75, 374

E3
38, 285, 305
246, 330, 376

E1
28, 47, 256

E2
183, 236, 273

E1
190, 277, 331

S
28, 38, 47, 183, 236,
256, 273, 285, 305
E2
28, 38, 47, 183, 236,
256, 273, 285, 305

S
38, 285, 305
71, 75, 160, 220, 246,
330, 374, 376, 382
E3
38, 285, 305
E3
71, 75, 160, 220, 246,
330, 374, 376, 382

Cuadro 28: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

59

E1
D
160, 220, 382

E2
D
71, 75, 374

E3
38, 285, 305
246, 330, 376

E1
28, 47, 256

E2
183, 236, 273

E1
190, 277, 331

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

S
28, 38, 47, 183, 236,
256, 273, 285, 305
E2
28, 38, 47, 183, 236,
256, 273, 285, 305

E2

S
38, 285, 305
71, 75, 160, 220, 246,
330, 374, 376, 382
E3
38, 285, 305
E3
71, 75, 160, 220, 246,
330, 374, 376, 382

E3

Cuadro 29: Fase final

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

c3
0
1
1
2

P3

i=1 ci

1
3
5
9

<6
Si
Si
Si
No

Cuadro 30: Calculo de la distribuci


on de columnas y dummies

E1
D
38, 220, 285, 305
28, 47, 256, 273
331

E2
D
71, 160, 374, 382
183, 190, 236, 277

E3
D
75, 246, 330, 376

Cuadro 31: Fase 1

n II
Algoritmos y Programacio

Facultad de Ingeniera

60

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
38, 220, 285, 305

E2
D
71, 160, 374, 382

E3
D
75, 246, 330, 376

E1
28, 47, 256, 273
331

E2
183, 190, 236, 277

S
D
38, 71, 75, 160,
246, 285, 305,
374, 376, 382
E3
D
38, 71, 75, 160,
246, 285, 305,
374, 376, 382

220,
330,

220,
330,

Cuadro 32: Fase 2

E1
D
38, 220, 285, 305

E2
D
71, 160, 374, 382

E3
D
75, 246, 330, 376

E1
28, 47, 256, 273

E2
183, 190, 236, 277

E1
331

S
28, 47, 183, 190, 236,
256, 273, 277
E2
28, 47, 183, 190, 236,
256, 273, 277

S
D
38, 71, 75, 160, 220,
246, 285, 305, 330,
374, 376, 382
E3
D
E3
38, 71, 75, 160, 220,
246, 285, 305, 330,
374, 376, 382

Cuadro 33: Fase 3

Enrique P. Calot

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

E1
D
38, 220, 285, 305

E2
D
71, 160, 374, 382

E3
D
75, 246, 330, 376

E1
28, 47, 256, 273

E2
183, 190, 236, 277

E1
331

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

S
28, 47, 183, 190, 236,
256, 273, 277
E2
28, 47, 183, 190, 236,
256, 273, 277

E2

61

S
D
38, 71, 75, 160, 220,
246, 285, 305, 330,
374, 376, 382
E3
D
E3
38, 71, 75, 160, 220,
246, 285, 305, 330,
374, 376, 382

E3

Cuadro 34: Fase final

3.11.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

n II
Algoritmos y Programacio

Facultad de Ingeniera

62

3.12

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 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 partici
on! Se cierra la partici
on p1 = {38, 285, 305, 382}
160
71
220
71
220
374
374
71
374
75
75
71
Nueva partici
on! Se cierra la partici
on p2 = {160, 220, 374}
71
330
75
330
75
376
376
330
330
246
376
246
376
28
28
246
Nueva partici
on! Se cierra la partici
on p3 = {71, 75, 330, 376}
28
256
256
246
246
47
256
47
256
273
273
47
273
236
236
47
Nueva partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p5 = {47, 183, 236, 277, 331}
190
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

63
P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 35: Calculo de la distribuci


on de columnas y dummies
E1
D
38, 285, 305, 382
28, 246, 256, 273
190

E2
D
160, 220, 374
47, 183, 236, 277, 331

E3
D
71, 75, 330, 376

Cuadro 36: Fase 1


3.12.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.12.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

3.13.

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273
190

E2
47, 183, 236, 277, 331

S
D
38, 71, 75, 160,
285, 305, 330,
376, 382
E3
D
38, 71, 75, 160,
285, 305, 330,
376, 382

220,
374,

220,
374,

Cuadro 37: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

64

3.13

Selecci
on Natural con buffers de tama
no 2

E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273

E2
47, 183, 236, 277, 331

E1
190

S
28, 47, 183, 236, 246,
256, 273, 277, 331
E2
28, 47, 183, 236, 246,
256, 273, 277, 331

S
D
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382
E3
D
E3
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382

Cuadro 38: Fase 3

E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273

E2
47, 183, 236, 277, 331

E1
190

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

S
28, 47, 183, 236, 246,
256, 273, 277, 331
E2
28, 47, 183, 236, 246,
256, 273, 277, 331

E2

S
D
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382
E3
D
E3
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382

E3

Cuadro 39: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

3.13.1.

65

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.
b1
b2
a1
a2
Sale

Nada
285

Nada
285
38

38
285
305

285

305
220

Nada
382
305
220

305
382

220
160
382
220
160

Nueva partici
on! Se cierra la partici
on p1 = {38, 285, 305, 382}
160
220

71

Nada
220
374
71

220

374
71
75
374
71
75

Nueva partici
on! Se cierra la partici
on p2 = {160, 220, 374}
71
330
75

75
330
376

330

376
246

Nada

376
246
28
376
246
28

Nueva partici
on! Se cierra la partici
on p3 = {71, 75, 330, 376}
28
246
256

246

256
47

Nada
273
256
47

256
273

47
236
273
47
236

Nueva partici
on! Se cierra la partici
on p4 = {28, 246, 256, 273}
47
183
236

183
277
236

236
277

190

Nada
277
331
190

277

331
190

331
190

Nueva partici
on! Se cierra la partici
on p5 = {47, 183, 236, 277, 331}
190
Finaliza la u
ltima partici
on en p6 = {190}

3.13.2.

Entra
285
38
305
220
382
160
Nada

71
374
75
Nada

330
376
246
28
Nada

256
47
273
236
Nada

183
277
190
331
Nada
Nada

Nada

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

66

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

Fases
0
1
2
3

c1
1
1
2
4

c2
0
1
2
3

P3

i=1 ci

c3
0
1
1
2

1
3
5
9

<6
Si
Si
Si
No

Cuadro 40: Calculo de la distribuci


on de columnas y dummies
E1
D
38, 285, 305, 382
28, 246, 256, 273
190

E2
D
160, 220, 374
47, 183, 236, 277, 331

E3
D
71, 75, 330, 376

Cuadro 41: Fase 1

3.14.

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no
2

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.14.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.14.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 3 son dummies (particiones vacas) y 6 son mis particiones de entrada.

E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273
190

E2
47, 183, 236, 277, 331

S
D
38, 71, 75, 160,
285, 305, 330,
376, 382
E3
D
38, 71, 75, 160,
285, 305, 330,
376, 382

220,
374,

220,
374,

Cuadro 42: Fase 2


Enrique P. Calot

n II
Algoritmos y Programacio

3.14

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 2

E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273

E2
47, 183, 236, 277, 331

E1
190

S
28, 47, 183, 236, 246,
256, 273, 277, 331
E2
28, 47, 183, 236, 246,
256, 273, 277, 331

67

S
D
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382
E3
D
E3
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382

Cuadro 43: Fase 3

E1
D
38, 285, 305, 382

E2
D
160, 220, 374

E3
D
71, 75, 330, 376

E1
28, 246, 256, 273

E2
47, 183, 236, 277, 331

E1
190

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

S
28, 47, 183, 236, 246,
256, 273, 277, 331
E2
28, 47, 183, 236, 246,
256, 273, 277, 331

E2

S
D
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382
E3
D
E3
38, 71, 75, 160, 220,
285, 305, 330, 374,
376, 382

E3

Cuadro 44: Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.15

3.15.

Selecci
on de reemplazo con buffer de tama
no 3

Selecci
on de reemplazo con buffer de tama
no 3

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 3.
3.15.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on 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 partici
on! Se cierra la partici
on p3 = {28, 47, 246, 256, 273, 277}
183
331
331
190
236
190
Nada
331

236
236
Nada
331

331
Nada
Finaliza la u
ltima partici
on 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 Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.
Enrique P. Calot

n II
Algoritmos y Programacio

3.17

Selecci
on Natural con buffers de tama
no 3

Fases
0
1
2

c1
1
1
2

c2
0
1
2

69
P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

Cuadro 45: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 220, 285, 305, 382

28, 47, 246, 256, 273,


277

183, 190, 236, 331

E3
71, 75, 160, 330, 374,
376

Cuadro 46: Fase 1


3.16.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.16.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 1 son dummies (particiones vacas) y 4 son mis particiones de entrada.

3.17.

Selecci
on Natural con buffers de tama
no 3

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.
3.17.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.
E1
D

E2
38, 220, 285, 305, 382

E3
71, 75, 160, 330, 374,
376

E1
28, 47, 246, 256, 273,
277

E2
183, 190, 236, 331

S
38, 71, 75, 160,
285, 305, 330,
376, 382
E3
38, 71, 75, 160,
285, 305, 330,
376, 382

220,
374,

220,
374,

Cuadro 47: Fase 2


n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.17

Selecci
on Natural con buffers de tama
no 3

E1
D

E2
38, 220, 285, 305, 382

E3
71, 75, 160, 330, 374,
376

E1
28, 47, 246, 256, 273,
277

E2
183, 190, 236, 331

E2

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
E1
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382

S
38, 71, 75, 160,
285, 305, 330,
376, 382
E3
38, 71, 75, 160,
285, 305, 330,
376, 382

220,
374,

220,
374,

E3

Cuadro 48: Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.18

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 3

71

a3
Sale
Entra

Nada
285

Nada
38

Nada
305

38
220

220
382

285
160

Nada
71

Nada
374

305
75
75
374
Nada
75
382
Nada

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 partici
on! Se cierra la partici
on 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 u
ltima partici
on en p3 = {28, 47, 183, 190, 236, 277, 331}
b1

285
285
285
285
285

374
374

160
Nueva

3.17.2.

b2
b3
a1
a2

38

38
305

220
305

382
305

382
305
160

382
305
160
71
382
305
160
71
382

160
71
382

160
71
71
75

partici
on! Se cierra la partici
on

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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
3

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.18.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.18.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.19

Fases
0
1

c1
1
1

Selecci
on de reemplazo con buffer de tama
no 4

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 49: Calculo de la distribuci


on de columnas y dummies

E1
38, 220, 285, 305,
374, 382

E2
71, 75, 160, 246, 256,
273, 330, 376

E3
28, 47, 183, 190, 236,
277, 331

Cuadro 50: Fase 1

cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.19.

Selecci
on de reemplazo con buffer de tama
no 4

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 4.

3.19.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.19

Selecci
on de reemplazo con buffer de tama
no 4

73

E1
38, 220, 285, 305,
374, 382

E2
71, 75, 160, 246, 256,
273, 330, 376

E3
28, 47, 183, 190, 236,
277, 331

E2

E3

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

285

285
38

285
38
305

285
38
305
220
285
382
305
220
285
382
305
160
71
382
305
160
71
382
374
160
71
382
75
160
71
330
75
160
Nueva
partici
on!
Se
{38, 220, 285, 305, 374, 382}

Sale
Nada
Nada
Nada
Nada
38
220
285
305
374
382
cierra

Entra
285
38
305
220
382
160
71
374
75
330
la

71
376
330
75
160
75
376
330
246
160
160
376
330
246
28
246
376
330
256
28
256
376
330
47
28
330
376
273
47
28
376
236
273
47
28
Nueva
partici
on!
Se
cierra
la
{71, 75, 160, 246, 256, 330, 376}
28
236
273
47
183
47
236
273
277
183
183
236
273
277
190
190
236
273
277
331
236

273
277
331
273

277
331
277

331
331
Finaliza
la
u
ltima
partici
on
{28, 47, 183, 190, 236, 273, 277, 331}

3.19.2.

partici
on

p1

p2

376
246
28
256
47
273
236
partici
on
183
277
190
331
Nada
Nada
Nada
Nada
en
p3

Salida final

p1 = {38, 220, 285, 305, 374, 382};


p2 = {71, 75, 160, 246, 256, 330, 376};
n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.20

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 52: Calculo de la distribuci


on de columnas y dummies
E1
38, 220, 285, 305,
374, 382

E2
71, 75, 160, 246, 256,
330, 376

E3
28, 47, 183, 190, 236,
273, 277, 331

Cuadro 53: Fase 1


p3 = {28, 47, 183, 190, 236, 273, 277, 331}.

3.20.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.20.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.20.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.21.

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.

3.21.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.21

Selecci
on Natural con buffers de tama
no 4

E1
38, 220, 285, 305,
374, 382

E2
71, 75, 160, 246, 256,
330, 376

E3
28, 47, 183, 190, 236,
273, 277, 331

E2

E3

75

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

a2
a3
a4
Sale

Nada

Nada

Nada

Nada

38

220

Nada
71

Nada
71

285
71
75

Nada
71
75

305
71
75

330
71
75
246
374
71
75
246
376
71
75
246
382

p1 = {38, 220, 285, 305, 330, 374, 376, 382}


71
160

75
246
28

Nada
160
256
75
246
28

75
160
256

246
28
47

Nada
160
256
273
246
28
47

160
236
256
273
246
28
47

236

256
273
246
28
47
183

Nada
277
256
273
246
28
47
183

246
277
256
273

28
47
183
190
256
277

273

28
47
183
190
273
277

28
47
183
190
277
28
47
183
190

Nueva partici
on! Se cierra la partici
on p2 = {71, 75, 160, 236, 246, 256, 273, 277}
28
331
47
183
190

47
331

183
190

183
331

190

190
331

331
Finaliza la u
ltima partici
on en p3 = {28, 47, 183, 190, 331}
b1

285
285
285
285
285
285
285
285

330
330

160
Nueva

b2
b3
b4
a1

38

38
305

38
305
220

382
305
220

382
305

160
382
305

160
382
305
374
160
382
305
374
160
382
305
374
160
382
376
374
160
382
376
374
160
382
376

160
382

160
71
75
246

partici
on! Se cierra la partici
on

n II
Algoritmos y Programacio

Entra
285
38
305
220
382
160
71
374
75
330
376
246
Nada
Nada
Nada

28
256
47
273
236
183
277
190
Nada
Nada
Nada

331
Nada
Nada
Nada
Nada

Facultad de Ingeniera

76

3.22

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 4

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 55: Calculo de la distribuci


on de columnas y dummies
E1
38, 220, 285, 305,
330, 374, 376, 382

E2
71, 75, 160, 236, 246,
256, 273, 277

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
4

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.
3.22.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.
3.22.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.23.

Selecci
on de reemplazo con buffer de tama
no 5

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 5.
3.23.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.23

Selecci
on de reemplazo con buffer de tama
no 5

77

E1
38, 220, 285, 305,
330, 374, 376, 382

E2
71, 75, 160, 236, 246,
256, 273, 277

E3
28, 47, 183, 190, 331

E2

E3

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

Nada
285

Nada
285
38

Nada
285
38
305

Nada
285
38
305
220

Nada
285
38
305
220
382
38
285
160
305
220
382
160
285
71
305
220
382
220
285
71
305
374
382
285
75
71
305
374
382
305
75
71
330
374
382
330
75
71
376
374
382
374
75
71
376
246
382
376
75
71
28
246
382
382
75
71
28
246
256
Nueva
partici
on!
Se
cierra
la
partici
on
{38, 160, 220, 285, 305, 330, 374, 376, 382}
28
75
71
47
246
256
47
75
71
273
246
256
71
75
236
273
246
256
75
183
236
273
246
256
183
277
236
273
246
256
236
277
190
273
246
256
246
277
190
273
331
256
256
277
190
273
331

273
277
190

331

277

190

331

331

190

Nueva
partici
on!
Se
cierra
la
partici
on
{28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331}
190
Finaliza la u
ltima partici
on en p3 = {190}

3.23.2.

Entra
285
38
305
220
382
160
71
374
75
330
376
246
28
256
p1

47
273
236
183
277
190
331
Nada
Nada
Nada
Nada
p2

Nada

Salida final

p1 = {38, 160, 220, 285, 305, 330, 374, 376, 382};


p2 = {28, 47, 71, 75, 183, 236, 246, 256, 273, 277, 331};
n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.24

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 5

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

Cuadro 58: Calculo de la distribuci


on de columnas y dummies
E1
38, 160, 220, 285,
305, 330, 374, 376,
382

E2
28, 47, 71, 75, 183,
236, 246, 256, 273,
277, 331

E3
190

Cuadro 59: Fase 1


p3 = {190}.

3.24.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 5

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.24.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.24.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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
cuales 0 son dummies (particiones vacas) y 3 son mis particiones de entrada.

3.25.

Selecci
on de reemplazo con buffer de tama
no 6

Desarrollar el algoritmo de seleccion de reemplazo con un buffer de tama


no 6.

3.25.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion de reemplazo para particionar el


lote de datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.25

Selecci
on de reemplazo con buffer de tama
no 6

E1
38, 160, 220, 285,
305, 330, 374, 376,
382

E2
28, 47, 71, 75, 183,
236, 246, 256, 273,
277, 331

E3
190

E2

E3

79

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

285

285
38

285
38
305

285
38
305
220

285
38
305
220
382

285
38
305
220
382
160
285
71
305
220
382
160
285
374
305
220
382
160
285
374
305
220
382
75
285
374
305
330
382
75
376
374
305
330
382
75
376
374
246
330
382
75
376
374
246
28
382
75
376
256
246
28
382
75
47
256
246
28
382
75
47
256
246
28
273
75
Nueva
partici
on!
Se
cierra
la
{38, 71, 160, 220, 285, 305, 330, 374, 376, 382}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
38
71
160
220
285
305
330
374
376
382

Entra
285
38
305
220
382
160
71
374
75
330
376
246
28
256
47
273

partici
on

p1

28
47
256
246
236
273
75
47
183
256
246
236
273
75
75
183
256
246
236
273
277
183
190
256
246
236
273
277
190
331
256
246
236
273
277
236
331
256
246

273
277
246
331
256

273
277
256
331

273
277
273
331

277
277
331

331
Finaliza
la
u
ltima
partici
on
en
{28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}

3.25.2.

236
183
277
190
331
Nada
Nada
Nada
Nada
Nada
Nada
p2

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}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.26

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 61: Calculo de la distribuci


on de columnas y dummies
E1
D

E2
38, 71, 160, 220, 285,
305, 330, 374, 376,
382

E3
28, 47, 75, 183, 190,
236, 246, 256, 273,
277, 331

Cuadro 62: Fase 1

3.26.

Merge Polif
asico de las salidas por selecci
on de reemplazo de buffer
tama
no 6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion de reemplazo.

3.26.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.26.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

3.27.

Selecci
on Natural con buffers de tama
no 6

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 6.

3.27.1.

Desarrollo

A continuacion se presenta el desarrollo del algoritmo de seleccion natural para particionar el lote de
datos dado.

Enrique P. Calot

n II
Algoritmos y Programacio

3.27

Selecci
on Natural con buffers de tama
no 6

E1
D

E2
38, 71, 160, 220, 285,
305, 330, 374, 376,
382

E3
28, 47, 75, 183, 190,
236, 246, 256, 273,
277, 331

E2

E3

81

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

285

285
38

285
38
305

285
38
305
220
285
38
305
220
285
38
305
220
285
71
305
220
285
374
305
220
285
374
305
220
285
374
305
220
285
374
305
376

374
305
376

374
305
376

374
305
376

374
305
376

374
305
376

374

376

374

376

376

75
246
28
256
Nueva partici
on! Se cierra la

b5
b6
a1
a2
a3
a4
a5
a6

382

382
160

382
160

382
160

382

75

382
330
75

382
330
75

382
330
75
246

382
330
75
246
28

382
330
75
246
28
256

382
330
75
246
28
256
47

382
330
75
246
28
256
47
273
382
330
75
246
28
256
47
273
382

75
246
28
256
47
273
382

75
246
28
256
47
273
382

75
246
28
256
47
273
47
273

partici
on p1 = {38, 71, 160, 220, 285, 305, 330, 374, 376, 382}

75
246
236
256
47
273

75
246
236
256
183
273

277
246
236
256
183
273

277
246
236
256
190
273

277
246
236
256
331
273

277
246

256
331
273

277

256
331
273

277

331
273

277

331

331

Finaliza la u
ltima partici
on en p2 = {28, 47, 75, 183, 190, 236, 246, 256, 273, 277, 331}

3.27.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
38
71
160
Nada
220
285
Nada
Nada
Nada
Nada
305
330
374
376
382

Entra
285
38
305
220
382
160
71
374
75
330
376
246
28
256
47
273
Nada
Nada
Nada
Nada
Nada

28
47
75
183
190
236
246
256
273
277
331

236
183
277
190
331
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {38, 71, 160, 220, 285, 305, 330, 374, 376, 382};
n II
Algoritmos y Programacio

Facultad de Ingeniera

82

3.28

Merge Polif
asico de las salidas por selecci
on natural de buffers tama
no 6

Fases
0
1

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No

Cuadro 64: Calculo de la distribuci


on de columnas y dummies

E1
D

E2
38, 71, 160, 220, 285,
305, 330, 374, 376,
382

E3
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 Polif
asico de las salidas por selecci
on natural de buffers tama
no
6

Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con las particiones
obtenidas de la salida del algoritmo de seleccion natural.

3.28.1.

C
alculo de la distribuci
on de columnas y dummies

A continuacion se presenta el calculo para obtener la distribuci


on de entrada de las particiones y saber
cuantas particiones dummy seran necesarias incorporar.

3.28.2.

Distribuci
on inicial

Una vez encontrados los n


umeros 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 las
cuales 1 son dummies (particiones vacas) y 2 son mis particiones de entrada.

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort ascendente

83

E1
D

E2
38, 71, 160, 220, 285,
305, 330, 374, 376,
382

E3
28, 47, 75, 183, 190,
236, 246, 256, 273,
277, 331

E2

E3

S
28, 38, 47, 71, 75,
160, 183, 190, 220,
236, 246, 256, 273,
277, 285, 305, 330,
331, 374, 376, 382
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

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

18/20

38 285 220 305 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 382

15/19

38 220 285 160 71 305 75 330 374 246 28 256 47 273 236 183 277 190 331 376 382

13/18

38 220 160 71 285 75 305 330 246 28 256 47 273 236 183 277 190 331 374 376 382

12/17

38 160 71 220 75 285 305 246 28 256 47 273 236 183 277 190 330 331 374 376 382

11/16

38 71 160 75 220 285 246 28 256 47 273 236 183 277 190 305 330 331 374 376 382

10/15

38 71 75 160 220 246 28 256 47 273 236 183 277 190 285 305 330 331 374 376 382

5/14

38 71 75 160 220 28 246 47 256 236 183 273 190 277 285 305 330 331 374 376 382

5/13

38 71 75 160 28 220 47 246 236 183 256 190 273 277 285 305 330 331 374 376 382

5/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.30

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

Bubble Sort descendente

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

18/20

285 305 220 382 160 71 374 75 330 376 246 38 256 47 273 236 183 277 190 331 28

15/19

305 285 382 220 160 374 75 330 376 246 71 256 47 273 236 183 277 190 331 38 28

12/18

305 382 285 220 374 160 330 376 246 75 256 71 273 236 183 277 190 331 47 38 28

12/17

382 305 285 374 220 330 376 246 160 256 75 273 236 183 277 190 331 71 47 38 28

11/16

382 305 374 285 330 376 246 220 256 160 273 236 183 277 190 331 75 71 47 38 28

10/15

382 374 305 330 376 285 246 256 220 273 236 183 277 190 331 160 75 71 47 38 28

8/14

382 374 330 376 305 285 256 246 273 236 220 277 190 331 183 160 75 71 47 38 28

4/13

382 374 376 330 305 285 256 273 246 236 277 220 331 190 183 160 75 71 47 38 28

4/12

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

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort ascendente

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

85

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

18/20

38 285 220 305 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331 382

15/20

28 38 285 220 305 160 71 374 75 330 376 246 47 256 183 273 236 190 277 331 382

14/18

28 38 220 285 160 71 305 75 330 374 246 47 256 183 273 236 190 277 331 376 382

12/18

28 38 47 220 285 160 71 305 75 330 374 246 183 256 190 273 236 277 331 376 382

11/16

28 38 47 220 160 71 285 75 305 330 246 183 256 190 273 236 277 331 374 376 382

8/16

28 38 47 71 220 160 75 285 183 305 330 246 190 256 236 273 277 331 374 376 382

9/14

28 38 47 71 160 75 220 183 285 305 246 190 256 236 273 277 330 331 374 376 382

6/14

28 38 47 71 75 160 183 220 190 285 305 246 236 256 273 277 330 331 374 376 382

6/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.32

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

Bilateral Bubble Sort descendente

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

18/20

285 305 220 382 160 71 374 75 330 376 246 38 256 47 273 236 183 277 190 331 28

17/20

382 285 305 220 376 160 71 374 75 330 331 246 38 256 47 273 236 183 277 190 28

14/18

382 305 285 376 220 160 374 75 330 331 246 71 256 47 273 236 183 277 190 38 28

13/18

382 376 305 285 374 220 160 331 75 330 277 246 71 256 47 273 236 183 190 38 28

10/16

382 376 305 374 285 220 331 160 330 277 246 75 256 71 273 236 183 190 47 38 28

9/16

382 376 374 305 331 285 220 330 160 277 273 246 75 256 71 236 190 183 47 38 28

9/14

382 376 374 331 305 285 330 220 277 273 246 160 256 75 236 190 183 71 47 38 28

6/14

382 376 374 331 330 305 285 277 220 273 256 246 160 236 75 190 183 71 47 38 28

6/12

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

n II
Algoritmos y Programacio

3.33

Selection Sort ascendente

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

87

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

1/20

28 38 305 220 382 160 71 374 75 330 376 246 285 256 47 273 236 183 277 190 331

1/19

28 38 305 220 382 160 71 374 75 330 376 246 285 256 47 273 236 183 277 190 331

1/18

28 38 47 220 382 160 71 374 75 330 376 246 285 256 305 273 236 183 277 190 331

1/17

28 38 47 71 382 160 220 374 75 330 376 246 285 256 305 273 236 183 277 190 331

1/16

28 38 47 71 75 160 220 374 382 330 376 246 285 256 305 273 236 183 277 190 331

1/15

28 38 47 71 75 160 220 374 382 330 376 246 285 256 305 273 236 183 277 190 331

1/14

28 38 47 71 75 160 183 374 382 330 376 246 285 256 305 273 236 220 277 190 331

1/13

28 38 47 71 75 160 183 190 382 330 376 246 285 256 305 273 236 220 277 374 331

1/12

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

n II
Algoritmos y Programacio

Facultad de Ingeniera

88

3.34

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

Selection Sort descendente

285 38 305 220 382 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

1/20

382 38 305 220 285 160 71 374 75 330 376 246 28 256 47 273 236 183 277 190 331

1/19

382 376 305 220 285 160 71 374 75 330 38 246 28 256 47 273 236 183 277 190 331

1/18

382 376 374 220 285 160 71 305 75 330 38 246 28 256 47 273 236 183 277 190 331

1/17

382 376 374 331 285 160 71 305 75 330 38 246 28 256 47 273 236 183 277 190 220

1/16

382 376 374 331 330 160 71 305 75 285 38 246 28 256 47 273 236 183 277 190 220

1/15

382 376 374 331 330 305 71 160 75 285 38 246 28 256 47 273 236 183 277 190 220

1/14

382 376 374 331 330 305 285 160 75 71 38 246 28 256 47 273 236 183 277 190 220

1/13

382 376 374 331 330 305 285 277 75 71 38 246 28 256 47 273 236 183 160 190 220

1/12

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

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2010-12-20
Entregar teora y pr
actica por separado Leer bien el enunciado
Nombre: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr
on: . . . . . . . . . . . .

Mail: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuat.: . . . . . . . . . . . .

Teora 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 en
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 luego eliminar
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 tama
no 5.
d. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 1 swapdown), Radix Sort en
orden ascendente (entero) y Quick Sort (hasta haber completado dos niveles de recursividad).
e. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones ordenadas
tomadas del lote de datos.

You might also like