Está en la página 1de 638

Compilado de resoluciones de ejercicios de final de Algoritmos y

Programacion II del ano 2008


Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-01-20

* ecalot@fi.uba.ar

1.

1 Motivaci
on

Motivaci
on

El siguiente compilado cuenta con seis 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 pr
actica, 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 20 de Febrero de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-02-20

* 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.1.3. Fase 1 . . . . . . . . . . . . . . . . . .
2.1.4. Fase 2 . . . . . . . . . . . . . . . . . .
2.1.5. Fase 3 . . . . . . . . . . . . . . . . . .
2.1.6. Fase 4 . . . . . . . . . . . . . . . . . .
2.1.7. Fase 5 . . . . . . . . . . . . . . . . . .
2.1.8. Fase final . . . . . . . . . . . . . . . .
2.2. b. Pregunta teorica . . . . . . . . . . . . . . .
2.2.1. Respuesta . . . . . . . . . . . . . . . .
2.3. c. Radix Sort . . . . . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.4. c. Quick Sort . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . .
2.5. d. Ejercicio de B-trees . . . . . . . . . . . . .
2.5.1. Inserci
on . . . . . . . . . . . . . . . .
2.5.2. Eliminacion . . . . . . . . . . . . . . .
2.6. e. Seleccion de reemplazo . . . . . . . . . . .
2.6.1. Desarrollo . . . . . . . . . . . . . . . .
2.6.2. Salida final . . . . . . . . . . . . . . .

.
y
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
9
10
10
11
12
13
13
13
14
14
14
14
15
15
15
16
16
16

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.3.2. Heapfy paso 0 . . . .
3.3.3. Heapfy paso 1 . . . .
3.3.4. Heapfy paso 2 . . . .
3.3.5. Heapfy paso 3 . . . .
3.3.6. Heapfy paso 4 . . . .
3.3.7. Paso 1: intercambio
3.3.8. Paso 1: swapdown .
3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17
17
17
17
18
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26

Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

n II
Algoritmos y Programacio


INDICE

3.3.17. Paso 6: intercambio


3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
3.4.7. Paso 1: intercambio
3.4.8. Paso 1: swapdown .
3.4.9. Paso 2: intercambio
3.4.10. Paso 2: swapdown .
3.4.11. Paso 3: intercambio
3.4.12. Paso 3: swapdown .
3.4.13. Paso 4: intercambio
3.4.14. Paso 4: swapdown .
3.4.15. Paso 5: intercambio
3.4.16. Paso 5: swapdown .
3.4.17. Paso 6: intercambio
3.4.18. Paso 6: swapdown .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50

Facultad de Ingeniera


INDICE

3.5.

3.6.

3.7.

3.8.

3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .


3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.6. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase final . . . . . . . . . . . . . . . . . . . . . . .
Merge Polif
asico con particiones formadas de 3 elementos

Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
64
64
64
65
65
65
65
65
66
66
67
67
67
67
68
68
68
69
70
70

n II
Algoritmos y Programacio


INDICE

3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 tama
no 2
3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.13.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.15.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.17.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

70
71
71
71
71
72
72
72
72
73
73
73
74
74
74
75
75
75
76
76
76
76
77
77
77
78
78
78
78
78
79
79
79
80
80
80
81
81
81
81
82
82
82
83
83
83
83
83
84

Facultad de Ingeniera


INDICE

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.19.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.23.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.25.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . .
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

84
84
85
85
85
86
86
86
86
86
87
87
87
88
88
88
88
88
89
89
89
90
90
90
90
90
91
91
91
92
92
92
92
92
93
93
93
94
94
94
95
95
96
96
97
97
98
98
99

n II
Algoritmos y Programacio


INDICE

3.32.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.33. Selection Sort descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.33.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

n II
Algoritmos y Programacio

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
396, 331, 202, 62, 354 , 378, 112, 154 , 141 , 381, 360 , 8, 286, 104,
282, 287 , 168, 220 , 173, 361, 292
Se pide:

a. Desarrollar todas las fases del algoritmo de merge polif


asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
b. Por que no se puede tener un elemento en el aire en los algoritmos de seleccion natural o de
reemplazo?, es decir, por que tengo que sacar siempre un elemento antes de permitir que entre otro
y no puedo tenerlo en un lugar temporal de la RAM reservado para guardar el elemento.
c. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber
completado dos niveles de recursividad).
d. 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:
286, 282 , 292
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 5.

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

2.1

a. Merge Polif
asico

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.

Fases
0
1
2
3
4
5

2.1.2.

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

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.1.3.

Fase 1

E1
D
D
D
D
202
378
141
8
104
287
220
361
292

E2
D
D
D
396
62
112
381
286
282
168
173

n II
Algoritmos y Programacio

E3
D
D
D
331
354
154
360

Facultad de Ingeniera

10

2.1

2.1.4.

Fase 2

E1
D
D
D
D
202
378
141
E1
8
104
287
220
361
292

2.1.5.

a. Merge Polif
asico

E2
D
D
D
396
62
112
381
E2
286
282
168
173

E3
D
D
D
331
354
154
360
S

S
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381
E3
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381

E2
D
D
D
396
62
112
381
E2
286
282
168
173
S

E3
D
D
D
331
354
154
360
S
8, 286
104, 282
168, 287
173, 220, 331, 396
E2
8, 286
104, 282
168, 287
173, 220, 331, 396

S
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381
E3
D
D
D
331, 396
E3
62, 202, 354
112, 154, 378
141, 360, 381

Fase 3

E1
D
D
D
D
202
378
141
E1
8
104
287
220
E1
361
292

Enrique P. Calot

n II
Algoritmos y Programacio

2.1

a. Merge Polif
asico

2.1.6.

Fase 4

E1
D
D
D
D
202
378
141
E1
8
104
287
220
E1
361
292
S

11

E2
D
D
D
396
62
112
381
E2
286
282
168
173
S
8, 62, 202, 286,
361
104, 112, 154,
292, 378
E1
8, 62, 202, 286,
361
104, 112, 154,
292, 378

n II
Algoritmos y Programacio

354,

E3
D
D
D
331
354
154
360
S
8, 286
104, 282
168, 287
173, 220, 331, 396
E2
8, 286

S
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381
E3
D
D
D
331, 396
E3
62, 202, 354

282,

104, 282

112, 154, 378

354,

E2
168, 287

E3
141, 360, 381

282,

173, 220, 331, 396

Facultad de Ingeniera

12

2.1

2.1.7.

a. Merge Polif
asico

Fase 5

E1
D
D
D
D
202
378
141
E1
8
104
287
220
E1
361

E3
D
D
D
331
354
154
360
S
8, 286
104, 282
168, 287
173, 220, 331, 396
E2
8, 286

S
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381
E3
D
D
D
331, 396
E3
62, 202, 354

104, 282

112, 154, 378

202,
360,

E2
D
D
D
396
62
112
381
E2
286
282
168
173
S
8, 62, 202, 286, 354,
361
104, 112, 154, 282,
292, 378
E1
8, 62, 202, 286, 354,
361

E2
168, 287

E3
141, 360, 381

202,
360,

E1
104, 112, 154, 282,
292, 378

E2
173, 220, 331, 396

292
S
8, 62, 141, 168,
286, 287, 354,
361, 381
E3
8, 62, 141, 168,
286, 287, 354,
361, 381
Enrique P. Calot

n II
Algoritmos y Programacio

2.2

b. Pregunta te
orica

2.1.8.

Fase final

E1
D
D
D
D
202
378
141
E1
8
104
287
220
E1
361

E3
D
D
D
331
354
154
360
S
8, 286
104, 282
168, 287
173, 220, 331, 396
E2
8, 286

S
D
D
D
331, 396
62, 202, 354
112, 154, 378
141, 360, 381
E3
D
D
D
331, 396
E3
62, 202, 354

104, 282

112, 154, 378

202,
360,

E2
D
D
D
396
62
112
381
E2
286
282
168
173
S
8, 62, 202, 286, 354,
361
104, 112, 154, 282,
292, 378
E1
8, 62, 202, 286, 354,
361

E2
168, 287

E3
141, 360, 381

202,
360,

E1
104, 112, 154, 282,
292, 378

E2
173, 220, 331, 396

E1

E2

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E3
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

292
S
8, 62, 141, 168,
286, 287, 354,
361, 381
E3
8, 62, 141, 168,
286, 287, 354,
361, 381

2.2.

13

b. Pregunta te
orica

Por que no se puede tener un elemento en el aire en los algoritmos de seleccion natural o de reemplazo?, es decir, por que tengo que sacar siempre un elemento antes de permitir que entre otro y no puedo
tenerlo en un lugar temporal de la RAM reservado para guardar el elemento.
2.2.1.

Respuesta

Si se dispone de RAM para mantener un elemento en el aire, se dispone de un lugar mas para agrandar
el buffer en seleccion de reemplazo o el buffer primario en seleccion natural. Es mucho mas optimo tener
n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.3

c. Radix Sort

un buffer con un lugar mas que tener la ventaja de tener un elemento en el aire. Esto se debe a que
podemos congelar un elemento mas.

2.3.

c. Radix Sort

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


2.3.1.

Desarrollo

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


Paso 0
396
331
202
062
354
378
112
154
141
381
360
008
286
104
282
287
168
220
173
361
292

2.4.

Paso 1
360
220
331
141
381
361
202
062
112
282
292
173
354
154
104
396
286
287
378
008
168

Paso 2
202
104
008
112
220
331
141
354
154
360
361
062
168
173
378
381
282
286
287
292
396

Paso 3
008
062
104
112
141
154
168
173
202
220
282
286
287
292
331
354
360
361
378
381
396

c. Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
2.4.1.

Desarrollo
Paso 1

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

Paso 2

292 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 396

Paso 3

104 173 202 62 220 168 112 154 141 287 282 8 286 292 360 381 378 354 331 361

Final

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

Enrique P. Calot

n II
Algoritmos y Programacio

2.5

d. Ejercicio de B-trees

2.5.

15

d. 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:
286, 282 , 292
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.5.1.

Inserci
on

Inserto 5 elementos: 396, 331, 202, 62, 354.


331
62202 354396

Inserto 3 elementos: 378, 112, 154.


331
62112154202

354378396

Inserto 1 elemento: 141.


141331
62112 154202 354378396

Inserto 2 elementos: 381, 360.


141331378
62112 154202 354360 381396

Inserto 5 elementos: 8, 286, 104, 282, 287.


141282331378
862104112

154202 286287 354360 381396

Inserto 2 elementos: 168, 220.


141282331378
862104112

154168202220 286287 354360 381396

Inserto 3 elementos: 173, 361, 292.


282
141173
862104112

2.5.2.

331378

154168 202220 286287292 354360361 381396

Eliminaci
on

Elimino 2 elementos: 286, 282.

n II
Algoritmos y Programacio

Facultad de Ingeniera

16

2.6

e. Selecci
on de reemplazo

141173331378
862104112

154168 202220287292 354360361 381396

Elimino 1 elemento: 292.


141173331378
862104112

2.6.

154168 202220287 354360361 381396

e. Selecci
on de reemplazo

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


no 5.
2.6.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
b5

396

396
331

396
331
202

396
331
202
62

396
331
202
62
354
396
331
202
378
354
396
331
112
378
354
396
154
112
378
354
396
154
112
378
141
396
154
112
381
141
396
154
112
360
141
8
154
112
360
141
Nueva
partici
on!
Se
cierra
{62, 202, 331, 354, 378, 381, 396}

Sale
Nada
Nada
Nada
Nada
Nada
62
202
331
354
378
381
396
la

286
154
112
360
141
286
154
104
360
141
286
154
104
360
282
286
287
104
360
282
286
287
104
360
168
220
287
104
360
168
220
173
104
360
168
220
173
104
361
168
220
173
104
292
168
Nueva
partici
on!
Se
cierra
la
{8, 112, 141, 154, 282, 286, 287, 360, 361}
220
220
220

Finaliza

2.6.2.

Entra
396
331
202
62
354
378
112
154
141
381
360
8

partici
on
8
112
141
154
282
286
287
360
361

p1

286
104
282
287
168
220
173
361
292

partici
on

p2

104
Nada
173

292
168
168
Nada
173

292

173
Nada

292

220
Nada

292

292
Nada
la u
ltima partici
on en p3 = {104, 168, 173, 220, 292}

Salida final

p1 = {62, 202, 331, 354, 378, 381, 396};


p2 = {8, 112, 141, 154, 282, 286, 287, 360, 361};
Enrique P. Calot

n II
Algoritmos y Programacio

3 Resoluci
on explayada

17

p3 = {104, 168, 173, 220, 292}.

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
396
331
202
062
354
378
112
154
141
381
360
008
286
104
282
287
168
220
173
361
292

3.2.

Paso 1
378
008
168
287
396
286
354
154
104
173
202
062
112
282
292
331
141
381
361
360
220

Paso 2
396
292
287
286
282
381
378
173
168
062
361
360
354
154
141
331
220
112
008
104
202

Paso 3
396
381
378
361
360
354
331
292
287
286
282
220
202
173
168
154
141
112
104
062
008

Quick Sort completo

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.

Heap Sort

Desarrollo

Paso 1

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

Paso 2

292 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 396

Paso 3

104 173 202 62 220 168 112 154 141 287 282 8 286 292 360 381 378 354 331 361

Paso 4

62

8 104 202 220 168 112 154 141 287 282 173 286

354 331 360 378 381 361

Paso 5

62

331 354

141 173 168 112 154 202 287 282 220 286

Paso 6

112 141 168 173 154

Paso 7

154 168 173

Final

3.3.

361 378 381

286 282 220 287


220 282 286

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

Heap Sort

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

Arbol
inicial

3.3.1.

396
331

202

62

354

154
287

168

141
220

381

173

361

378
360

112

286

104

282

292

Vector:
396

331

202

62

Enrique P. Calot

354

378

112

154

141

381

360

286

104

282

287

168

220

173

n II
Algoritmos y Programacio

361

292

3.3

Heap Sort

3.3.2.

19

Heapfy paso 0

396
331

202

62

354

154
287

141

168

220

378

381

173

361

360

112

286

104

282

292

Vector:
396

331

3.3.3.

202

62

354

378

112

154

141

381

360

286

104

282

287

168

220

173

361

292

104

282

154

168

141

173

361

292

Heapfy paso 1

396
331

202

62

354

287
154

168

220
141

381

173

361

378
360

112

286

104

282

292

Vector:
396

331

202

62

354

378

112

n II
Algoritmos y Programacio

287

220

381

360

286

Facultad de Ingeniera

20

3.3

3.3.4.

Heap Sort

Heapfy paso 2

396
331

202

287

381

168
154

220
62

141

173

202

287

381

361
354

378
360

286

282
104

112

292

Vector:
396

331

3.3.5.

378

282

168

220

361

360

286

104

112

154

62

141

173

354

292

104

112

154

62

141

173

331

292

Heapfy paso 3

396
381

378

287
168
154

361
220

62

141

354

173

331

292

361

286

282

286
360

202

282
104

112

Vector:
396

381

378

287

Enrique P. Calot

168

220

354

360

202

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.6.

21

Heapfy paso 4

396
381

378

287

361

168
154

220
62

141

286

354

360

173

331

292

361

286

282

282

202

104

112

Vector:
396

381

3.3.7.

378

287

168

220

354

360

202

104

112

154

62

141

173

331

292

112

154

62

141

173

331

396

Paso 1: intercambio

292
381

378

287
168
154

361
220

62

141

354

173

331

286
360

282

202

104

112

396

Vector:
292

381

378

287

361

286

282

n II
Algoritmos y Programacio

168

220

354

360

202

104

Facultad de Ingeniera

22

3.3

3.3.8.

Heap Sort

Paso 1: swapdown

381
361

378

287

360

168
154

220
62

141

173

354
331

286
292

282

202

104

112

396

Vector:
381

361

3.3.9.

378

287

360

286

282

168

220

354

292

202

104

112

154

62

141

173

331

396

112

154

62

141

173

381

396

Paso 2: intercambio

331
361

378

287
168

360
220

154

62

141

173

378

287

360

286

354
381

286
292

282

202

104

112

396

Vector:
331

361

Enrique P. Calot

282

168

220

354

292

202

104

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.10.

23

Paso 2: swapdown

378
361

331

287

360

168

220

154

62

141

173

331

287

360

286

354
381

286
292

282

202

104

112

396

Vector:
378

361

3.3.11.

282

168

220

354

292

202

104

112

154

62

141

173

381

396

112

154

62

141

378

381

396

Paso 3: intercambio

173
361

331

287
168

360
220

154

62

141

378

331

287

360

286

354
381

286
292

282

202

104

112

396

Vector:
173

361

282

n II
Algoritmos y Programacio

168

220

354

292

202

104

Facultad de Ingeniera

24

3.3

3.3.12.

Heap Sort

Paso 3: swapdown

361
360

331

287

354

168

220

154

62

141

378

331

287

354

286

173
381

286
292

282

202

104

112

396

Vector:
361

360

3.3.13.

282

168

220

173

292

202

104

112

154

62

141

378

381

396

112

154

62

361

378

381

396

Paso 4: intercambio

141
360

331

287
168
154

354
220

62

173

361

378

381

354

286

282

286
292

282

202

104

112

396

Vector:
141

360

331

287

Enrique P. Calot

168

220

173

292

202

104

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.14.

25

Paso 4: swapdown

360
354

331

287
168
154

292
220

62

173

361

378

381

292

286

282

286
141

282

202

104

112

396

Vector:
360

354

3.3.15.

331

287

168

220

173

141

202

104

112

154

62

361

378

381

396

360

361

378

381

396

Paso 5: intercambio

62
354

331

287
168

292
220

154

360

361

331

287

292

378

173
381

286
141

282

202

104

112

396

Vector:
62

354

286

282

n II
Algoritmos y Programacio

168

220

173

141

202

104

112

154

Facultad de Ingeniera

26

3.3

3.3.16.

Heap Sort

Paso 5: swapdown

354
292

331

287

173

168
154

220

360

361

378

173

286

62
381

286
141

282

202

104

112

396

Vector:
354

292

3.3.17.

331

287

282

168

220

62

141

202

104

112

154

360

361

378

381

396

112

354

360

361

378

381

396

Paso 6: intercambio

154
292

331

287
168
354

173
220

360

62

361

378

381

173

286

282

286
141

282

202

104

112

396

Vector:
154

292

331

287

Enrique P. Calot

168

220

62

141

202

104

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.18.

27

Paso 6: swapdown

331
292

286

287

173

168
354

220

360

62

361

378

381

173

202

282

202
141

282

154

104

112

396

Vector:
331

292

3.3.19.

286

287

168

220

62

141

154

104

112

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 7: intercambio

112
292

286

287
168
354

173
220

360

361

62

202
141

378

381

396

202

282

168

282

154

104

331

Vector:
112

292

286

287

173

n II
Algoritmos y Programacio

220

62

141

154

104

Facultad de Ingeniera

28

3.3

3.3.20.

Heap Sort

Paso 7: swapdown

292
287

286

220

173

168
354

112

360

361

62

202
141

378

381

396

202

282

168

282

154

104

331

Vector:
292

287

3.3.21.

286

220

173

112

62

141

154

104

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 8: intercambio

104
287

286

220
168
354

173
112

360

361

62

378

202
141

381

396

282

168

282

154

292

331

Vector:
104

287

286

220

Enrique P. Calot

173

202

112

62

141

154

292

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.22.

29

Paso 8: swapdown

287
220

286

168

173

104
354

112

360

361

62

378

202
141

381

396

282

104

282

154

292

331

Vector:
287

220

3.3.23.

286

168

173

202

112

62

141

154

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 9: intercambio

154
220

286

168
104
354

173
112

360

361

62

378

202
141

381

396

282

104

287

62

141

282
292

331

Vector:
154

220

286

168

173

202

n II
Algoritmos y Programacio

112

287

292

Facultad de Ingeniera

30

3.3

3.3.24.

Heap Sort

Paso 9: swapdown

286
220

282

168

173

104
354

112

360

361

62

378

202
141

381

396

154

104

287

62

141

154
292

331

Vector:
286

220

3.3.25.

282

168

173

202

112

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 10: intercambio

8
220

282

168
104
354

173
112

360

361

62

378

202
141

381

396

154

104

286

154

287

292

331

Vector:
8

220

282

168

Enrique P. Calot

173

202

112

62

141

286

287

292

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.26.

31

Paso 10: swapdown

282
220

202

168

173

104
354

112

360

361

62

378

8
141

381

396

154

104

286

154
287

292

331

Vector:
282

220

3.3.27.

202

168

173

112

62

141

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 11: intercambio

141
220

202

168
104
354

360

173
112

361

62

378

8
282

381

396

154

104

286

154
287

292

331

Vector:
141

220

202

168

173

n II
Algoritmos y Programacio

112

62

282

286

287

292

Facultad de Ingeniera

32

3.3

3.3.28.

Heap Sort

Paso 11: swapdown

220
173

202

168

141

104
354

112

360

361

62

378

8
282

381

396

154

104

286

154
287

292

331

Vector:
220

173

3.3.29.

202

168

141

112

62

282

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 12: intercambio

62
173

202

168
104
354

360

141
112

361

220

378

381

396

154

104

8
282

286

154
287

292

331

Vector:
62

173

202

168

Enrique P. Calot

141

112

220

282

286

287

292

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.30.

33

Paso 12: swapdown

202
173

154

168

141

104
354

112

360

361

220

378

381

8
282

286

62
287

292

331

396

Vector:
202

173

3.3.31.

154

168

141

62

104

112

220

282

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 13: intercambio

112
173

154

168
104
354

360

141
202

361

220

378

8
282

381

396

62

104

286

62
287

292

331

Vector:
112

173

154

168

141

n II
Algoritmos y Programacio

202

220

282

286

287

292

Facultad de Ingeniera

34

3.3

3.3.32.

Heap Sort

Paso 13: swapdown

173
168

154

112

141

104
354

202

360

361

220

378

8
282

381

396

62

104

286

62
287

292

331

Vector:
173

168

3.3.33.

154

112

141

202

220

282

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 14: intercambio

104
168

154

112
173
354

141
202

360

361

154

112

220

378

381

8
282

286

62
287

292

331

396

Vector:
104

168

Enrique P. Calot

141

62

173

202

220

282

286

287

292

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.34.

35

Paso 14: swapdown

168
141

154

112

104

173
354

202

360

361

154

112

220

378

381

8
282

286

62
287

292

331

396

Vector:
168

141

3.3.35.

104

62

173

202

220

282

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 15: intercambio

62
141

154

112
173
354

360

104
202

361

220

378

381

8
282

286

202

220

168
287

292

331

396

Vector:
62

141

154

112

104

168

n II
Algoritmos y Programacio

173

282

286

287

292

Facultad de Ingeniera

36

3.3

3.3.36.

Heap Sort

Paso 15: swapdown

154
141

62

112

104

173
354

202

360

361

220

378

381

8
282

286

202

220

168
287

292

331

396

Vector:
154

141

3.3.37.

62

112

104

168

173

282

286

287

292

331

354

360

361

378

381

396

331

354

360

361

378

381

396

Paso 16: intercambio

8
141

62

112
173
354

360

104
202

361

220

378

381

154
282

286

202

220

287

168
292

331

396

Vector:
8

141

62

112

Enrique P. Calot

104

154

168

173

282

286

287

292

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.38.

37

Paso 16: swapdown

141
112

62

104

173
354

202

360

361

220

378

381

154
282

286

202

220

168

287

292

331

396

Vector:
141

112

3.3.39.

62

104

154

168

173

282

286

287

292

331

354

360

361

378

381

396

292

331

354

360

361

378

381

396

Paso 17: intercambio

104
112

62

141

173
354

202

360

361

220

378

381

154
282

286

287

168
292

331

396

Vector:
104

112

62

141

154

168

n II
Algoritmos y Programacio

173

202

220

282

286

287

Facultad de Ingeniera

38

3.3.40.

3.3

Heap Sort

Paso 17: swapdown

112
104

62

141

173
354

202

360

361

220

378

381

154
282

286

168

287

292

331

396

Vector:
112

104

3.3.41.

62

141

154

168

173

202

220

282

286

287

292

331

354

360

361

378

381

396

292

331

354

360

361

378

381

396

Paso 18: intercambio

8
104

62

112
173
354

360

141
202

361

220

378

381

154
282

286

287

220

282

168
292

331

396

Vector:
8

104

62

112

Enrique P. Calot

141

154

168

173

202

286

287

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.42.

39

Paso 18: swapdown

104
8

62

112

141

173
354

202

360

361

220

378

381

154

168

282

286

287

202

220

282

292

331

396

Vector:
104

3.3.43.

62

112

141

154

168

173

286

287

292

331

354

360

361

378

381

396

292

331

354

360

361

378

381

396

Paso 19: intercambio

62
8

104

112
173
354

360

141
202

361

378

220
381

154
282

286

287

220

282

168
292

331

396

Vector:
62

104

112

141

154

168

n II
Algoritmos y Programacio

173

202

286

287

Facultad de Ingeniera

40

3.3.44.

3.3

Heap Sort

Paso 19: swapdown

62
8

104

112

141

173
354

202

360

361

220

378

381

154

168

282

286

287

202

220

282

292

331

396

Vector:
62

3.3.45.

104

112

141

154

168

173

286

287

292

331

354

360

361

378

381

396

292

331

354

360

361

378

381

396

Paso 20: intercambio

8
62

104

112
173
354

360

141
202

361

378

220
381

154
282

168

286

287

292

220

282

286

331

396

Vector:
8

62

104

112

Enrique P. Calot

141

154

168

173

202

287

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.3.46.

41

Paso 20: swapdown

8
62

104

112

141

173
354

202

360

361

154

220

378

381

282

168

286

287

220

282

292

331

396

Vector:
8

62

104

3.4.

112

141

154

168

173

202

286

287

292

331

354

360

361

378

381

396

Heap Sort descendente

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

Arbol
inicial

3.4.1.

396
331

202

62

354

154
287

168

141
220

381

173

361

378
360

112

286

104

282

292

Vector:
396

331

202

62

354

378

112

n II
Algoritmos y Programacio

154

141

381

360

286

104

282

287

168

220

173

Facultad de Ingeniera

361

292

42

3.4

3.4.2.

Heap Sort descendente

Heapfy paso 0

396
331

202

62

354

154
287

141

168

220

378

381

173

361

360

112

286

104

282

292

Vector:
396

331

3.4.3.

202

62

354

378

112

154

141

381

360

286

104

282

287

168

220

173

361

292

104

282

287

168

220

173

361

381

Heapfy paso 1

396
331

202

62

354

154
287

168

141
220

292

173

361

378
360

112

286

104

282

381

Vector:
396

331

202

62

Enrique P. Calot

354

378

112

154

141

292

360

286

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.4.

43

Heapfy paso 2

396
331

202

62

292

154
287

141

168

220

173

354
361

8
360

104

378

286

112

354

360

378

282

381

Vector:
396

331

3.4.5.

202

62

292

104

154

141

286

112

282

287

168

220

173

361

381

112

282

287

168

220

331

361

381

Heapfy paso 3

396
62

141
154
287

292
173

168

220

331

354
361

202
360

378

104

286

112

282

378

286

381

Vector:
396

62

141

292

202

104

n II
Algoritmos y Programacio

154

173

354

360

Facultad de Ingeniera

44

3.4

3.4.6.

Heap Sort descendente

Heapfy paso 4

8
62

104

141

292

154
287

173

168

220

104

141

202

354

331

361

360

378

112

286

396

282

378

286

381

Vector:
8

62

3.4.7.

292

202

112

154

173

354

360

396

282

287

168

220

331

361

381

Paso 1: intercambio

381
62

104

141
154
287

168

292
173

220

354

331

361

202
360

378

112

286

396

282

Vector:
381

62

104

141

Enrique P. Calot

292

202

112

154

173

354

360

378

286

396

282

287

168

220

331

n II
Algoritmos y Programacio

361

3.4

Heap Sort descendente

3.4.8.

45

Paso 1: swapdown

62
141

104

154
168
287

292
173

381

220

354

331

361

202
360

378

112

286

396

282

Vector:
62

141

3.4.9.

104

154

292

202

112

168

173

354

360

378

286

396

282

287

381

220

331

361

62

Paso 2: intercambio

361
141

104

154
168
287

381

104

154

292
173

220

354

331

62

202
360

378

286

112
396

282

Vector:
361

141

292

202

112

n II
Algoritmos y Programacio

168

173

354

360

378

286

396

282

287

381

220

331

Facultad de Ingeniera

46

3.4

3.4.10.

Heap Sort descendente

Paso 2: swapdown

104
141

112

154

292

168

173

287

381

112

154

220

331

354
62

202
360

378

282

286

396

361

Vector:
104

141

3.4.11.

292

202

282

168

173

354

360

378

286

396

361

287

381

220

331

62

396

361

287

381

220

104

62

Paso 3: intercambio

331
141

112

154
168
287

381

112

154

292
173

220

104

354
62

202
360

378

173

354

286

282
396

361

Vector:
331

141

Enrique P. Calot

292

202

282

168

360

378

286

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.12.

47

Paso 3: swapdown

112
141

202

154

292

168

173

287

381

202

154

220

354

104

62

286
360

378

173

354

282

331

396

361

Vector:
112

141

3.4.13.

292

286

282

168

360

378

331

396

361

287

381

220

104

62

396

361

287

381

112

104

62

Paso 4: intercambio

220
141

202

154
168

292
173

287

381

112

202

154

292

354

104

62

286
360

378

331

173

354

360

282
396

361

Vector:
220

141

286

282

n II
Algoritmos y Programacio

168

378

331

Facultad de Ingeniera

48

3.4

3.4.14.

Heap Sort descendente

Paso 4: swapdown

141
154

202

168

292

220

173

287

381

112

202

168

292

104

354
62

286

282

360

378

331

173

354

360

396

361

Vector:
141

154

3.4.15.

286

282

220

378

331

396

361

287

381

112

104

62

396

361

287

141

112

104

62

Paso 5: intercambio

381
154

202

168
220
287

292
173

141

112

104

168

292

286

354
62

286
360

378

331

173

354

360

282
396

361

Vector:
381

154

202

Enrique P. Calot

282

220

378

331

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.16.

49

Paso 5: swapdown

154
168

202

173

292

220
287

381

141

112

104

173

292

286

354
62

286

282

360

378

331

381

354

360

396

361

Vector:
154

168

3.4.17.

202

282

220

378

331

396

361

287

141

112

104

62

396

361

154

141

112

104

62

Paso 6: intercambio

287
168

202

173
220
154

292
381

354

141

112

104

62

173

292

286

282

286
360

282

378

331

396

354

360

378

361

Vector:
287

168

202

n II
Algoritmos y Programacio

220

381

331

Facultad de Ingeniera

50

3.4

3.4.18.

Heap Sort descendente

Paso 6: swapdown

168
173

202

220

292

287
154

381

354

141

112

104

62

220

292

286

282

286
360

282

378

331

396

354

360

378

361

Vector:
168

173

3.4.19.

202

287

381

331

396

361

154

141

112

104

62

396

168

154

141

112

104

62

Paso 7: intercambio

361
173

202

220
287
154

292
381

141

354

286
360

112

104

62

292

286

282

287

378

282

331

396

360

378

168

Vector:
361

173

202

220

Enrique P. Calot

381

354

331

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.20.

51

Paso 7: swapdown

173
220

202

287

292

361
154

381

141

354

286
360

112

104

62

292

286

282

361

378

282

331

396

360

378

168

Vector:
173

220

3.4.21.

202

287

381

354

331

396

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 8: intercambio

396
220

202

287
361
154

292
381

141

112

354

104

62

286

282

286
360

378

282

331

173

168

360

378

331

Vector:
396

220

202

287

292

n II
Algoritmos y Programacio

361

381

354

Facultad de Ingeniera

52

3.4

3.4.22.

Heap Sort descendente

Paso 8: swapdown

202
220

282

287

292

361
154

381

141

112

354

104

62

286

396

286
360

378

396

331

173

168

360

378

331

Vector:
202

220

3.4.23.

282

287

292

361

381

354

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 9: intercambio

331
220

282

287
361
154

292
381

141

112

354

104

62

286
360

378

396

202

173

168

378

202

Vector:
331

220

282

287

Enrique P. Calot

292

286

396

361

381

354

360

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.24.

53

Paso 9: swapdown

220
287

282

331

292

361
154

381

141

112

286

354

104

62

360

378

396

202

173

168

378

202

Vector:
220

287

3.4.25.

282

331

292

286

396

361

381

354

360

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 10: intercambio

378
287

282

331
361
154

292
381

141

112

354

104

62

286
360

220

396

202

173

168

Vector:
378

287

282

331

292

286

396

n II
Algoritmos y Programacio

361

381

354

360

220

202

Facultad de Ingeniera

54

3.4

3.4.26.

Heap Sort descendente

Paso 10: swapdown

282
287

286

331

292

361
154

381

141

112

354

104

62

378
360

220

396

202

173

168

Vector:
282

287

3.4.27.

286

331

292

378

396

361

381

354

360

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 11: intercambio

360
287

286

331
361
154

292
381

141

112

354

104

62

378
282

220

396

202

173

168

Vector:
360

287

286

331

Enrique P. Calot

292

378

396

361

381

354

282

220

202

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.28.

55

Paso 11: swapdown

286
287

360

331

292

361
154

381

141

112

354

104

62

378
282

220

396

202

173

168

Vector:
286

287

3.4.29.

360

331

292

378

396

361

381

354

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 12: intercambio

354
287

360

331
361
154

292
381

141

112

286

104

62

378
282

220

396

202

173

168

Vector:
354

287

360

331

292

378

396

n II
Algoritmos y Programacio

361

381

286

282

220

202

Facultad de Ingeniera

56

3.4

3.4.30.

Heap Sort descendente

Paso 12: swapdown

287
292

360

331

354

361
154

381

141

112

286

104

62

378
282

220

396

202

173

168

Vector:
287

292

3.4.31.

360

331

354

378

396

361

381

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 13: intercambio

381
292

360

331
361
154

141

354
287

112

286

104

62

378
282

220

396

202

173

168

Vector:
381

292

360

331

Enrique P. Calot

354

378

396

361

287

286

282

220

202

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.32.

57

Paso 13: swapdown

292
331

360

361

354

381
154

287

141

112

286

104

62

378
282

220

396

202

173

168

Vector:
292

331

3.4.33.

360

361

354

378

396

381

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 14: intercambio

381
331

360

361
292
154

141

354
287

112

286

104

62

378
282

220

396

202

173

168

Vector:
381

331

360

361

354

378

396

n II
Algoritmos y Programacio

292

287

286

282

220

202

Facultad de Ingeniera

58

3.4

3.4.34.

Heap Sort descendente

Paso 14: swapdown

331
354

360

361

381

292
154

287

141

112

286

104

62

378
282

220

396

202

173

168

Vector:
331

354

3.4.35.

360

361

381

378

396

292

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 15: intercambio

396
354

360

361
292
154

141

381
287

112

286

104

62

378
282

220

331

202

173

168

Vector:
396

354

360

361

Enrique P. Calot

381

378

331

292

287

286

282

220

202

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.36.

59

Paso 15: swapdown

354
361

360

396

381

292
154

287

141

112

286

104

62

378
282

220

331

202

173

168

Vector:
354

361

3.4.37.

360

396

381

378

331

292

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 16: intercambio

378
361

360

396
292
154

141

381
287

112

104

286
62

354
282

220

202

331
173

168

Vector:
378

361

360

396

381

354

331

n II
Algoritmos y Programacio

292

287

286

282

220

202

Facultad de Ingeniera

60

3.4

3.4.38.

Heap Sort descendente

Paso 16: swapdown

360
361

378

396

381

292
154

287

141

112

104

286
62

354
282

220

331

202

173

168

Vector:
360

361

3.4.39.

378

396

381

354

331

292

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 17: intercambio

381
361

378

396
292
154

141

360
287

112

104

286
62

354
282

220

202

331
173

168

Vector:
381

361

378

396

Enrique P. Calot

360

354

331

292

287

286

282

220

202

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.40.

61

Paso 17: swapdown

361
381

378

396

360

292
154

287

141

112

104

286
62

354
282

220

331

202

173

168

Vector:
361

381

3.4.41.

378

396

360

354

331

292

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 18: intercambio

396
381

378

361
292
154

141

360
287

112

104

286
62

354
282

220

202

331
173

168

Vector:
396

381

378

361

360

354

331

n II
Algoritmos y Programacio

292

287

286

282

220

202

Facultad de Ingeniera

62

3.4

3.4.42.

Heap Sort descendente

Paso 18: swapdown

378
381

396

361

360

292
154

287

141

112

104

286
62

354
282

220

331

202

173

168

Vector:
378

381

3.4.43.

396

361

360

354

331

292

287

286

282

220

202

173

168

154

141

112

104

62

173

168

154

141

112

104

62

Paso 19: intercambio

396
381

378

361
292
154

360
287

141

112

104

286
62

354
282

220

292

287

202

331
173

168

Vector:
396

381

378

361

Enrique P. Calot

360

354

331

286

282

220

202

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.44.

63

Paso 19: swapdown

381
396

378

361

360

292
154

287

141

112

104

286
62

354
282

220

292

287

331

202

173

168

Vector:
381

396

3.4.45.

378

361

360

354

331

286

282

220

202

173

168

154

141

112

104

62

202

173

168

154

141

112

104

62

Paso 20: intercambio

396
381

378

361
292
154

360
287

141

112

378

361

104

286
62

354
282

220

292

287

202

331
173

168

Vector:
396

381

360

354

331

n II
Algoritmos y Programacio

286

282

220

Facultad de Ingeniera

64

3.5

3.4.46.

Merge Polif
asico de las salidas por selecci
on de reemplazo

Paso 20: swapdown


396
381

378

361
292
154

360
287

141

112

378

361

104

286
62

354
282

220

292

287

331

202

173

168

Vector:
396

381

3.5.

360

354

331

286

282

220

202

173

168

154

141

112

104

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.
Fases
0
1
3.5.2.

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

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.5.3.

Fase 1

E1
62, 202, 331, 354,
378, 381, 396
Enrique P. Calot

E2
8, 112, 141, 154, 282,
286, 287, 360, 361

E3
104, 168, 173, 220,
292

n II
Algoritmos y Programacio

62

3.6

Merge Polif
asico de las particiones marcadas

3.5.4.

65

Fase final

E1
62, 202, 331, 354,
378, 381, 396

E2
8, 112, 141, 154, 282,
286, 287, 360, 361

E3
104, 168, 173, 220,
292

E2

E3

3.6.

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

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 = {62, 202, 331, 354, 396}; p2 = {112, 154, 378}; . . . ; p6 = {168, 220}; p7 = {173, 292, 361}.
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.
Fases
0
1
2
3
3.6.2.

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

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.6.3.

Fase 1

E1
D
112, 154, 378
8, 104, 282, 286, 287
173, 292, 361

E2
D
141
168, 220

n II
Algoritmos y Programacio

E3
62, 202, 331, 354, 396
360, 381

Facultad de Ingeniera

66

3.6

3.6.4.

Merge Polif
asico de las particiones marcadas

Fase 2

E1
D
112, 154, 378

E2
D
141

E3
62, 202, 331, 354, 396
360, 381

E1
8, 104, 282, 286, 287
173, 292, 361

E2
168, 220

E1
D
112, 154, 378

E2
D
141

E3
62, 202, 331, 354, 396
360, 381

E1
8, 104, 282, 286, 287

E2
168, 220

E1
173, 292, 361

S
8, 62, 104, 168,
220, 282, 286,
331, 354, 396
E2
8, 62, 104, 168,
220, 282, 286,
331, 354, 396

3.6.5.

S
62, 202, 331, 354, 396
112, 141, 154, 360,
378, 381
E3
62, 202, 331, 354, 396
112, 141, 154, 360,
378, 381

Fase 3

Enrique P. Calot

202,
287,

202,
287,

S
62, 202, 331, 354, 396
112, 141, 154, 360,
378, 381
E3
62, 202, 331, 354, 396

E3
112, 141, 154, 360,
378, 381

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.6.6.

Fase final

E1
D
112, 154, 378

E2
D
141

E3
62, 202, 331, 354, 396
360, 381

E1
8, 104, 282, 286, 287

E2
168, 220

E1
173, 292, 361

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

S
8, 62, 104, 168,
220, 282, 286,
331, 354, 396
E2
8, 62, 104, 168,
220, 282, 286,
331, 354, 396

3.7.

67

202,
287,

202,
287,

E2

S
62, 202, 331, 354, 396
112, 141, 154, 360,
378, 381
E3
62, 202, 331, 354, 396

E3
112, 141, 154, 360,
378, 381

E3

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 = {331, 396}; p2 = {62, 202}; . . . ; p10 = {173, 361}; p11 = {292}.
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
3.7.2.

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

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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.7

3.7.3.

Merge Polif
asico con particiones formadas de 2 elementos

Fase 1

E1
D
D
331,
112,
104,
168,
292

E2
D
D
62, 202
141, 381
282, 287
173, 361

E3
D
D
354, 378
8, 360

E1
D
D
331, 396

E2
D
D
62, 202

E3
D
D
354, 378

112, 154

141, 381

8, 360

E1
104, 286
168, 220
292

E2
282, 287
173, 361

S
D
D
62, 202, 331,
378, 396
8, 112, 141, 154,
381
E3
D
D
62, 202, 331,
378, 396
8, 112, 141, 154,
381

E1
D
D
331, 396

E2
D
D
62, 202

E3
D
D
354, 378

112, 154

141, 381

8, 360

E1
104, 286
168, 220
E1
292

E2
282, 287
173, 361
S

S
104, 282, 286, 287
168, 173, 220, 361
E2
104, 282, 286, 287

168, 173, 220, 361

3.7.4.

3.7.5.

396
154
286
220

Fase 2

354,
360,

354,
360,

Fase 3

Enrique P. Calot

S
D
D
62, 202, 331,
378, 396
8, 112, 141, 154,
381
E3
D
D
E3
62, 202, 331,
378, 396
8, 112, 141, 154,
381

354,
360,

354,
360,

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.7.6.

Fase 4

E1
D
D
331, 396

E2
D
D
62, 202

E3
D
D
354, 378

112, 154

141, 381

8, 360

E1
104, 286
168, 220
E1
292

E2
282,
173,
S
62,
286,
354,
E1
62,
286,
354,

S
104, 282, 286, 287
168, 173, 220, 361
E2
104, 282, 286, 287

69

287
361
104, 202, 282,
287, 292, 331,
378, 396
104, 202, 282,
287, 292, 331,
378, 396

n II
Algoritmos y Programacio

E2
168, 173, 220, 361

S
D
D
62, 202, 331, 354,
378, 396
8, 112, 141, 154, 360,
381
E3
D
D
E3
62, 202, 331, 354,
378, 396
E3
8, 112, 141, 154, 360,
381

Facultad de Ingeniera

70

3.8

3.7.7.

Merge Polif
asico con particiones formadas de 3 elementos

Fase final

E1
D
D
331, 396

E2
D
D
62, 202

E3
D
D
354, 378

112, 154

141, 381

8, 360

E1
104, 286
168, 220
E1
292

E2
282,
173,
S
62,
286,
354,
E1
62,
286,
354,

S
104, 282, 286, 287
168, 173, 220, 361
E2
104, 282, 286, 287

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.8.

287
361
104, 202, 282,
287, 292, 331,
378, 396
104, 202, 282,
287, 292, 331,
378, 396

S
D
D
62, 202, 331, 354,
378, 396
8, 112, 141, 154, 360,
381
E3
D
D
E3
62, 202, 331, 354,
378, 396

E2
168, 173, 220, 361

E3
8, 112, 141, 154, 360,
381

E2

E3

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 = {202, 331, 396}; p2 = {62, 354, 378}; . . . ; p6 = {168, 220, 287}; p7 = {173, 292, 361}.

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.
Fases
0
1
2
3
Enrique P. Calot

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

3.8

Merge Polif
asico con particiones formadas de 3 elementos

3.8.2.

71

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.8.3.

Fase 1

E1
D
62, 354, 378
104, 282, 286
173, 292, 361

E2
D
112, 141, 154
168, 220, 287

E3
202, 331, 396
8, 360, 381

E1
D
62, 354, 378

E2
D
112, 141, 154

E3
202, 331, 396
8, 360, 381

E1
104, 282, 286
173, 292, 361

E2
168, 220, 287

S
202, 331, 396
8, 62, 112, 141, 154,
354, 360, 378, 381
E3
202, 331, 396
8, 62, 112, 141, 154,
354, 360, 378, 381

E1
D
62, 354, 378

E2
D
112, 141, 154

E3
202, 331, 396
8, 360, 381

E1
104, 282, 286

E2
168, 220, 287

E1
173, 292, 361

S
104,
282,
396
E2
104,
282,
396

3.8.4.

3.8.5.

Fase 2

Fase 3

n II
Algoritmos y Programacio

168, 202, 220,


286, 287, 331,

168, 202, 220,


286, 287, 331,

S
202, 331, 396
8, 62, 112, 141, 154,
354, 360, 378, 381
E3
202, 331, 396

E3
8, 62, 112, 141, 154,
354, 360, 378, 381

Facultad de Ingeniera

72

3.9

3.8.6.

Merge Polif
asico con particiones formadas de 4 elementos

Fase final

E1
D
62, 354, 378

E2
D
112, 141, 154

E3
202, 331, 396
8, 360, 381

E1
104, 282, 286

E2
168, 220, 287

E1
173, 292, 361

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

S
104,
282,
396
E2
104,
282,
396

3.9.

168, 202, 220,


286, 287, 331,

168, 202, 220,


286, 287, 331,

E2

S
202, 331, 396
8, 62, 112, 141, 154,
354, 360, 378, 381
E3
202, 331, 396

E3
8, 62, 112, 141, 154,
354, 360, 378, 381

E3

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 = {62, 202, 331, 396}; p2 = {112, 154, 354, 378}; p3 = {8, 141, 360, 381}; p4 =
{104, 282, 286, 287}; p5 = {168, 173, 220, 361}; p6 = {292}.
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.
Fases
0
1
2
3
3.9.2.

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

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

3.9.3.

73

Fase 1

E1
D
62, 202, 331, 396
104, 282, 286, 287
292

E2
D
112, 154, 354, 378
168, 173, 220, 361

E3
D
8, 141, 360, 381

E1
D
62, 202, 331, 396

E2
D
112, 154, 354, 378

E3
D
8, 141, 360, 381

E1
104, 282, 286, 287
292

E2
168, 173, 220, 361

S
D
8, 62, 112, 141,
202, 331, 354,
378, 381, 396
E3
D
8, 62, 112, 141,
202, 331, 354,
378, 381, 396

E1
D
62, 202, 331, 396

E2
D
112, 154, 354, 378

E3
D
8, 141, 360, 381

E1
104, 282, 286, 287

E2
168, 173, 220, 361

E1
292

S
104,
282,
E2
104,
282,

3.9.4.

3.9.5.

Fase 2

154,
360,

154,
360,

Fase 3

n II
Algoritmos y Programacio

168, 173, 220,


286, 287, 361
168, 173, 220,
286, 287, 361

S
D
8, 62, 112, 141, 154,
202, 331, 354, 360,
378, 381, 396
E3
D
E3
8, 62, 112, 141, 154,
202, 331, 354, 360,
378, 381, 396
Facultad de Ingeniera

74

3.10

3.9.6.

Selecci
on de reemplazo con buffer de tama
no 2

Fase final

E1
D
62, 202, 331, 396

E2
D
112, 154, 354, 378

E3
D
8, 141, 360, 381

E1
104, 282, 286, 287

E2
168, 173, 220, 361

E1
292

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

S
104,
282,
E2
104,
282,

3.10.

168, 173, 220,


286, 287, 361
168, 173, 220,
286, 287, 361

E2

S
D
8, 62, 112, 141, 154,
202, 331, 354, 360,
378, 381, 396
E3
D
E3
8, 62, 112, 141, 154,
202, 331, 354, 360,
378, 381, 396

E3

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.
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

75

b1
b2
Sale
Entra

Nada
396
396

Nada
331
396
331
331
202
396
202
396
62
62
202
Nueva partici
on! Se cierra la partici
on p1 = {331, 396}
62
354
354
202
202
378
354
378
354
112
112
378
378
154
112
154
Nueva partici
on! Se cierra la partici
on p2 = {62, 202, 354, 378}
112
141
141
154
141
381
381
154
154
360
381
360
360
8
381
8
381
286
286
8
Nueva partici
on! Se cierra la partici
on p3 = {112, 141, 154, 360, 381}
8
104
286
104
104
282
286
282
282
287
286
287
286
168
168
287
287
220
168
220
Nueva partici
on! Se cierra la partici
on p4 = {8, 104, 282, 286, 287}
168
173
173
220
173
361
361
220
220
292
361
292
292
Nada
361

361
Nada
Finaliza la u
ltima partici
on en p5 = {168, 173, 220, 292, 361}

3.10.2.

Salida final

p1 = {331, 396};
p2 = {62, 202, 354, 378};
p3 = {112, 141, 154, 360, 381};
p4 = {8, 104, 282, 286, 287};
p5 = {168, 173, 220, 292, 361}.

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

Facultad de Ingeniera

76

3.11

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

Fases
0
1
2
3.11.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

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.11.3.

Fase 1

E1
331, 396

E2
62, 202, 354, 378

8, 104, 282, 286, 287

168, 173, 220, 292,


361

3.11.4.

E3
112, 141, 154, 360,
381

S
62,
202,
378,
E3
62,
202,
378,

Fase 2

E1
331, 396

E2
62, 202, 354, 378

E3
112, 141, 154, 360,
381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

E1
331, 396

E2
62, 202, 354, 378

E3
112, 141, 154, 360,
381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

E2

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.11.5.

112, 141, 154,


331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

Fase final

Enrique P. Calot

S
62,
202,
378,
E3
62,
202,
378,

112, 141, 154,


331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

E3

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

3.12.

77

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.12.1.

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
396

Nada
396
331

331
396

202

Nada
396

202
62
396
202
62

Nueva partici
on! Se cierra la partici
on p1 = {331, 396}
62
202
354

202
378
354

354
378

112

Nada
378

112
154
378
112
154

Nueva partici
on! Se cierra la partici
on p2 = {62, 202, 354, 378}
112
141
154

141
381
154

154
381
360

360
381

Nada
381

8
286
381
8
286

Nueva partici
on! Se cierra la partici
on p3 = {112, 141, 154, 360, 381}
8
104
286

104
282
286

282
287
286

286
287

168

Nada
287

168
220
287
168
220

Nueva partici
on! Se cierra la partici
on p4 = {8, 104, 282, 286, 287}
168
173
220

173
361
220

220
361
292

292
361

361
Finaliza la u
ltima partici
on en p5 = {168, 173, 220, 292, 361}

3.12.2.

Entra
396
331
202
62
Nada

354
378
112
154
Nada

141
381
360
8
286
Nada

104
282
287
168
220
Nada

173
361
292
Nada
Nada

Salida final

p1 = {331, 396};
p2 = {62, 202, 354, 378};
p3 = {112, 141, 154, 360, 381};
p4 = {8, 104, 282, 286, 287};
p5 = {168, 173, 220, 292, 361}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.13

3.13.

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

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.
Fases
0
1
2

3.13.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<5
Si
Si
No

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.13.3.

Fase 1

E1
331, 396

E2
62, 202, 354, 378

8, 104, 282, 286, 287

168, 173, 220, 292,


361

3.13.4.

E3
112, 141, 154, 360,
381

S
62,
202,
378,
E3
62,
202,
378,

Fase 2

E1
331, 396

E2
62, 202, 354, 378

E3
112, 141, 154, 360,
381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

Enrique P. Calot

112, 141, 154,


331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

n II
Algoritmos y Programacio

3.14

Selecci
on de reemplazo con buffer de tama
no 3

3.13.5.

Fase final

E1
331, 396

E2
62, 202, 354, 378

E3
112, 141, 154, 360,
381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

E2

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.14.

79

S
62,
202,
378,
E3
62,
202,
378,

112, 141, 154,


331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

E3

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

Facultad de Ingeniera

80

3.15

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

b1
b2
b3
Sale
Entra

Nada
396
396

Nada
331
396
331

Nada
202
396
331
202
202
62
396
331
62
331
354
396
354
62
354
378
396
378
62
378
112
396
112
62
396
154
154
112
62
Nueva partici
on! Se cierra la partici
on p1 = {202, 331, 354, 378, 396}
62
141
154
112
141
112
381
154
381
141
141
360
154
381
360
154
8
8
381
360
360
286
8
381
286
381
104
8
104
286
Nueva
partici
on!
Se
cierra
la
partici
on
p2
=
{62, 112, 141, 154, 360, 381}
8
282
282
104
286
104
287
282
287
286
282
168
168
287
286
286
220
168
287
220
287
173
168
173
220
Nueva partici
on! Se cierra la partici
on p3 = {8, 104, 282, 286, 287}
168
361
361
173
220
173
292
361
292
220
220
Nada
361
292

292
Nada
361

361
Nada
Finaliza la u
ltima partici
on en p4 = {168, 173, 220, 292, 361}

3.14.2.

Salida final

p1 = {202, 331, 354, 378, 396};


p2 = {62, 112, 141, 154, 360, 381};
p3 = {8, 104, 282, 286, 287};
p4 = {168, 173, 220, 292, 361}.

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.15

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

Fases
0
1
2
3.15.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

81

<4
Si
Si
No

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.15.3.

Fase 1

E1
D

E2
202, 331, 354, 378,
396
168, 173, 220, 292,
361

E3
62, 112, 141, 154,
360, 381

E1
D

E2
202, 331, 354, 378,
396

E3
62, 112, 141, 154,
360, 381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

S
62,
202,
378,
E3
62,
202,
378,

E1
D

E2
202, 331, 354, 378,
396

E3
62, 112, 141, 154,
360, 381

E1
8, 104, 282, 286, 287

E2
168, 173, 220, 292,
361

E2

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

8, 104, 282, 286, 287

3.15.4.

3.15.5.

Fase 2
112, 141, 154,
331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

Fase final

n II
Algoritmos y Programacio

S
62,
202,
378,
E3
62,
202,
378,

112, 141, 154,


331, 354, 360,
381, 396
112, 141, 154,
331, 354, 360,
381, 396

E3

Facultad de Ingeniera

82

3.16

3.16.

Selecci
on Natural con buffers de tama
no 3

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.
b1
b2
b3
a1
a2
a3
Sale
Entra

Nada
396
396

Nada
331
396
331

Nada
202
396
331
202

202
62
396
331

62

Nada
354
396
331
354
62

331
378
396
378
354
62

354
112
396
378

62
112

Nada
154
396
378

62
112
154
378
Nada
396

62
112
154
396
Nada
62
112
154

Nueva partici
on! Se cierra la partici
on p1 = {202, 331, 354, 378, 396}
62
141
141
112
154

112
381
141
381
154

141
360
360
381
154

154
8
360
381

Nada
286
360
381
286
8

286
104
360
381

8
104

Nada
282
360
381

8
104
282
360
Nada

381

8
104
282
381
Nada
8
104
282

Nueva partici
on! Se cierra la partici
on p2 = {62, 112, 141, 154, 286, 360, 381}
8
287
287
104
282

104
168
287
168
282

168
220
287
220
282

220
173
287

282
173

Nada
361
287
361
282
173

282
292
287
361
292
173

287
Nada

361
292
173

292
Nada

361

173

361
Nada
173

Nueva partici
on! Se cierra la partici
on p3 = {8, 104, 168, 220, 282, 287, 292, 361}
173
Nada
Finaliza la u
ltima partici
on en p4 = {173}

3.16.2.

Salida final

p1 = {202, 331, 354, 378, 396};


p2 = {62, 112, 141, 154, 286, 360, 381};
p3 = {8, 104, 168, 220, 282, 287, 292, 361};
p4 = {173}.
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

3.17.

83

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.
Fases
0
1
2

3.17.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
202, 331, 354, 378,
396
173

E3
62, 112, 141, 154,
286, 360, 381

E1
D

E2
202, 331, 354, 378,
396

E3
62, 112, 141, 154,
286, 360, 381

E1
8, 104, 168, 220, 282,
287, 292, 361

E2
173

S
62,
202,
360,
E3
62,
202,
360,

8, 104, 168, 220, 282,


287, 292, 361

3.17.4.

Fase 2

n II
Algoritmos y Programacio

112, 141, 154,


286, 331, 354,
378, 381, 396
112, 141, 154,
286, 331, 354,
378, 381, 396

Facultad de Ingeniera

84

3.18

3.17.5.

Selecci
on de reemplazo con buffer de tama
no 4

Fase final

E1
D

E2
202, 331, 354, 378,
396

E3
62, 112, 141, 154,
286, 360, 381

E1
8, 104, 168, 220, 282,
287, 292, 361

E2
173

E2

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.18.

S
62,
202,
360,
E3
62,
202,
360,

112, 141, 154,


286, 331, 354,
378, 381, 396
112, 141, 154,
286, 331, 354,
378, 381, 396

E3

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.
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

b1
b2
b3
b4
Sale

Nada
396

Nada
396
331

Nada
396
331
202

Nada
396
331
202
62
62
396
331
202
354
202
396
331
378
354
331
396
112
378
354
354
396
112
378
154
378
396
112
141
154
396
381
112
141
154
Nueva
partici
on!
Se
cierra
la
{62, 202, 331, 354, 378, 396}
112
381
360
141
154
141
381
360
8
154
154
381
360
8
286
286
381
360
8
104
360
381
282
8
104
381
287
282
8
104
Nueva
partici
on!
Se
cierra
la
{112, 141, 154, 286, 360, 381}
8
287
282
168
104
104
287
282
168
220
168
287
282
173
220
173
287
282
361
220
220
287
282
361
292
282
287

361
292
287

361
292
292

361

361
Finaliza
la
u
ltima
partici
on
{8, 104, 168, 173, 220, 282, 287, 292, 361}

3.18.2.

85

Entra
396
331
202
62
354
378
112
154
141
381
partici
on

p1

p2

360
8
286
104
282
287
partici
on

en

168
220
173
361
292
Nada
Nada
Nada
Nada
p3

Salida final

p1 = {62, 202, 331, 354, 378, 396};


p2 = {112, 141, 154, 286, 360, 381};
p3 = {8, 104, 168, 173, 220, 282, 287, 292, 361}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.20

3.19.2.

Selecci
on Natural con buffers de tama
no 4

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.3.

Fase 1

E1
62, 202, 331, 354,
378, 396

E2
112, 141, 154, 286,
360, 381

E3
8, 104, 168, 173, 220,
282, 287, 292, 361

E1
62, 202, 331, 354,
378, 396

E2
112, 141, 154, 286,
360, 381

E3
8, 104, 168, 173, 220,
282, 287, 292, 361

E2

E3

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.19.4.

3.20.

Fase final

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.

3.20.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

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

87

a2
a3
a4
Sale
Entra

Nada
396

Nada
331

Nada
202

Nada
62

62
354

202
378

331
112

Nada
154
154

Nada
141
154
141

Nada
381
154
141

354
360
154
141

360
8
154
141
8
378
Nada
154
141
8
381
Nada
154
141
8
396
Nada

p1 = {62, 202, 331, 354, 360, 378, 381, 396}


8
286
112
154
141
286

112
104

154
141
286
104

Nada
282
282
154
141
286
104

141
287
282
154
287
286
104

154
168
282
168
287
286
104

168
220
282
220
287
286
104

220
173
282

287
286
104
173

Nada
361
282
361
287
286
104
173

282
292
292
361
287
286
104
173

286
Nada
292
361
287

104
173

287
Nada
292
361

104
173

292
Nada

361

104
173

361
Nada
104
173

Nueva partici
on! Se cierra la partici
on p2 = {8, 112, 141, 154, 168, 220, 282, 286, 287, 292, 361}
104
Nada

173

173
Nada
Finaliza la u
ltima partici
on en p3 = {104, 173}
b1
b2
b3
b4
a1

396

396
331

396
331
202

396
331
202
62

396
331
202
354

396
331
378
354

396

378
354
112
396

378
354
112
396

378
354
112
396
381
378
354
112
396
381
378
360
112
396
381
378

112
396
381

112
396

112
112
154
141
8

Nueva partici
on! Se cierra la partici
on

3.20.2.

Salida final

p1 = {62, 202, 331, 354, 360, 378, 381, 396};


p2 = {8, 112, 141, 154, 168, 220, 282, 286, 287, 292, 361};
p3 = {104, 173}.

3.21.

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.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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

88

3.22

3.21.2.

Selecci
on Natural con buffers de tama
no 5

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.3.

Fase 1

E1
62, 202, 331, 354,
360, 378, 381, 396

E2
8, 112, 141, 154, 168,
220, 282, 286, 287,
292, 361

E3
104, 173

E1
62, 202, 331, 354,
360, 378, 381, 396

E2
8, 112, 141, 154, 168,
220, 282, 286, 287,
292, 361

E3
104, 173

E2

E3

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.21.4.

3.22.

Fase final

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.23

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

89

a1
a2
a3
a4
a5
Sale
Entra

Nada
396

Nada
331

Nada
202

Nada
62

Nada
354

62
378

202
112
112

Nada
154
112
154

Nada
141
112
154
141

Nada
381
112
154
141

331
360
112
154
141

354
8
112
154
141
8

Nada
286
112
154
141
8
286
360
Nada
112
154
141
8
286
378
Nada
112
154
141
8
286
381
Nada
112
154
141
8
286
396
Nada

p1 = {62, 202, 331, 354, 360, 378, 381, 396}


8
104
112
154
141
104
286

104
282
112
154
141
282
286

112
287
287
154
141
282
286

141
168
287
154
168
282
286

154
220
287
220
168
282
286

168
173
287
220
173
282
286

173
361
287
220
361
282
286

220
292
287
292
361
282
286

282
Nada
287
292
361

286

286
Nada
287
292
361

287
Nada

292
361

292
Nada

361

361
Nada
Finaliza la u
ltima partici
on en p2 = {8, 104, 112, 141, 154, 168, 173, 220, 282, 286, 287, 292, 361}
b1
b2
b3
b4
b5

396

396
331

396
331
202

396
331
202
62

396
331
202
62
354
396
331
202
378
354
396
331

378
354
396
331

378
354
396
331

378
354
396
331
381
378
354
396
360
381
378
354
396
360
381
378

396
360
381
378

396

381
378

396

381

396

112
154
141
8
286
Nueva partici
on! Se cierra la partici
on

3.22.2.

Salida final

p1 = {62, 202, 331, 354, 360, 378, 381, 396};


p2 = {8, 104, 112, 141, 154, 168, 173, 220, 282, 286, 287, 292, 361}.

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.
Fases
0
1
n II
Algoritmos y Programacio

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No
Facultad de Ingeniera

90

3.24

3.23.2.

Selecci
on de reemplazo con buffer de tama
no 6

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.23.3.

Fase 1

E1
D

E2
62, 202, 331, 354,
360, 378, 381, 396

E3
8, 104, 112, 141, 154,
168, 173, 220, 282,
286, 287, 292, 361

E1
D

E2
62, 202, 331, 354,
360, 378, 381, 396

E3
8, 104, 112, 141, 154,
168, 173, 220, 282,
286, 287, 292, 361

E2

E3

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.23.4.

3.24.

Fase final

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.25

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

91

b1
b2
b3
b4
b5
b6
Sale
Entra

Nada
396
396

Nada
331
396
331

Nada
202
396
331
202

Nada
62
396
331
202
62

Nada
354
396
331
202
62
354

Nada
378
396
331
202
62
354
378
62
112
396
331
202
112
354
378
112
154
396
331
202
154
354
378
154
141
396
331
202
141
354
378
202
381
396
331
381
141
354
378
331
360
396
360
381
141
354
378
354
8
396
360
381
141
8
378
360
286
396
286
381
141
8
378
378
104
396
286
381
141
8
104
381
282
396
286
282
141
8
104
396
287
287
286
282
141
8
104
Nueva
partici
on!
Se
cierra
la
partici
on
p1
=
{62, 112, 154, 202, 331, 354, 360, 378, 381, 396}
8
168
287
286
282
141
168
104
104
220
287
286
282
141
168
220
141
173
287
286
282
173
168
220
168
361
287
286
282
173
361
220
173
292
287
286
282
292
361
220
220
Nada
287
286
282
292
361

282
Nada
287
286

292
361

286
Nada
287

292
361

287
Nada

292
361

292
Nada

361

361
Nada
Finaliza
la
u
ltima
partici
on
en
p2
=
{8, 104, 141, 168, 173, 220, 282, 286, 287, 292, 361}

3.24.2.

Salida final

p1 = {62, 112, 154, 202, 331, 354, 360, 378, 381, 396};
p2 = {8, 104, 141, 168, 173, 220, 282, 286, 287, 292, 361}.

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.
Fases
0
1
n II
Algoritmos y Programacio

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No
Facultad de Ingeniera

92

3.26

3.25.2.

Selecci
on Natural con buffers de tama
no 6

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.25.3.

Fase 1

E1
D

E2
62, 112, 154, 202,
331, 354, 360, 378,
381, 396

E3
8, 104, 141, 168, 173,
220, 282, 286, 287,
292, 361

E1
D

E2
62, 112, 154, 202,
331, 354, 360, 378,
381, 396

E3
8, 104, 141, 168, 173,
220, 282, 286, 287,
292, 361

E2

E3

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.25.4.

3.26.

Fase final

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.27

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

b1

396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
141
Nueva

b2
b3
b4
b5

331

331
202

331
202
62

331
202
62
354
331
202
62
354
331
202
112
354
331
202
154
354
331
202

354
331
202
381
354
331
360
381
354

360
381
354

360
381
354

360
381
354

360
381
354

360
381
354

360
381

381

381

8
286
104
282
partici
on! Se cierra la partici
on

141
168
286
104
141
168
286
220
173
168
286
220
173
361
286
220
292
361
286
220
292
361
286

292
361
286

292
361

292
361

361

Finaliza la u
ltima partici
on en

3.26.2.

b6
a1
a2
a3
a4
a5
a6

378

378

378

378
141

378
141

378
141

378
141
8

378
141
8
286

378
141
8
286
104

378
141
8
286
104
282

378
141
8
286
104
282
287
378
141
8
286
104
282
287
378
141
8
286
104
282
287

141
8
286
104
282
287

141
8
286
104
282
287
287

p1 = {62, 112, 154, 202, 331, 354, 360, 378, 381, 396}

282
287

282
287

282
287

282
287

282
287

282
287

287

287

p2 = {8, 104, 141, 168, 173, 220, 282, 286, 287, 292, 361}

93

Sale
Nada
Nada
Nada
Nada
Nada
Nada
62
112
154
Nada
202
331
Nada
Nada
Nada
Nada
354
360
378
381
396

Entra
396
331
202
62
354
378
112
154
141
381
360
8
286
104
282
287
Nada
Nada
Nada
Nada
Nada

8
104
141
168
173
220
282
286
287
292
361

168
220
173
361
292
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {62, 112, 154, 202, 331, 354, 360, 378, 381, 396};
p2 = {8, 104, 141, 168, 173, 220, 282, 286, 287, 292, 361}.

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.
P3
<2
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

94

3.27

3.27.2.

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

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.3.

Fase 1

E1
D

E2
62, 112, 154, 202,
331, 354, 360, 378,
381, 396

E3
8, 104, 141, 168, 173,
220, 282, 286, 287,
292, 361

E1
D

E2
62, 112, 154, 202,
331, 354, 360, 378,
381, 396

E3
8, 104, 141, 168, 173,
220, 282, 286, 287,
292, 361

E2

E3

S
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396
E1
8, 62, 104, 112, 141,
154, 168, 173, 202,
220, 282, 286, 287,
292, 331, 354, 360,
361, 378, 381, 396

3.27.4.

Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.28

Bubble Sort ascendente

3.28.

Bubble Sort ascendente

3.28.1.

Desarrollo

95

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

20/20

331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292 396

16/19

202 62 331 354 112 154 141 378 360 8 286 104 282 287 168 220 173 361 292 381 396

15/18

62 202 331 112 154 141 354 360 8 286 104 282 287 168 220 173 361 292 378 381 396

12/17

62 202 112 154 141 331 354 8 286 104 282 287 168 220 173 360 292 361 378 381 396

12/16

62 112 154 141 202 331 8 286 104 282 287 168 220 173 354 292 360 361 378 381 396

10/15

62 112 141 154 202 8 286 104 282 287 168 220 173 331 292 354 360 361 378 381 396

7/14

62 112 141 154 8 202 104 282 286 168 220 173 287 292 331 354 360 361 378 381 396

5/13

62 112 141 8 154 104 202 282 168 220 173 286 287 292 331 354 360 361 378 381 396

5/12

62 112 8 141 104 154 202 168 220 173 282 286 287 292 331 354 360 361 378 381 396

4/11

10

62

8 112 104 141 154 168 202 173 220 282 286 287 292 331 354 360 361 378 381 396

3/10

11

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/9

12

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/8

13

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/7

14

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/6

15

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/5

16

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/4

17

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/3

18

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/2

19

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/1

20

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

96

3.29

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

Bubble Sort descendente

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

16/20

396 331 202 354 378 112 154 141 381 360 62 286 104 282 287 168 220 173 361 292 8

15/19

396 331 354 378 202 154 141 381 360 112 286 104 282 287 168 220 173 361 292 62

12/18

396 354 378 331 202 154 381 360 141 286 112 282 287 168 220 173 361 292 104 62

11/17

396 378 354 331 202 381 360 154 286 141 282 287 168 220 173 361 292 112 104 62

10/16

396 378 354 331 381 360 202 286 154 282 287 168 220 173 361 292 141 112 104 62

10/15

396 378 354 381 360 331 286 202 282 287 168 220 173 361 292 154 141 112 104 62

8/14

396 378 381 360 354 331 286 282 287 202 220 173 361 292 168 154 141 112 104 62

5/13

396 381 378 360 354 331 286 287 282 220 202 361 292 173 168 154 141 112 104 62

3/12

396 381 378 360 354 331 287 286 282 220 361 292 202 173 168 154 141 112 104 62

2/11

10

396 381 378 360 354 331 287 286 282 361 292 220 202 173 168 154 141 112 104 62

2/10

11

396 381 378 360 354 331 287 286 361 292 282 220 202 173 168 154 141 112 104 62

2/9

12

396 381 378 360 354 331 287 361 292 286 282 220 202 173 168 154 141 112 104 62

2/8

13

396 381 378 360 354 331 361 292 287 286 282 220 202 173 168 154 141 112 104 62

1/7

14

396 381 378 360 354 361 331 292 287 286 282 220 202 173 168 154 141 112 104 62

1/6

15

396 381 378 360 361 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

1/5

16

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/4

17

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/3

18

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/2

19

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/1

20

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

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

97

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

20/20

331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292 396

15/20

8 331 202 62 354 378 112 154 141 381 360 104 286 168 282 287 173 220 292 361 396

15/18

8 202 62 331 354 112 154 141 378 360 104 286 168 282 287 173 220 292 361 381 396

11/18

62 202 104 331 354 112 154 141 378 360 168 286 173 282 287 220 292 361 381 396

13/16

62 104 202 331 112 154 141 354 360 168 286 173 282 287 220 292 361 378 381 396

8/16

62 104 112 202 331 141 154 168 354 360 173 286 220 282 287 292 361 378 381 396

9/14

62 104 112 202 141 154 168 331 354 173 286 220 282 287 292 360 361 378 381 396

4/14

62 104 112 141 202 154 168 173 331 354 220 286 282 287 292 360 361 378 381 396

8/12

62 104 112 141 154 168 173 202 331 220 286 282 287 292 354 360 361 378 381 396

2/12

10

62 104 112 141 154 168 173 202 220 331 282 286 287 292 354 360 361 378 381 396

4/10

11

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/10

12

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/8

13

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/8

14

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/6

15

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/6

16

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/4

17

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/4

18

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/2

19

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/2

20

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

98

3.31

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

Bilateral Bubble Sort descendente

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

16/20

396 331 202 354 378 112 154 141 381 360 62 286 104 282 287 168 220 173 361 292 8

16/20

396 381 331 202 354 378 112 154 141 361 360 62 286 104 282 287 168 220 173 292 8

14/18

396 381 331 354 378 202 154 141 361 360 112 286 104 282 287 168 220 173 292 62

13/18

396 381 378 331 354 361 202 154 141 360 292 112 286 104 282 287 168 220 173 62

10/16

396 381 378 354 361 331 202 154 360 292 141 286 112 282 287 168 220 173 104 62

9/16

396 381 378 361 354 360 331 202 154 292 287 141 286 112 282 220 168 173 104 62

8/14

396 381 378 361 360 354 331 202 292 287 154 286 141 282 220 168 173 112 104 62

4/14

396 381 378 361 360 354 331 292 202 287 286 154 282 141 220 173 168 112 104 62

6/12

396 381 378 361 360 354 331 292 287 286 202 282 154 220 173 168 141 112 104 62

2/12

10

396 381 378 361 360 354 331 292 287 286 282 202 220 154 173 168 141 112 104 62

3/10

11

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/10

12

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/8

13

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/8

14

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/6

15

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/6

16

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/4

17

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/4

18

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/2

19

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/2

20

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.32

Selection Sort ascendente

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

99

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

1/20

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

1/19

396 381 202 62 354 378 112 154 141 331 360 8 286 104 282 287 168 220 173 361 292

1/18

396 381 378 62 354 202 112 154 141 331 360 8 286 104 282 287 168 220 173 361 292

1/17

396 381 378 361 354 202 112 154 141 331 360 8 286 104 282 287 168 220 173 62 292

1/16

396 381 378 361 360 202 112 154 141 331 354 8 286 104 282 287 168 220 173 62 292

1/15

396 381 378 361 360 354 112 154 141 331 202 8 286 104 282 287 168 220 173 62 292

1/14

396 381 378 361 360 354 331 154 141 112 202 8 286 104 282 287 168 220 173 62 292

1/13

396 381 378 361 360 354 331 292 141 112 202 8 286 104 282 287 168 220 173 62 154

1/12

396 381 378 361 360 354 331 292 287 112 202 8 286 104 282 141 168 220 173 62 154

1/11

10

396 381 378 361 360 354 331 292 287 286 202 8 112 104 282 141 168 220 173 62 154

1/10

11

396 381 378 361 360 354 331 292 287 286 282 8 112 104 202 141 168 220 173 62 154

1/9

12

396 381 378 361 360 354 331 292 287 286 282 220 112 104 202 141 168 8 173 62 154

1/8

13

396 381 378 361 360 354 331 292 287 286 282 220 202 104 112 141 168 8 173 62 154

1/7

14

396 381 378 361 360 354 331 292 287 286 282 220 202 173 112 141 168 8 104 62 154

1/6

15

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 141 112 8 104 62 154

1/5

16

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 112 8 104 62 141

1/4

17

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 8 104 62 112

1/3

18

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

1/2

19

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

1/1

20

396 381 378 361 360 354 331 292 287 286 282 220 202 173 168 154 141 112 104 62

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

100

3.33

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

Selection Sort descendente

396 331 202 62 354 378 112 154 141 381 360 8 286 104 282 287 168 220 173 361 292

1/20

8 331 202 62 354 378 112 154 141 381 360 396 286 104 282 287 168 220 173 361 292

1/19

62 202 331 354 378 112 154 141 381 360 396 286 104 282 287 168 220 173 361 292

1/18

62 104 331 354 378 112 154 141 381 360 396 286 202 282 287 168 220 173 361 292

1/17

62 104 112 354 378 331 154 141 381 360 396 286 202 282 287 168 220 173 361 292

1/16

62 104 112 141 378 331 154 354 381 360 396 286 202 282 287 168 220 173 361 292

1/15

62 104 112 141 154 331 378 354 381 360 396 286 202 282 287 168 220 173 361 292

1/14

62 104 112 141 154 168 378 354 381 360 396 286 202 282 287 331 220 173 361 292

1/13

62 104 112 141 154 168 173 354 381 360 396 286 202 282 287 331 220 378 361 292

1/12

62 104 112 141 154 168 173 202 381 360 396 286 354 282 287 331 220 378 361 292

1/11

10

62 104 112 141 154 168 173 202 220 360 396 286 354 282 287 331 381 378 361 292

1/10

11

62 104 112 141 154 168 173 202 220 282 396 286 354 360 287 331 381 378 361 292

1/9

12

62 104 112 141 154 168 173 202 220 282 286 396 354 360 287 331 381 378 361 292

1/8

13

62 104 112 141 154 168 173 202 220 282 286 287 354 360 396 331 381 378 361 292

1/7

14

62 104 112 141 154 168 173 202 220 282 286 287 292 360 396 331 381 378 361 354

1/6

15

62 104 112 141 154 168 173 202 220 282 286 287 292 331 396 360 381 378 361 354

1/5

16

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 381 378 361 396

1/4

17

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 381 378 361 396

1/3

18

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

1/2

19

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

1/1

20

62 104 112 141 154 168 173 202 220 282 286 287 292 331 354 360 361 378 381 396

1/0

Enrique P. Calot

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-02-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:
396, 331, 202, 62, 354 , 378, 112, 154 , 141 , 381, 360 , 8, 286, 104, 282, 287 , 168,
220 , 173, 361, 292
Se pide:
a. Desarrollar todas las fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones
ordenadas tomadas del lote de datos.
b. Por que no se puede tener un elemento en el aire en los algoritmos de seleccion natural o de reemplazo?,
es decir, por que tengo que sacar siempre un elemento antes de permitir que entre otro y no puedo tenerlo
en un lugar temporal de la RAM reservado para guardar el elemento.
c. Desarrollar los algoritmos de Quick Sort (hasta haber completado dos niveles de recursividad) y Radix
Sort en orden ascendente (entero).
d. 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:
286, 282 , 292

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 5.

Resolucion Teorica Oficial de la Evaluacion Integradora tomada


el 27 de Febrero de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-02-27

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado

2. Resoluci
on estricta
2.1. a. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . .
2.1.1. Inserci
on . . . . . . . . . . . . . . . . . . . . . . .
2.1.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . .
2.2. b. Merge Polif
asico . . . . . . . . . . . . . . . . . . . . . .
2.2.1. C
alculo de la distribuci
on de columnas y dummies
2.2.2. Distribucion inicial . . . . . . . . . . . . . . . . . .
2.2.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.7. Fase 5 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.8. Fase final . . . . . . . . . . . . . . . . . . . . . . .
2.3. c. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . .
2.4. d. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.5. d. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . .
2.5.2. Heapfy paso 0 . . . . . . . . . . . . . . . . . . . . .
2.5.3. Heapfy paso 1 . . . . . . . . . . . . . . . . . . . . .
2.5.4. Heapfy paso 2 . . . . . . . . . . . . . . . . . . . . .
2.5.5. Heapfy paso 3 . . . . . . . . . . . . . . . . . . . . .
2.5.6. Heapfy paso 4 . . . . . . . . . . . . . . . . . . . . .
2.5.7. Paso 1: intercambio . . . . . . . . . . . . . . . . .
2.5.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .
2.5.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
2.5.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
2.5.11. Paso 3: u
ltimo congelado pedido antes del corte . .
2.6. e. Seleccion Natural . . . . . . . . . . . . . . . . . . . . .
2.6.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.6.2. Salida final . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
10
10
10
10
11
11
12
13
14
14
14
15
15
15
15
16
16
17
17
18
18
19
19
20
20
20
20
21

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.3.2. Heapfy paso 0 . .
3.3.3. Heapfy paso 1 . .
3.3.4. Heapfy paso 2 . .
3.3.5. Heapfy paso 3 . .
3.3.6. Heapfy paso 4 . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

21
21
22
22
23
23
23
24
24
25
25
26

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.3.7. Paso 1: intercambio


3.3.8. Paso 1: swapdown .
3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .
3.3.17. Paso 6: intercambio
3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
3.4.7. Paso 1: intercambio
3.4.8. Paso 1: swapdown .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
46
47
47
48
48
49
49
50

Facultad de Ingeniera


INDICE

3.4.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .


3.4.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
3.4.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
3.4.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
3.4.13. Paso 4: intercambio . . . . . . . . . . . . . . . . .
3.4.14. Paso 4: swapdown . . . . . . . . . . . . . . . . . .
3.4.15. Paso 5: intercambio . . . . . . . . . . . . . . . . .
3.4.16. Paso 5: swapdown . . . . . . . . . . . . . . . . . .
3.4.17. Paso 6: intercambio . . . . . . . . . . . . . . . . .
3.4.18. Paso 6: swapdown . . . . . . . . . . . . . . . . . .
3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .
3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
65
65
66
66
67
67
68
68
69
69
69
69
69
70
70
70
70
70
71
71

n II
Algoritmos y Programacio


INDICE

3.6.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 tama
no 2
3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.13.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

72
72
72
72
73
73
73
74
75
75
75
76
76
76
76
77
77
77
77
78
78
78
79
79
79
80
80
81
81
81
81
82
82
82
82
83
83
84
84
84
84
85
85
85
85
86
86
86
87

Facultad de Ingeniera


INDICE

3.15.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.17.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.19.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.23.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.25.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

87
87
87
87
88
88
88
88
89
89
89
89
89
90
90
90
91
91
91
91
92
92
92
92
93
93
93
93
93
93
94
94
94
95
95
95
95
95
96
96
96
97
97
97
97
97
98
98
98

n II
Algoritmos y Programacio


INDICE

3.27.2. Distribucion inicial . . . . .


3.27.3. Fase 1 . . . . . . . . . . . .
3.27.4. Fase final . . . . . . . . . .
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 . . . . . . . . . .

n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

99
99
99
100
100
101
101
102
102
103
103
104
104
105
105

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
8, 331, 145, 391, 315 , 69, 361, 119 , 88 , 377, 340 , 4, 40, 244, 267,
293 , 173, 125 , 348, 138, 304
Se pide:

a. 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:
267, 244 , 304
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
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. que es mejor: seleccion de reemplazo con un buffer de tama
no 10 o seleccion natural con sus dos
buffers de tama
no 5? Defina ser mejor.
d. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 3 swapdown) y Radix
Sort en orden ascendente (entero).
e. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.

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. 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:
267, 244 , 304
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
Enrique P. Calot

n II
Algoritmos y Programacio

2.1

a. Ejercicio de B-trees

2.1.1.

Inserci
on

Inserto 5 elementos: 8, 331, 145, 391, 315.


315
8145 331391

Inserto 3 elementos: 69, 361, 119.


315
869119145

331361391

Inserto 1 elemento: 88.


88315
869

119145 331361391

Inserto 2 elementos: 377, 340.


88315361
869

119145 331340 377391

Inserto 5 elementos: 4, 40, 244, 267, 293.


88244315361
484069

119145 267293 331340 377391

Inserto 2 elementos: 173, 125.


88244315361
484069

119125145173 267293 331340 377391

Inserto 3 elementos: 348, 138, 304.


244
88138
484069

2.1.2.

315361

119125 145173 267293304 331340348 377391

Eliminaci
on

Elimino 2 elementos: 267, 244.


88138315361
484069

119125 145173293304 331340348 377391

Elimino 1 elemento: 304.


88138315361
484069

n II
Algoritmos y Programacio

119125 145173293 331340348 377391

Facultad de Ingeniera

10

2.2

2.2.

b. Merge Polif
asico

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.

Fases
0
1
2
3
4
5

2.2.2.

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

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.3.

Fase 1

E1
D
D
D
D
145
69
88
4
244
293
125
138
304
Enrique P. Calot

E2
D
D
D
8
391
361
377
40
267
173
348

E3
D
D
D
331
315
119
340

n II
Algoritmos y Programacio

2.2

b. Merge Polif
asico

2.2.4.

Fase 2

E1
D
D
D
D
145
69
88
E1
4
244
293
125
138
304

2.2.5.

11

E2
D
D
D
8
391
361
377
E2
40
267
173
348

E3
D
D
D
331
315
119
340
S

S
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377
E3
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377

E2
D
D
D
8
391
361
377
E2
40
267
173
348
S

E3
D
D
D
331
315
119
340
S
4, 40
244, 267
173, 293
8, 125, 331, 348
E2
4, 40
244, 267
173, 293
8, 125, 331, 348

S
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377
E3
D
D
D
8, 331
E3
145, 315, 391
69, 119, 361
88, 340, 377

Fase 3

E1
D
D
D
D
145
69
88
E1
4
244
293
125
E1
138
304

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.2

2.2.6.

b. Merge Polif
asico

Fase 4

E1
D
D
D
D
145
69
88
E1
4
244
293
125
E1
138
304
S

Enrique P. Calot

E2
D
D
D
8
391
361
377
E2
40
267
173
348
S
4, 40, 138, 145,
391
69, 119, 244,
304, 361
E1
4, 40, 138, 145,
391
69, 119, 244,
304, 361

315,

E3
D
D
D
331
315
119
340
S
4, 40
244, 267
173, 293
8, 125, 331, 348
E2
4, 40

S
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377
E3
D
D
D
8, 331
E3
145, 315, 391

267,

244, 267

69, 119, 361

315,

E2
173, 293

E3
88, 340, 377

267,

8, 125, 331, 348

n II
Algoritmos y Programacio

2.2

b. Merge Polif
asico

2.2.7.

13

Fase 5

E1
D
D
D
D
145
69
88
E1
4
244
293
125
E1
138

E3
D
D
D
331
315
119
340
S
4, 40
244, 267
173, 293
8, 125, 331, 348
E2
4, 40

S
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377
E3
D
D
D
8, 331
E3
145, 315, 391

244, 267

69, 119, 361

138, 145,
315, 340,

E2
D
D
D
8
391
361
377
E2
40
267
173
348
S
4, 40, 138, 145, 315,
391
69, 119, 244, 267,
304, 361
E1
4, 40, 138, 145, 315,
391

E2
173, 293

E3
88, 340, 377

138, 145,
315, 340,

E1
69, 119, 244, 267,
304, 361

E2
8, 125, 331, 348

304
S
4, 40, 88,
173, 293,
377, 391
E3
4, 40, 88,
173, 293,
377, 391

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.3

2.2.8.

Fase final

E1
D
D
D
D
145
69
88
E1
4
244
293
125
E1
138

E3
D
D
D
331
315
119
340
S
4, 40
244, 267
173, 293
8, 125, 331, 348
E2
4, 40

S
D
D
D
8, 331
145, 315, 391
69, 119, 361
88, 340, 377
E3
D
D
D
8, 331
E3
145, 315, 391

244, 267

69, 119, 361

138, 145,
315, 340,

E2
D
D
D
8
391
361
377
E2
40
267
173
348
S
4, 40, 138, 145, 315,
391
69, 119, 244, 267,
304, 361
E1
4, 40, 138, 145, 315,
391

E2
173, 293

E3
88, 340, 377

138, 145,
315, 340,

E1
69, 119, 244, 267,
304, 361

E2
8, 125, 331, 348

E1

E2

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E3
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

304
S
4, 40, 88,
173, 293,
377, 391
E3
4, 40, 88,
173, 293,
377, 391

2.3.

c. Pregunta te
orica

119,
173,
304,
348,

119,
173,
304,
348,

c. Pregunta te
orica

que es mejor: seleccion de reemplazo con un buffer de tama


no 10 o seleccion natural con sus dos
buffers de tama
no 5? Defina ser mejor.
2.3.1.

Respuesta

Si ser mejor es tener la capacidad de producir menos particiones de mayor tama


no, un algoritmo
de seleccion de reemplazo con un buffer de tama
no 10 es mejor ya que tiene la capacidad para congelar
hasta 10 elementos antes de cerrar la particion contra 5 en la seleccion natural.
Enrique P. Calot

n II
Algoritmos y Programacio

2.4

d. Radix Sort

2.4.

15

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.


Paso 0
008
331
145
391
315
069
361
119
088
377
340
004
040
244
267
293
173
125
348
138
304

2.5.

Paso 1
340
040
331
391
361
293
173
004
244
304
145
315
125
377
267
008
088
348
138
069
119

Paso 2
004
304
008
315
119
125
331
138
340
040
244
145
348
361
267
069
173
377
088
391
293

Paso 3
004
008
040
069
088
119
125
138
145
173
244
267
293
304
315
331
340
348
361
377
391

d. Heap Sort

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


2.5.1.

Arbol
inicial
8
331

145

391
119
293

173

315
88

125

377
348

n II
Algoritmos y Programacio

138

69
340

40

361
244

267

304
Facultad de Ingeniera

16

2.5

d. Heap Sort

Vector:
8

331

2.5.2.

145

391

315

69

361

119

88

377

340

40

244

267

293

173

125

348

138

304

267

293

173

125

348

138

304

88

138

304

Heapfy paso 0
8
331

145

391

315

119
293

88

173

125

377
348

138

69
340

361

40

340

244

267

304

Vector:
8

331

2.5.3.

145

391

315

69

361

119

88

377

40

244

Heapfy paso 1
8
331

145

391
293
119

315
348

173

377

125

88

138

304

315

69

361

293

69
340

40

361
244

267

Vector:
8

331

145

391

Enrique P. Calot

348

377

340

40

244

267

119

173

125

n II
Algoritmos y Programacio

2.5

d. Heap Sort

2.5.4.

17

Heapfy paso 2

8
331

145

391
293
119

377
348

173

125

315
88

138

69
340

361

40

244

267

304

Vector:
8

331

2.5.5.

145

391

377

69

361

293

348

315

340

40

244

267

119

173

125

88

138

304

244

145

119

173

125

88

138

304

Heapfy paso 3

8
391

361

348

377

293
119

173

331
125

315
88

138

69
340

40

267
244

145

304

Vector:
8

391

361

348

377

69

267

n II
Algoritmos y Programacio

293

331

315

340

40

Facultad de Ingeniera

18

2.5

2.5.6.

d. Heap Sort

Heapfy paso 4

391
377

361

348

340

293
119

331

173

125

69

315
88

138

267

40

244

145

304

Vector:
391

377

2.5.7.

361

348

340

69

267

293

331

315

40

244

145

119

173

125

88

138

304

145

119

173

125

88

138

391

Paso 1: intercambio

304
377

361

348
293
119

340
331

173

125

315
88

138

69
8

267

40

244

145

391

Vector:
304

377

361

348

Enrique P. Calot

340

69

267

293

331

315

40

244

n II
Algoritmos y Programacio

2.5

d. Heap Sort

2.5.8.

19

Paso 1: swapdown

377
348

361

331
293
119

340
304

173

125

315
88

138

69
8

267

40

244

145

391

Vector:
377

348

2.5.9.

361

331

340

69

267

293

304

315

40

244

145

119

173

125

88

138

391

145

119

173

125

88

377

391

Paso 2: intercambio

138
348

361

331
293
119

340
304

173

125

315
88

377

69
8

267

40

244

145

391

Vector:
138

348

361

331

340

69

267

n II
Algoritmos y Programacio

293

304

315

40

244

Facultad de Ingeniera

20

2.6

2.5.10.

e. Selecci
on Natural

Paso 2: swapdown
361
348

267

331

340

293
119

304

173

125

315
88

377

69
8

244

40

138

145

391

Vector:
361

348

2.5.11.

267

331

340

69

244

293

304

315

40

138

145

119

173

125

88

377

391

361

377

391

Paso 3: u
ltimo congelado pedido antes del corte
88
348

267

331
293
119

173

340
304

125

315

361

377

391

293

304

69
8

244

40

138

145

Vector:
88

348

2.6.

267

331

340

69

244

315

40

138

145

119

173

125

e. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.
2.6.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 Resoluci
on explayada

21

b2
b3
b4
b5
a1
a2
a3
a4
a5
Sale
Entra

Nada
8

Nada
331
331

Nada
145
331
145

Nada
391
331
145
391

Nada
315
331
145
391
315

8
69
331
145
391
315

69
361
331
145
391
315

145
119
331

391
315
119

Nada
88
331

391
315
119
88

Nada
377
331
377
391
315
119
88

315
340
331
377
391
340
119
88

331
4

377
391
340
119
88
4

Nada
40

377
391
340
119
88
4
40

Nada
244

377
391
340
119
88
4
40
244
340
Nada

377
391

119
88
4
40
244
361
Nada

377
391

119
88
4
40
244
377
Nada

391

119
88
4
40
244
391
Nada
88
4
40
244

partici
on! Se cierra la partici
on p1 = {8, 69, 145, 315, 331, 340, 361, 377, 391}
4
267
119
88
267
40
244

40
293
119
88
267
293
244

88
173
119
173
267
293
244

119
125
125
173
267
293
244

125
348
348
173
267
293
244

173
138
348

267
293
244
138

Nada
304
348
304
267
293
244
138

244
Nada
348
304
267
293

138

267
Nada
348
304

293

138

293
Nada
348
304

138

304
Nada
348

138

348
Nada
138

Nueva partici
on! Se cierra la partici
on p2 = {4, 40, 88, 119, 125, 173, 244, 267, 293, 304, 348}
138
Nada
Finaliza la u
ltima partici
on en p3 = {138}
b1

8
8
8
8
8
69
361
361
361
361
361
361
361
361
361

119
Nueva

2.6.2.

Salida final

p1 = {8, 69, 145, 315, 331, 340, 361, 377, 391};


p2 = {4, 40, 88, 119, 125, 173, 244, 267, 293, 304, 348};
p3 = {138}.

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).


n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.2

3.1.1.

Quick Sort

Desarrollo

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

Paso 0
008
331
145
391
315
069
361
119
088
377
340
004
040
244
267
293
173
125
348
138
304

3.2.

Paso 1
069
119
008
088
348
138
377
267
145
315
125
004
244
304
293
173
331
391
361
340
040

Paso 2
293
391
088
377
173
069
267
361
348
145
244
340
040
138
331
125
119
315
008
004
304

Paso 3
391
377
361
348
340
331
315
304
293
267
244
173
145
138
125
119
088
069
040
008
004

Quick Sort

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.

23

Desarrollo

Paso 1

8 331 145 391 315 69 361 119 88 377 340 4

Paso 2

4 8 145 391 315 69 361 119 88 377 340 331 40 244 267 293 173 125 348 138 304

Paso 3

88 138 125 69 40 119 145 377 340 331 361 244 267 293 173 315 348 391 304

Paso 4

69 40 88 125 138 119

304 340 331 361 244 267 293 173 315 348 377 391

Paso 5

40 69

244 173 293 267 304 361 331 340 315 348

119 125 138

40 244 267 293 173 125 348 138 304

Paso 6

173 244 293 267

Paso 7

267 293

348 331 340 315 361


315 331 340 348

Paso 8

315 331 340

Final

3.3.

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

Heap Sort completo

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

3.3.1.

Arbol
inicial
8
331

145

391

315

119
293

88

173

125

377
348

138

69
340

361

40

244

267

304

Vector:
8

331

145

391

315

69

361

n II
Algoritmos y Programacio

119

88

377

340

40

244

267

293

173

125

348

138

Facultad de Ingeniera

304

24

3.3

3.3.2.

Heap Sort completo

Heapfy paso 0

8
331

145

391

315

119
293

88

173

125

377
348

138

69
340

361

40

340

244

267

304

Vector:
8

331

3.3.3.

145

391

315

69

361

119

88

377

40

244

267

293

173

125

348

138

304

88

138

304

Heapfy paso 1

8
331

145

391
293
119

315
348

173

377

125

88

138

304

315

69

361

293

69
340

40

361
244

267

Vector:
8

331

145

391

Enrique P. Calot

348

377

340

40

244

267

119

173

125

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.4.

25

Heapfy paso 2

8
331

145

391
293
119

377
348

173

125

315
88

138

69
340

361

40

244

267

304

Vector:
8

331

3.3.5.

145

391

377

69

361

293

348

315

340

40

244

267

119

173

125

88

138

304

244

145

119

173

125

88

138

304

Heapfy paso 3

8
391

361

348

377

293
119

173

331
125

315
88

138

69
340

40

267
244

145

304

Vector:
8

391

361

348

377

69

267

n II
Algoritmos y Programacio

293

331

315

340

40

Facultad de Ingeniera

26

3.3

3.3.6.

Heap Sort completo

Heapfy paso 4

391
377

361

348

340

293
119

331

173

125

69

315
88

138

267

40

244

145

304

Vector:
391

377

3.3.7.

361

348

340

69

267

293

331

315

40

244

145

119

173

125

88

138

304

145

119

173

125

88

138

391

Paso 1: intercambio

304
377

361

348
293
119

340
331

173

125

315
88

138

69
8

267

40

244

145

391

Vector:
304

377

361

348

Enrique P. Calot

340

69

267

293

331

315

40

244

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.8.

27

Paso 1: swapdown

377
348

361

331
293
119

340
304

173

125

315
88

138

69
8

267

40

244

145

391

Vector:
377

348

3.3.9.

361

331

340

69

267

293

304

315

40

244

145

119

173

125

88

138

391

145

119

173

125

88

377

391

Paso 2: intercambio

138
348

361

331
293
119

340
304

173

125

315
88

377

69
8

267

40

244

145

391

Vector:
138

348

361

331

340

69

267

n II
Algoritmos y Programacio

293

304

315

40

244

Facultad de Ingeniera

28

3.3

3.3.10.

Heap Sort completo

Paso 2: swapdown

361
348

267

331

340

293
119

304

173

125

315
88

377

69
8

244

40

138

145

391

Vector:
361

348

3.3.11.

267

331

340

69

244

293

304

315

40

138

145

119

173

125

88

377

391

361

377

391

Paso 3: intercambio

88
348

267

331
293
119

173

340
304

125

315

361

377

391

293

304

69
8

244

40

138

145

Vector:
88

348

267

331

Enrique P. Calot

340

69

244

315

40

138

145

119

173

125

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.12.

29

Paso 3: swapdown

348
340

267

331

315

293
119

304

173

125

88

361

377

69
8

244

40

138

145

391

Vector:
348

340

3.3.13.

267

331

315

69

244

293

304

88

40

138

145

119

173

125

361

377

391

145

119

173

348

361

377

391

Paso 4: intercambio

125
340

267

331
293
119

173

315
304

348

88

361

377

69
8

244

40

138

145

391

Vector:
125

340

267

331

315

69

244

n II
Algoritmos y Programacio

293

304

88

40

138

Facultad de Ingeniera

30

3.3

3.3.14.

Heap Sort completo

Paso 4: swapdown

340
331

267

304

315

293
119

125

173

348

88

361

377

69
8

244

40

138

145

391

Vector:
340

331

3.3.15.

267

304

315

69

244

293

125

88

40

138

145

119

173

348

361

377

391

145

119

340

348

361

377

391

Paso 5: intercambio

173
331

267

304
293
119

340

267

304

315
125

348

88

361

377

69
8

244

40

138

145

391

Vector:
173

331

Enrique P. Calot

315

69

244

293

125

88

40

138

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.16.

31

Paso 5: swapdown

331
315

267

304

173

293

125

119

340

267

304

348

88

361

377

69
8

244

40

138

145

391

Vector:
331

315

3.3.17.

173

69

244

293

125

88

40

138

145

119

340

348

361

377

391

145

331

340

348

361

377

391

Paso 6: intercambio

119
315

267

304
293
331

340

267

304

173
125

348

88

361

377

69
8

244

40

138

145

391

Vector:
119

315

173

69

244

n II
Algoritmos y Programacio

293

125

88

40

138

Facultad de Ingeniera

32

3.3

3.3.18.

Heap Sort completo

Paso 6: swapdown

315
304

267

293

173

119

125

331

340

267

293

348

88

361

377

69
8

244

40

138

145

391

Vector:
315

304

3.3.19.

173

69

244

119

125

88

40

138

145

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 7: intercambio

145
304

267

293
119

173
125

331

340

348

267

293

173

361

69

88
377

244

40

138

315

391

Vector:
145

304

Enrique P. Calot

69

244

119

125

88

40

138

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.20.

33

Paso 7: swapdown

304
293

267

145

173

119

125

331

340

348

267

145

173

69

88

361

377

244

40

138

315

391

Vector:
304

293

3.3.21.

69

244

119

125

88

40

138

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 8: intercambio

138
293

267

145
119
331

173
125

340

348

361

145

173

69

69

88
377

244

40

304

315

391

Vector:
138

293

267

244

n II
Algoritmos y Programacio

119

125

88

40

304

Facultad de Ingeniera

34

3.3

3.3.22.

Heap Sort completo

Paso 8: swapdown

293
173

267

145

138

119
331

125

69

88

340

348

361

145

138

69

377

244

40

304

315

391

Vector:
293

173

3.3.23.

267

244

119

125

88

40

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 9: intercambio

40
173

267

145
119
331

138
125

340

348

361

145

138

69

69

88
377

244

293

304

315

293

304

391

Vector:
40

173

267

Enrique P. Calot

244

119

125

88

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.24.

35

Paso 9: swapdown

267
173

244

145

138

119
331

125

340

348

69

88

361

377

40

293

304

315

293

304

391

Vector:
267

173

3.3.25.

244

145

138

69

40

119

125

88

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 10: intercambio

4
173

244

145
119
331

138
125

340

348

361

69

88
377

267

40
293

304

267

293

315

391

Vector:
4

173

244

145

138

69

40

n II
Algoritmos y Programacio

119

125

88

304

Facultad de Ingeniera

36

3.3

3.3.26.

Heap Sort completo

Paso 10: swapdown

244
173

69

145

138

119
331

125

340

348

88

361

377

267

40
293

304

267

293

315

391

Vector:
244

173

3.3.27.

69

145

138

40

119

125

88

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 11: intercambio

8
173

69

145
119
331

138
125

340

348

88

361

377

40

244

267

293

88

244

267

304

315

391

Vector:
8

173

69

145

Enrique P. Calot

138

40

119

125

293

304

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.28.

37

Paso 11: swapdown

173
145

69

125

138

119
331

340

88

348

361

377

40

244

267

293

88

244

267

304

315

391

Vector:
173

145

3.3.29.

69

125

138

40

119

293

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 12: intercambio

88
145

69

125

138

119
331

340

348

173
361

377

244

40

267

293

244

267

304

315

391

Vector:
88

145

69

125

138

40

119

n II
Algoritmos y Programacio

173

293

304

Facultad de Ingeniera

38

3.3

3.3.30.

Heap Sort completo

Paso 12: swapdown

145
138

69

125

88

119
331

340

173

348

361

377

244

40

267

293

244

267

304

315

391

Vector:
145

138

3.3.31.

69

125

88

40

119

173

293

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 13: intercambio

8
138

69

125
119
331

88
145

340

348

173

361

377

4
244

267

40
293

304

315

391

Vector:
8

138

69

125

Enrique P. Calot

88

40

119

145

173

244

267

293

304

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.32.

39

Paso 13: swapdown

138
125

69

119

88

145

331

340

348

173

361

377

4
244

267

40
293

304

315

391

Vector:
138

125

3.3.33.

69

119

88

40

145

173

244

267

293

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 14: intercambio

8
125

69

119
138
331

88
145

340

348

173

361

377

4
244

40

267

293

304

244

267

293

315

391

Vector:
8

125

69

119

88

40

138

n II
Algoritmos y Programacio

145

173

304

Facultad de Ingeniera

40

3.3

3.3.34.

Heap Sort completo

Paso 14: swapdown

125
119

69

88

138
331

145

340

348

173

361

377

4
244

40

267

293

304

244

267

293

315

391

Vector:
125

119

3.3.35.

69

88

40

138

145

173

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 15: intercambio

40
119

69

88

138
331

145

340

348

173

361

377

4
244

267

125
293

304

267

293

315

391

Vector:
40

119

69

88

Enrique P. Calot

125

138

145

173

244

304

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.36.

41

Paso 15: swapdown

119
88

69

40

138
331

145

340

348

173

361

377

4
244

125

267

293

304

267

293

315

391

Vector:
119

88

3.3.37.

69

40

125

138

145

173

244

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 16: intercambio

4
88

69

40

138
331

145

340

348

361

119

173
377

244

267

125

293

304

315

267

293

304

391

Vector:
4

88

69

40

119

125

138

n II
Algoritmos y Programacio

145

173

244

Facultad de Ingeniera

42

3.3

3.3.38.

Heap Sort completo

Paso 16: swapdown

88
40

69

138
331

145

340

348

361

119

173
377

244

267

125

293

304

315

267

293

304

391

Vector:
88

40

69

3.3.39.

119

125

138

145

173

244

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 17: intercambio

4
40

69

88

138
331

145

340

348

361

119

173
377

244

267

125

293

304

315

293

304

391

Vector:
4

40

69

88

Enrique P. Calot

119

125

138

145

173

244

267

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.40.

43

Paso 17: swapdown

69
40

88

138
331

145

340

348

361

119

173
377

244

267

125

293

304

315

293

304

391

Vector:
69

40

3.3.41.

88

119

125

138

145

173

244

267

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 18: intercambio

8
40

69

88

138
331

145

340

348

361

173
377

119
244

267

125

293

304

315

293

304

391

Vector:
8

40

69

88

119

125

138

n II
Algoritmos y Programacio

145

173

244

267

Facultad de Ingeniera

44

3.3

3.3.42.

Heap Sort completo

Paso 18: swapdown

40
8

69

88

138
331

145

340

348

173

361

377

119
244

267

125

293

304

315

391

Vector:
40

3.3.43.

69

88

119

125

138

145

173

244

267

293

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 19: intercambio

4
8

40

69
138
331

88
145

340

348

361

173
377

119
244

267

125

293

304

315

391

Vector:
4

40

69

88

Enrique P. Calot

119

125

138

145

173

244

267

293

304

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.44.

45

Paso 19: swapdown

8
4

40

69

88

138
331

145

340

348

173

361

377

119
244

267

125

293

304

315

391

Vector:
8

40

3.3.45.

69

88

119

125

138

145

173

244

267

293

304

315

331

340

348

361

377

391

315

331

340

348

361

377

391

Paso 20: intercambio

4
8

40

69
138
331

88
145

340

348

361

173
377

119
244

267

125

293

304

315

391

Vector:
4

40

69

88

119

125

138

n II
Algoritmos y Programacio

145

173

244

267

293

304

Facultad de Ingeniera

46

3.3.46.

3.4

Heap Sort descendente

315

331

Paso 20: swapdown

4
8

40

69

88

138
331

145

340

348

119

173

361

377

244

267

125

293

304

315

293

304

391

Vector:
4

3.4.

40

69

88

119

125

138

145

173

244

267

340

348

361

377

391

Heap Sort descendente

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

3.4.1.

Arbol
inicial
8
331

145

391

315

119
293

88

173

125

377
348

138

69
340

361

40

244

267

304

Vector:
8

331

145

391

Enrique P. Calot

315

69

361

119

88

377

340

40

244

267

293

173

125

348

138

n II
Algoritmos y Programacio

304

3.4

Heap Sort descendente

3.4.2.

47

Heapfy paso 0

8
331

145

391

315

119
293

88

173

125

69

377
348

138

340

361

40

340

244

267

304

Vector:
8

331

3.4.3.

145

391

315

69

361

119

88

377

40

244

267

293

173

125

348

138

304

267

293

173

125

348

377

304

Heapfy paso 1

8
331

145

391

315

119
293

88

173

125

138
348

377

69
340

40

361
244

267

304

Vector:
8

331

145

391

315

69

361

n II
Algoritmos y Programacio

119

88

138

340

40

244

Facultad de Ingeniera

48

3.4

3.4.4.

Heap Sort descendente

Heapfy paso 2

8
331

145

88

138

119
293

125

173

391

304

348

377

4
340

69

244
40

361

267

315

Vector:
8

331

3.4.5.

145

88

138

244

119

125

304

340

69

40

361

267

293

173

391

348

377

315

267

293

331

391

348

377

315

Heapfy paso 3

8
88

119
173
293

138
125

331

391

304

348

377

315

40

244

173

40
340

69

145

244
361

267

Vector:
8

88

119

138

Enrique P. Calot

125

304

340

69

145

361

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.6.

49

Heapfy paso 4

4
88

119

138

173
293

125

331

391

40

304

348

340

377

315

244

173

69

244

145

361

267

Vector:
4

88

3.4.7.

119

138

40

125

304

340

69

145

361

267

293

331

391

348

377

315

Paso 1: intercambio

315
88

119
173
293

138
125

331

391

348

304
377

40
340

69

145

304

340

69

244
361

267

Vector:
315

88

119

138

40

244

n II
Algoritmos y Programacio

173

125

145

361

267

293

331

391

348

377

Facultad de Ingeniera

50

3.4

3.4.8.

Heap Sort descendente

Paso 1: swapdown

8
88

40

119

138

173
293

125

331

391

69

304

348

377

340

315

244
145

361

267

Vector:
8

88

40

3.4.9.

119

138

69

244

173

125

304

340

315

145

361

267

293

331

391

348

377

Paso 2: intercambio

377
88

40

119
173
293

138
125

331

391

304

348

69
340

315

244
145

361

267

Vector:
377

88

40

119

Enrique P. Calot

138

69

244

173

125

304

340

315

145

361

267

293

331

391

348

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.10.

51

Paso 2: swapdown

40
88

69

119
173
293

138
125

331

391

304

348

145
340

315

244

377

361

267

Vector:
40

88

3.4.11.

69

119

138

145

244

173

125

304

340

315

377

361

267

293

331

391

348

40

Paso 3: intercambio

348
88

69

119
173
293

138
125

331

391

304
40

145
340

315

377

244
361

267

Vector:
348

88

69

119

138

145

244

n II
Algoritmos y Programacio

173

125

304

340

315

377

361

267

293

331

391

Facultad de Ingeniera

52

3.4

3.4.12.

Heap Sort descendente

Paso 3: swapdown

69
88

145

119

138

173
293

125

331

391

315

304
40

340

348

244

377

361

267

Vector:
69

88

3.4.13.

145

119

138

315

244

173

125

304

340

348

377

361

267

293

331

391

40

69

40

Paso 4: intercambio

391
88

145

119
173
293

138
125

331

69

40

304
8

315
340

244

348

377

361

304

340

348

267

Vector:
391

88

145

119

Enrique P. Calot

138

315

244

173

125

377

361

267

293

331

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.14.

53

Paso 4: swapdown

88
119

145

125

138

173
293

391

331

69

40

304
8

315
340

244

348

377

361

304

340

348

267

Vector:
88

119

3.4.15.

145

125

138

315

244

173

391

377

361

267

293

331

69

40

88

69

40

Paso 5: intercambio

331
119

145

125

138

173
293

391
88

69

304

40

315

244

315
340

348

244

377

361

267

Vector:
331

119

145

125

138

n II
Algoritmos y Programacio

173

391

304

340

348

377

361

267

293

Facultad de Ingeniera

54

3.4

3.4.16.

Heap Sort descendente

Paso 5: swapdown

119
125

145

173

138

293
331

391
88

69

304

40

315

244

315
340

348

244

377

361

267

Vector:
119

125

3.4.17.

145

173

138

293

391

304

340

348

377

361

267

331

88

69

40

361

267

119

88

69

40

Paso 6: intercambio

331
125

145

173
293
119

138
391

88

304

69

40

138

315

244

315
340

348

244

377

361

267

Vector:
331

125

145

173

Enrique P. Calot

293

391

304

340

348

377

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.18.

55

Paso 6: swapdown

125
138

145

173

304

293
119

391
88

331

69

40

304

315

244

315
340

348

244

377

361

267

Vector:
125

138

3.4.19.

145

173

293

391

331

340

348

377

361

267

119

88

69

40

361

125

119

88

69

40

Paso 7: intercambio

267
138

145

173
293
119

304
391

88

69

40

173

304

315

331
8

315
340

348

244

377

361

125

Vector:
267

138

145

244

n II
Algoritmos y Programacio

293

391

331

340

348

377

Facultad de Ingeniera

56

3.4

3.4.20.

Heap Sort descendente

Paso 7: swapdown

138
173

145

267

304

293
119

391
88

69

40

267

304

315

331
8

315
340

348

244

377

361

125

Vector:
138

173

3.4.21.

145

244

293

391

331

340

348

377

361

125

119

88

69

40

138

125

119

88

69

40

Paso 8: intercambio

361
173

145

267
293

304
391

119

88

69

145

267

304

331

40

315
340

348

244

377

138

125

Vector:
361

173

Enrique P. Calot

315

244

293

391

331

340

348

377

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.22.

57

Paso 8: swapdown

145
173

244

267

304

293

391

119

88

69

244

267

304

331

40

315
340

348

361

377

138

125

Vector:
145

173

3.4.23.

315

361

293

391

331

340

348

377

138

125

119

88

69

40

138

125

119

88

69

40

Paso 9: intercambio

377
173

244

267
293

304
391

119

88

244

267

69

331

40

315
340

348

145

361
138

125

Vector:
377

173

304

315

361

n II
Algoritmos y Programacio

293

391

331

340

348

145

Facultad de Ingeniera

58

3.4

3.4.24.

Heap Sort descendente

Paso 9: swapdown

173
267

244

293

304

377

391

119

88

244

293

69

331

40

315
340

348

361

145

138

125

Vector:
173

267

3.4.25.

304

315

361

377

391

331

340

348

145

138

125

119

88

69

40

138

125

119

88

69

40

Paso 10: intercambio

348
267

244

293
377
119

304
391

88

69

331

40

315
340

173

145

361
138

125

Vector:
348

267

244

293

Enrique P. Calot

304

315

361

377

391

331

340

173

145

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.26.

59

Paso 10: swapdown

244
267

315

293

304

377
119

391
88

69

331

40

348
340

173

361

145

138

125

Vector:
244

267

3.4.27.

315

293

304

348

361

377

391

331

340

173

145

138

125

119

88

69

40

138

125

119

88

69

40

Paso 11: intercambio

340
267

315

293
377
119

304
391

88

69

331

40

348
244

173

377

391

145

361
138

125

Vector:
340

267

315

293

304

348

361

n II
Algoritmos y Programacio

331

244

173

145

Facultad de Ingeniera

60

3.4

3.4.28.

Heap Sort descendente

Paso 11: swapdown

267
293

315

340

304

377
119

391
88

69

331

40

348
244

173

377

391

361

145

138

125

Vector:
267

293

3.4.29.

315

340

304

348

361

331

244

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 12: intercambio

331
293

315

340
377
119

304
391

88

69

267

40

348
244

173

377

391

145

361
138

125

Vector:
331

293

315

340

Enrique P. Calot

304

348

361

267

244

173

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.30.

61

Paso 12: swapdown

293
304

315

340

331

377
119

391
88

69

267

40

348
244

173

377

391

361

145

138

125

Vector:
293

304

3.4.31.

315

340

331

348

361

267

244

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 13: intercambio

391
304

315

340
377
119

331
293

88

69

40

267
8

348
244

173

145

377

293

267

361
138

125

Vector:
391

304

315

340

331

348

361

n II
Algoritmos y Programacio

244

173

Facultad de Ingeniera

62

3.4

3.4.32.

Heap Sort descendente

Paso 13: swapdown

304
331

315

340

391

377
119

293
88

69

40

267
8

348

361

244

173

145

377

293

267

138

125

Vector:
304

331

3.4.33.

315

340

391

348

361

244

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 14: intercambio

377
331

315

340
304
119

391
293

88

69

40

267
8

348
244

173

145

293

267

361
138

125

Vector:
377

331

315

340

Enrique P. Calot

391

348

361

304

244

173

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.34.

63

Paso 14: swapdown

315
331

348

340

391

304
119

293
88

69

40

267
8

377
244

361

173

145

293

267

138

125

Vector:
315

331

3.4.35.

348

340

391

377

361

304

244

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 15: intercambio

361
331

348

340
304
119

391
293

88

69

40

267
8

377
244

173

145

315
138

125

Vector:
361

331

348

340

391

377

315

n II
Algoritmos y Programacio

304

293

267

244

173

Facultad de Ingeniera

64

3.4

3.4.36.

Heap Sort descendente

Paso 15: swapdown

331
340

348

361

391

304
119

293
88

69

40

267
8

377
244

173

315

145

138

125

Vector:
331

340

3.4.37.

348

361

391

377

315

304

293

267

244

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 16: intercambio

377
340

348

361

391

304
119

293
88

69

40

267
8

331
244

315

173

145

138

293

267

244

125

Vector:
377

340

348

361

Enrique P. Calot

391

331

315

304

173

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.38.

65

Paso 16: swapdown

340
361

348

377

391

304
119

293
88

69

40

267
8

331
244

315

173

145

138

293

267

244

125

Vector:
340

361

3.4.39.

348

377

391

331

315

304

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 17: intercambio

391
361

348

377

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

267

244

125

Vector:
391

361

348

377

340

331

315

n II
Algoritmos y Programacio

304

293

173

Facultad de Ingeniera

66

3.4

3.4.40.

Heap Sort descendente

Paso 17: swapdown

348
361

391

377

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

267

244

125

Vector:
348

361

3.4.41.

391

377

340

331

315

304

293

173

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 18: intercambio

377
361

391

348

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

125

267

244

173

Vector:
377

361

391

348

Enrique P. Calot

340

331

315

304

293

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.42.

67

Paso 18: swapdown

361
377

391

348

340

304
119

293
88

69

40

331

267
8

244

173

315

145

138

125

267

244

173

Vector:
361

377

3.4.43.

391

348

340

331

315

304

293

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 19: intercambio

391
377

361

348

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

125

244

173

Vector:
391

377

361

348

340

331

315

n II
Algoritmos y Programacio

304

293

267

Facultad de Ingeniera

68

3.4

3.4.44.

Heap Sort descendente

Paso 19: swapdown

377
391

361

348

340

304
119

293
88

69

40

331

267
8

244

173

315

145

138

125

244

173

Vector:
377

391

3.4.45.

361

348

340

331

315

304

293

267

145

138

125

119

88

69

40

145

138

125

119

88

69

40

Paso 20: intercambio

391
377

361

348

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

125

244

173

Vector:
391

377

361

348

Enrique P. Calot

340

331

315

304

293

267

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on natural

3.4.46.

69

Paso 20: swapdown


391
377

361

348

340

304
119

293
88

69

40

267
8

331
244

173

315

145

138

125

Vector:
391

377

3.5.

361

348

340

331

315

304

293

267

244

173

145

138

125

119

88

69

40

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.
Fases
0
1
3.5.2.

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

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.5.3.

Fase 1

E1
8, 69, 145, 315, 331,
340, 361, 377, 391

E2
4, 40, 88, 119, 125,
173, 244, 267, 293,
304, 348

n II
Algoritmos y Programacio

E3
138

Facultad de Ingeniera

70

3.6

3.5.4.

Merge Polif
asico de las particiones marcadas

Fase final

E1
8, 69, 145, 315, 331,
340, 361, 377, 391

E2
4, 40, 88, 119, 125,
173, 244, 267, 293,
304, 348

E3
138

E2

E3

3.6.

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

119,
173,
304,
348,

119,
173,
304,
348,

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 = {8, 145, 315, 331, 391}; p2 = {69, 119, 361}; . . . ; p6 = {125, 173}; p7 = {138, 304, 348}.
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.
Fases
0
1
2
3
3.6.2.

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

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.6.3.

Fase 1

E1
D
69, 119, 361
4, 40, 244, 267, 293
138, 304, 348
Enrique P. Calot

E2
D
88
125, 173

E3
8, 145, 315, 331, 391
340, 377

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

3.6.4.

71

Fase 2

E1
D
69, 119, 361

E2
D
88

E3
8, 145, 315, 331, 391
340, 377

E1
4, 40, 244, 267, 293
138, 304, 348

E2
125, 173

E1
D
69, 119, 361

E2
D
88

E3
8, 145, 315, 331, 391
340, 377

E1
4, 40, 244, 267, 293

E2
125, 173

E1
138, 304, 348

S
4, 8, 40, 125,
173, 244, 267,
315, 331, 391
E2
4, 8, 40, 125,
173, 244, 267,
315, 331, 391

3.6.5.

S
8, 145,
69, 88,
377
E3
8, 145,
69, 88,
377

315, 331, 391


119, 340, 361,

315, 331, 391


119, 340, 361,

Fase 3

n II
Algoritmos y Programacio

145,
293,

145,
293,

S
8, 145, 315, 331, 391
69, 88, 119, 340, 361,
377
E3
8, 145, 315, 331, 391

E3
69, 88, 119, 340, 361,
377

Facultad de Ingeniera

72

3.7

3.6.6.

Merge Polif
asico con particiones formadas de 2 elementos

Fase final

E1
D
69, 119, 361

E2
D
88

E3
8, 145, 315, 331, 391
340, 377

E1
4, 40, 244, 267, 293

E2
125, 173

E1
138, 304, 348

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

S
4, 8, 40, 125,
173, 244, 267,
315, 331, 391
E2
4, 8, 40, 125,
173, 244, 267,
315, 331, 391

3.7.

119,
173,
304,
348,

145,
293,

145,
293,

E2

119,
173,
304,
348,

S
8, 145, 315, 331, 391
69, 88, 119, 340, 361,
377
E3
8, 145, 315, 331, 391

E3
69, 88, 119, 340, 361,
377

E3

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 = {8, 331}; p2 = {145, 391}; . . . ; p10 = {138, 348}; p11 = {304}.
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
3.7.2.

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

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.

Enrique P. Calot

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.7.3.

73

Fase 1

E1
D
D
8, 331
119, 361
40, 244
125, 173
304

E2
D
D
145, 391
88, 377
267, 293
138, 348

E3
D
D
69, 315
4, 340

E1
D
D
8, 331

E2
D
D
145, 391

E3
D
D
69, 315

119, 361

88, 377

4, 340

E1
40, 244
125, 173
304

E2
267, 293
138, 348

S
D
D
8, 69,
391
4, 88,
377
E3
D
D
8, 69,
391
4, 88,
377

E1
D
D
8, 331

E2
D
D
145, 391

E3
D
D
69, 315

119, 361

88, 377

4, 340

E1
40, 244
125, 173
E1
304

E2
267, 293
138, 348
S

S
40, 244, 267, 293
125, 138, 173, 348
E2
40, 244, 267, 293

125, 138, 173, 348

3.7.4.

3.7.5.

Fase 2

145, 315, 331,


119, 340, 361,

145, 315, 331,


119, 340, 361,

Fase 3

n II
Algoritmos y Programacio

S
D
D
8, 69,
391
4, 88,
377
E3
D
D
E3
8, 69,
391
4, 88,
377

145, 315, 331,


119, 340, 361,

145, 315, 331,


119, 340, 361,

Facultad de Ingeniera

74

3.7

3.7.6.

Merge Polif
asico con particiones formadas de 2 elementos

Fase 4

E1
D
D
8, 331

E2
D
D
145, 391

E3
D
D
69, 315

119, 361

88, 377

4, 340

E1
40, 244
125, 173
E1
304

E2
267, 293
138, 348
S
8, 40, 69,
267, 293,
331, 391
E1
8, 40, 69,
267, 293,
331, 391

S
40, 244, 267, 293
125, 138, 173, 348
E2
40, 244, 267, 293

Enrique P. Calot

145, 244,
304, 315,

145, 244,
304, 315,

E2
125, 138, 173, 348

S
D
D
8, 69, 145, 315, 331,
391
4, 88, 119, 340, 361,
377
E3
D
D
E3
8, 69, 145, 315, 331,
391
E3
4, 88, 119, 340, 361,
377

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 3 elementos

3.7.7.

Fase final

E1
D
D
8, 331

E2
D
D
145, 391

E3
D
D
69, 315

119, 361

88, 377

4, 340

E1
40, 244
125, 173
E1
304

E2
267, 293
138, 348
S
8, 40, 69,
267, 293,
331, 391
E1
8, 40, 69,
267, 293,
331, 391

S
40, 244, 267, 293
125, 138, 173, 348
E2
40, 244, 267, 293

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.8.

75

119,
173,
304,
348,

119,
173,
304,
348,

145, 244,
304, 315,

145, 244,
304, 315,

S
D
D
8, 69, 145, 315, 331,
391
4, 88, 119, 340, 361,
377
E3
D
D
E3
8, 69, 145, 315, 331,
391

E2
125, 138, 173, 348

E3
4, 88, 119, 340, 361,
377

E2

E3

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 = {8, 145, 331}; p2 = {69, 315, 391}; . . . ; p6 = {125, 173, 293}; p7 = {138, 304, 348}.

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.
Fases
0
1
2
3
n II
Algoritmos y Programacio

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
Facultad de Ingeniera

76

3.8

3.8.2.

Merge Polif
asico con particiones formadas de 3 elementos

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.8.3.

Fase 1

E1
D
69, 315, 391
40, 244, 267
138, 304, 348

E2
D
88, 119, 361
125, 173, 293

E3
8, 145, 331
4, 340, 377

E1
D
69, 315, 391

E2
D
88, 119, 361

E3
8, 145, 331
4, 340, 377

E1
40, 244, 267
138, 304, 348

E2
125, 173, 293

S
8, 145, 331
4, 69, 88, 119, 315,
340, 361, 377, 391
E3
8, 145, 331
4, 69, 88, 119, 315,
340, 361, 377, 391

E1
D
69, 315, 391

E2
D
88, 119, 361

E3
8, 145, 331
4, 340, 377

E1
40, 244, 267

E2
125, 173, 293

E1
138, 304, 348

S
8, 40, 125, 145, 173,
244, 267, 293, 331
E2
8, 40, 125, 145, 173,
244, 267, 293, 331

3.8.4.

3.8.5.

Fase 2

Fase 3

Enrique P. Calot

S
8, 145, 331
4, 69, 88, 119, 315,
340, 361, 377, 391
E3
8, 145, 331
E3
4, 69, 88, 119, 315,
340, 361, 377, 391

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 4 elementos

3.8.6.

Fase final

E1
D
69, 315, 391

E2
D
88, 119, 361

E3
8, 145, 331
4, 340, 377

E1
40, 244, 267

E2
125, 173, 293

E1
138, 304, 348

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

S
8, 40, 125, 145, 173,
244, 267, 293, 331
E2
8, 40, 125, 145, 173,
244, 267, 293, 331

3.9.

77

119,
173,
304,
348,

E2

119,
173,
304,
348,

S
8, 145, 331
4, 69, 88, 119, 315,
340, 361, 377, 391
E3
8, 145, 331
E3
4, 69, 88, 119, 315,
340, 361, 377, 391

E3

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 = {8, 145, 331, 391}; p2 = {69, 119, 315, 361}; p3 = {4, 88, 340, 377}; p4 =
{40, 244, 267, 293}; p5 = {125, 138, 173, 348}; p6 = {304}.
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.
Fases
0
1
2
3
3.9.2.

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

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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

78

3.9

3.9.3.

Merge Polif
asico con particiones formadas de 4 elementos

Fase 1

E1
D
8, 145, 331, 391
40, 244, 267, 293
304

E2
D
69, 119, 315, 361
125, 138, 173, 348

E3
D
4, 88, 340, 377

E1
D
8, 145, 331, 391

E2
D
69, 119, 315, 361

E3
D
4, 88, 340, 377

E1
40, 244, 267, 293
304

E2
125, 138, 173, 348

S
D
4, 8, 69, 88, 119,
315, 331, 340,
377, 391
E3
D
4, 8, 69, 88, 119,
315, 331, 340,
377, 391

E1
D
8, 145, 331, 391

E2
D
69, 119, 315, 361

E3
D
4, 88, 340, 377

E1
40, 244, 267, 293

E2
125, 138, 173, 348

E1
304

S
40,
244,
E2
40,
244,

3.9.4.

3.9.5.

Fase 2

145,
361,

145,
361,

Fase 3

Enrique P. Calot

125, 138, 173,


267, 293, 348
125, 138, 173,
267, 293, 348

S
D
4, 8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D
E3
4, 8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

n II
Algoritmos y Programacio

3.10

Selecci
on de reemplazo con buffer de tama
no 2

3.9.6.

Fase final

E1
D
8, 145, 331, 391

E2
D
69, 119, 315, 361

E3
D
4, 88, 340, 377

E1
40, 244, 267, 293

E2
125, 138, 173, 348

E1
304

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

S
40,
244,
E2
40,
244,

3.10.

79

119,
173,
304,
348,

119,
173,
304,
348,

125, 138, 173,


267, 293, 348
125, 138, 173,
267, 293, 348

E2

S
D
4, 8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D
E3
4, 8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

E3

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

80

3.11

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

b1
b2
Sale
Entra

Nada
8
8

Nada
331
8
331
8
145
145
331
145
391
391
331
331
315
391
315
391
69
69
315
Nueva partici
on! Se cierra la partici
on p1 = {8, 145, 331, 391}
69
361
361
315
315
119
361
119
361
88
88
119
Nueva partici
on! Se cierra la partici
on p2 = {69, 315, 361}
88
377
377
119
119
340
377
340
340
4
377
4
377
40
40
4
Nueva partici
on! Se cierra la partici
on p3 = {88, 119, 340, 377}
4
244
40
244
40
267
267
244
244
293
267
293
267
173
173
293
293
125
173
125
Nueva partici
on! Se cierra la partici
on p4 = {4, 40, 244, 267, 293}
125
348
173
348
173
138
138
348
348
304
138
304
Nueva partici
on! Se cierra la partici
on p5 = {125, 173, 348}
138
Nada

304
304
Nada
Finaliza la u
ltima partici
on en p6 = {138, 304}

3.10.2.

Salida final

p1 = {8, 145, 331, 391};


p2 = {69, 315, 361};
p3 = {88, 119, 340, 377};
p4 = {4, 40, 244, 267, 293};
p5 = {125, 173, 348};
p6 = {138, 304}.

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

3.11.1.

81

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

3.11.2.

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

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.3.

Fase 1

E1
D
8, 145, 331, 391
4, 40, 244, 267, 293
138, 304

E2
D
69, 315, 361
125, 173, 348

E3
D
88, 119, 340, 377

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293
138, 304

E2
125, 173, 348

S
D
8, 69, 88,
315, 331,
377, 391
E3
D
8, 69, 88,
315, 331,
377, 391

3.11.4.

Fase 2

n II
Algoritmos y Programacio

119, 145,
340, 361,

119, 145,
340, 361,

Facultad de Ingeniera

82

3.12

3.11.5.

Selecci
on Natural con buffers de tama
no 2

Fase 3

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293

E2
125, 173, 348

E1
138, 304

S
4, 40, 125, 173, 244,
267, 293, 348
E2
4, 40, 125, 173, 244,
267, 293, 348

3.11.6.

E3
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

Fase final

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293

E2
125, 173, 348

E1
138, 304

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

S
4, 40, 125, 173, 244,
267, 293, 348
E2
4, 40, 125, 173, 244,
267, 293, 348

3.12.

S
D
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D

119,
173,
304,
348,

119,
173,
304,
348,

E2

S
D
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D
E3
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

E3

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.12.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.13

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

b1
b2
a1
a2
Sale

Nada
8

Nada
8
331

8
145
331

145
391
331

331
391

315

Nada
391

315
69
391
315
69

Nueva partici
on! Se cierra la partici
on p1 = {8, 145, 331, 391}
69
315
361

315

361
119

Nada

361
119
88
361
119
88

Nueva partici
on! Se cierra la partici
on p2 = {69, 315, 361}
88
119
377

119
340
377

340

377
4

Nada

377
4
40
377
4
40

Nueva partici
on! Se cierra la partici
on p3 = {88, 119, 340, 377}
4
244
40

40
244
267

244
293
267

267
293

173

Nada
293

173
125
293
173
125

Nueva partici
on! Se cierra la partici
on p4 = {4, 40, 244, 267, 293}
125
173
348

173

348
138

Nada
304
348
138

304

348
138

348
138

Nueva partici
on! Se cierra la partici
on p5 = {125, 173, 304, 348}
138
Finaliza la u
ltima partici
on en p6 = {138}

3.12.2.

83

Entra
8
331
145
391
315
69
Nada

361
119
88
Nada

377
340
4
40
Nada

244
267
293
173
125
Nada

348
138
304
Nada
Nada

Nada

Salida final

p1 = {8, 145, 331, 391};


p2 = {69, 315, 361};
p3 = {88, 119, 340, 377};
p4 = {4, 40, 244, 267, 293};
p5 = {125, 173, 304, 348};
p6 = {138}.

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

Facultad de Ingeniera

84

3.13

3.13.1.

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

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

3.13.2.

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

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.3.

Fase 1

E1
D
8, 145, 331, 391
4, 40, 244, 267, 293
138

E2
D
69, 315, 361
125, 173, 304, 348

E3
D
88, 119, 340, 377

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293
138

E2
125, 173, 304, 348

S
D
8, 69, 88,
315, 331,
377, 391
E3
D
8, 69, 88,
315, 331,
377, 391

3.13.4.

Fase 2

Enrique P. Calot

119, 145,
340, 361,

119, 145,
340, 361,

n II
Algoritmos y Programacio

3.14

Selecci
on de reemplazo con buffer de tama
no 3

3.13.5.

Fase 3

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293

E2
125, 173, 304, 348

E1
138

S
4, 40, 125, 173, 244,
267, 293, 304, 348
E2
4, 40, 125, 173, 244,
267, 293, 304, 348

3.13.6.

S
D
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D
E3
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

Fase final

E1
D
8, 145, 331, 391

E2
D
69, 315, 361

E3
D
88, 119, 340, 377

E1
4, 40, 244, 267, 293

E2
125, 173, 304, 348

E1
138

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

S
4, 40, 125, 173, 244,
267, 293, 304, 348
E2
4, 40, 125, 173, 244,
267, 293, 304, 348

3.14.

85

119,
173,
304,
348,

119,
173,
304,
348,

E2

S
D
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391
E3
D
E3
8, 69, 88, 119, 145,
315, 331, 340, 361,
377, 391

E3

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

Facultad de Ingeniera

86

3.15

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

b1
b2
b3
Sale
Entra

Nada
8
8

Nada
331
8
331

Nada
145
8
331
145
8
391
391
331
145
145
315
391
331
315
315
69
391
331
69
331
361
391
361
69
361
119
391
119
69
391
88
88
119
69
Nueva partici
on! Se cierra la partici
on p1 = {8, 145, 315, 331, 361, 391}
69
377
88
119
377
88
340
340
119
377
119
4
340
4
377
340
40
40
4
377
377
244
40
4
244
Nueva partici
on! Se cierra la partici
on p2 = {69, 88, 119, 340, 377}
4
267
40
267
244
40
293
293
267
244
244
173
293
267
173
267
125
293
125
173
293
348
348
125
173
348
138
138
125
173
Nueva partici
on! Se cierra la partici
on p3 = {4, 40, 244, 267, 293, 348}
125
304
138
304
173
138
Nada

304
173
173
Nada

304

304
Nada
Finaliza la u
ltima partici
on en p4 = {125, 138, 173, 304}

3.14.2.

Salida final

p1 = {8, 145, 315, 331, 361, 391};


p2 = {69, 88, 119, 340, 377};
p3 = {4, 40, 244, 267, 293, 348};
p4 = {125, 138, 173, 304}.

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.
P3
<4
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
Si
2
2
2
1
5
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

3.15.2.

87

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.15.3.

Fase 1

E1
D

E2
8, 145, 315, 331, 361,
391
125, 138, 173, 304

E3
69, 88, 119, 340, 377

E1
D

E2
8, 145, 315, 331, 361,
391

E3
69, 88, 119, 340, 377

E1
4, 40, 244, 267, 293,
348

E2
125, 138, 173, 304

S
8, 69, 88,
315, 331,
377, 391
E3
8, 69, 88,
315, 331,
377, 391

E1
D

E2
8, 145, 315, 331, 361,
391

E3
69, 88, 119, 340, 377

E1
4, 40, 244, 267, 293,
348

E2
125, 138, 173, 304

E2

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

4, 40, 244, 267, 293,


348
3.15.4.

3.15.5.

3.16.

Fase 2
119, 145,
340, 361,

119, 145,
340, 361,

Fase final

119,
173,
304,
348,

119,
173,
304,
348,

S
8, 69, 88,
315, 331,
377, 391
E3
8, 69, 88,
315, 331,
377, 391

119, 145,
340, 361,

119, 145,
340, 361,

E3

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

88

3.17

3.16.1.

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

Desarrollo

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

Nada
8

Nada
331

Nada
145

8
391

145
315

315
69

Nada
361

331
119

Nada
88
88
361
Nada
88
391
Nada

p1 = {8, 145, 315, 331, 361, 391}


69
377
377
119
88

88
340
377
119
340

119
4
377

340
4

Nada
40
377

340
4
40

Nada
244
377
244
340
4
40

244
267
377
267
340
4
40

267
293
377
293
340
4
40

293
173
377

340
4
40
173
340
Nada
377

4
40
173
377
Nada
4
40
173

Nueva partici
on! Se cierra la partici
on p2 = {69, 88, 119, 244, 267, 293, 340, 377}
4
125
125
40
173

40
348
125
348
173

125
138
138
348
173

138
304
304
348
173

173
Nada
304
348

304
Nada

348

348
Nada
Finaliza la u
ltima partici
on en p3 = {4, 40, 125, 138, 173, 304, 348}
b1
b2
b3
a1
a2

8
331

8
331
145

391
331
145

391
331
315

391
331

69

391
331
361
69

391

361
69
119
391

361
69
119
391

69
119
69
119
88

Nueva partici
on! Se cierra la partici
on

3.16.2.

Salida final

p1 = {8, 145, 315, 331, 361, 391};


p2 = {69, 88, 119, 244, 267, 293, 340, 377};
p3 = {4, 40, 125, 138, 173, 304, 348}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.18

Selecci
on de reemplazo con buffer de tama
no 4

Fases
0
1

3.17.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

89

<3
Si
No

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.17.3.

Fase 1

E1
8, 145, 315, 331, 361,
391

E2
69, 88, 119, 244, 267,
293, 340, 377

E3
4, 40, 125, 138, 173,
304, 348

E1
8, 145, 315, 331, 361,
391

E2
69, 88, 119, 244, 267,
293, 340, 377

E3
4, 40, 125, 138, 173,
304, 348

E2

E3

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.17.4.

3.18.

Fase final

119,
173,
304,
348,

119,
173,
304,
348,

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

Facultad de Ingeniera

90

3.19

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

b1
b2
b3
b4
Sale
Entra

Nada
8
8

Nada
331
8
331

Nada
145
8
331
145

Nada
391
8
331
145
391
8
315
315
331
145
391
145
69
315
331
69
391
315
361
361
331
69
391
331
119
361
119
69
391
361
88
88
119
69
391
391
377
88
119
69
377
Nueva partici
on! Se cierra la partici
on p1 = {8, 145, 315, 331, 361, 391}
69
340
88
119
340
377
88
4
4
119
340
377
119
40
4
40
340
377
340
244
4
40
244
377
377
267
4
40
244
267
Nueva partici
on! Se cierra la partici
on p2 = {69, 88, 119, 340, 377}
4
293
293
40
244
267
40
173
293
173
244
267
173
125
293
125
244
267
244
348
293
125
348
267
267
138
293
125
348
138
293
304
304
125
348
138
304
Nada

125
348
138
348
Nada

125

138
Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{4, 40, 173, 244, 267, 293, 304, 348}
125
Nada

138
138
Nada
Finaliza la u
ltima partici
on en p4 = {125, 138}

3.18.2.

Salida final

p1 = {8, 145, 315, 331, 361, 391};


p2 = {69, 88, 119, 340, 377};
p3 = {4, 40, 173, 244, 267, 293, 304, 348};
p4 = {125, 138}.

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

Fases
0
1
2
3.19.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

91

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
8, 145, 315, 331, 361,
391
125, 138

E3
69, 88, 119, 340, 377

E1
D

E2
8, 145, 315, 331, 361,
391

E3
69, 88, 119, 340, 377

E1
4, 40, 173, 244, 267,
293, 304, 348

E2
125, 138

S
8, 69, 88,
315, 331,
377, 391
E3
8, 69, 88,
315, 331,
377, 391

E1
D

E2
8, 145, 315, 331, 361,
391

E3
69, 88, 119, 340, 377

E1
4, 40, 173, 244, 267,
293, 304, 348

E2
125, 138

E2

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

4, 40, 173, 244, 267,


293, 304, 348
3.19.4.

3.19.5.

Fase 2
119, 145,
340, 361,

119, 145,
340, 361,

Fase final

n II
Algoritmos y Programacio

119,
173,
304,
348,

119,
173,
304,
348,

S
8, 69, 88,
315, 331,
377, 391
E3
8, 69, 88,
315, 331,
377, 391

119, 145,
340, 361,

119, 145,
340, 361,

E3

Facultad de Ingeniera

92

3.20

3.20.

Selecci
on Natural con buffers de tama
no 4

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
3.20.1.

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
8

Nada
331

Nada
145

Nada
391

8
315

145
69

Nada
361

315
119
119

Nada
88
119
88

Nada
377
119
88

331
340
119
88

340
4
119
88
4
361
Nada
119
88
4
377
Nada
119
88
4
391
Nada

p1 = {8, 145, 315, 331, 340, 361, 377, 391}


4
40
69
119
88
40

40
244
69
119
88
244

69
267
267
119
88
244

88
293
267
119
293
244

119
173
267
173
293
244

173
125
267

293
244
125

Nada
348
267
348
293
244
125

244
138
267
348
293

125
138

Nada
304
267
348
293
304
125
138

267
Nada

348
293
304
125
138

293
Nada

348

304
125
138

304
Nada

348

125
138

348
Nada
125
138

Nueva partici
on! Se cierra la partici
on p2 = {4, 40, 69, 88, 119, 173, 244, 267, 293, 304, 348}
125
Nada

138

138
Nada
Finaliza la u
ltima partici
on en p3 = {125, 138}
b1
b2
b3
b4
a1

8
331

8
331
145

8
331
145
391

315
331
145
391

315
331

391
69
315
331
361
391
69

331
361
391
69

331
361
391
69
377
331
361
391
69
377
340
361
391
69
377

361
391
69
377

391
69

391
69
69
119
88
4

Nueva partici
on! Se cierra la partici
on

3.20.2.

Salida final

p1 = {8, 145, 315, 331, 340, 361, 377, 391};


p2 = {4, 40, 69, 88, 119, 173, 244, 267, 293, 304, 348};
p3 = {125, 138}.

3.21.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on de reemplazo con buffer de tama
no 5

3.21.1.

93

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
3.21.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.3.

Fase 1

E1
8, 145, 315, 331, 340,
361, 377, 391

E2
4, 40, 69, 88, 119,
173, 244, 267, 293,
304, 348

E3
125, 138

E1
8, 145, 315, 331, 340,
361, 377, 391

E2
4, 40, 69, 88, 119,
173, 244, 267, 293,
304, 348

E3
125, 138

E2

E3

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.21.4.

3.22.

Fase final
119,
173,
304,
348,

119,
173,
304,
348,

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.22.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

94

3.23

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

b1
b2
b3
b4
b5

8
331

8
331
145

8
331
145
391

8
331
145
391
315
69
331
145
391
315
361
331
145
391
315
361
331
119
391
315
361
331
119
391
88
361
377
119
391
88
340
377
119
391
88
340
4
119
391
88
340
4
119
40
88
Nueva
partici
on!
Se
cierra
{8, 69, 145, 315, 331, 361, 377, 391}

3.22.2.

Sale
Nada
Nada
Nada
Nada
Nada
8
69
145
315
331
361
377
391
la

Entra
8
331
145
391
315
69
361
119
88
377
340
4
40
partici
on

p1

4
340
244
119
40
88
40
340
244
119
267
88
88
340
244
119
267
293
119
340
244
173
267
293
173
340
244
125
267
293
244
340
348
125
267
293
267
340
348
125
138
293
293
340
348
125
138
304
304
340
348
125
138

340

348
125
138

348

125
138

Nueva
partici
on!
Se
cierra
la
partici
on
{4, 40, 88, 119, 173, 244, 267, 293, 304, 340, 348}
125

138

138
Finaliza la u
ltima partici
on en p3 = {125, 138}

244
267
293
173
125
348
138
304
Nada
Nada
Nada
p2

Nada
Nada

Salida final

p1 = {8, 69, 145, 315, 331, 361, 377, 391};


p2 = {4, 40, 88, 119, 173, 244, 267, 293, 304, 340, 348};
p3 = {125, 138}.

3.23.

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.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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

3.23.2.

95

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.3.

Fase 1

E1
8, 69, 145, 315, 331,
361, 377, 391

E2
4, 40, 88, 119, 173,
244, 267, 293, 304,
340, 348

E3
125, 138

E1
8, 69, 145, 315, 331,
361, 377, 391

E2
4, 40, 88, 119, 173,
244, 267, 293, 304,
340, 348

E3
125, 138

E2

E3

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.23.4.

3.24.

Fase final

119,
173,
304,
348,

119,
173,
304,
348,

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

Facultad de Ingeniera

96

3.25

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

b1
b2
b3
b4
b5
b6

8
331

8
331
145

8
331
145
391

8
331
145
391
315

8
331
145
391
315
69
361
331
145
391
315
69
361
331
145
391
315
119
361
331
145
391
315
88
361
331
377
391
315
88
361
331
377
391
340
88
361
4
377
391
340
88
361
4
377
391
40
88
244
4
377
391
40
88
244
4
267
391
40
88
244
4
267
293
40
88
Nueva
partici
on!
Se
cierra
la
{8, 69, 119, 145, 315, 331, 340, 361, 377, 391}
244
173
267
293
40
88
244
173
267
293
125
88
244
173
267
293
125
348
244
173
267
293
138
348
244
173
267
293
304
348
244

267
293
304
348

267
293
304
348

293
304
348

304
348

348
Finaliza
la
u
ltima
partici
on
{4, 40, 88, 125, 138, 173, 244, 267, 293, 304, 348}

3.24.2.

Sale
Nada
Nada
Nada
Nada
Nada
Nada
8
69
119
145
315
331
340
361
377
391

Entra
8
331
145
391
315
69
361
119
88
377
340
4
40
244
267
293

partici
on

p1

4
40
88
125
138
173
244
267
293
304
348
en

173
125
348
138
304
Nada
Nada
Nada
Nada
Nada
Nada
p2

Salida final

p1 = {8, 69, 119, 145, 315, 331, 340, 361, 377, 391};
p2 = {4, 40, 88, 125, 138, 173, 244, 267, 293, 304, 348}.

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.
Fases
0
1
Enrique P. Calot

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No
n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

3.25.2.

97

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.25.3.

Fase 1

E1
D

E2
8, 69, 119, 145, 315,
331, 340, 361, 377,
391

E3
4, 40, 88, 125, 138,
173, 244, 267, 293,
304, 348

E1
D

E2
8, 69, 119, 145, 315,
331, 340, 361, 377,
391

E3
4, 40, 88, 125, 138,
173, 244, 267, 293,
304, 348

E2

E3

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.25.4.

3.26.

Fase final

119,
173,
304,
348,

119,
173,
304,
348,

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

Facultad de Ingeniera

98

3.27

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

b1
b2
b3

8
331

8
331
145
8
331
145
8
331
145
8
331
145
361
331
145
361
331
145
361
331
145
361
331
145
361
331
340
361
331
340
361
331
340
361
331
340
361
331
340
361
331
340
361

340
361

88
4
40
Nueva partici
on! Se

b4
b5
b6
a1
a2
a3
a4
a5
a6

391

391
315

391
315
69

391
315
69

391
315
119

391
315

88

391
315
377
88

391
315
377
88

391

377
88
4

391

377
88
4
40

391

377
88
4
40
244

391

377
88
4
40
244
267

391

377
88
4
40
244
267
293
391

377
88
4
40
244
267
293
391

377
88
4
40
244
267
293
391

377
88
4
40
244
267
293
391

88
4
40
244
267
293
244
267
293

cierra la partici
on p1 = {8, 69, 119, 145, 315, 331, 340, 361, 377, 391}

88
173
40
244
88
173
125
244
348
173
125
244
348
173
138
244
348
173
304
244
348

304
244
348

304

348

304

348

304

348

Finaliza la u
ltima partici
on

3.26.2.

267
293

267
293

267
293

267
293

267
293

267
293

267
293

293

en p2 = {4, 40, 88, 125, 138, 173, 244, 267, 293, 304, 348}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
8
69
119
Nada
145
315
Nada
Nada
Nada
Nada
331
340
361
377
391

Entra
8
331
145
391
315
69
361
119
88
377
340
4
40
244
267
293
Nada
Nada
Nada
Nada
Nada

4
40
88
125
138
173
244
267
293
304
348

173
125
348
138
304
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {8, 69, 119, 145, 315, 331, 340, 361, 377, 391};
p2 = {4, 40, 88, 125, 138, 173, 244, 267, 293, 304, 348}.

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.
P3
<2
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.27

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

3.27.2.

99

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.3.

Fase 1

E1
D

E2
8, 69, 119, 145, 315,
331, 340, 361, 377,
391

E3
4, 40, 88, 125, 138,
173, 244, 267, 293,
304, 348

E1
D

E2
8, 69, 119, 145, 315,
331, 340, 361, 377,
391

E3
4, 40, 88, 125, 138,
173, 244, 267, 293,
304, 348

E2

E3

S
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391
E1
4, 8, 40, 69, 88,
125, 138, 145,
244, 267, 293,
315, 331, 340,
361, 377, 391

3.27.4.

Fase final

n II
Algoritmos y Programacio

119,
173,
304,
348,

119,
173,
304,
348,

Facultad de Ingeniera

100

3.28

3.28.

Bubble Sort ascendente

3.28.1.

Desarrollo

Bubble Sort ascendente

8 331 145 391 315 69 361 119 88 377 340 4

8 145 331 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

18/20

40 244 267 293 173 125 348 138 304 391

15/19

8 145 315 69 331 119 88 361 340 4

8 145 69 315 119 88 331 340 4

8 69 145 119 88 315 331 4

8 69 119 88 145 315 4

8 69 88 119 145 4

8 69 88 119 4

8 69 88

8 69

40 88 119 145 173 125 244 138 267 293 304 315 331 340 348 361 377 391

4/11

10

8 4

40 69 88 119 145 125 173 138 244 267 293 304 315 331 340 348 361 377 391

3/10

11

4 8

40 69 88 119 125 145 138 173 244 267 293 304 315 331 340 348 361 377 391

1/9

12

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/8

13

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/7

14

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/6

15

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/5

16

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/4

17

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/3

18

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/2

19

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/1

20

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/0

40 244 267 293 173 125 348 138 304 377 391

14/18

40 244 267 293 173 125 348 138 304 361 377 391

12/17

40 244 267 293 173 125 340 138 304 348 361 377 391

11/16

40 244 267 293 173 125 331 138 304 340 348 361 377 391

10/15

40 244 267 293 173 125 315 138 304 331 340 348 361 377 391

6/14

40 145 244 267 173 125 293 138 304 315 331 340 348 361 377 391

5/13

40 119 145 244 173 125 267 138 293 304 315 331 340 348 361 377 391

5/12

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort descendente

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

101

8 331 145 391 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

331 145 391 315 69 361 119 88 377 340 8

331 391 315 145 361 119 88 377 340 69 40 244 267 293 173 125 348 138 304 8

12/18

391 331 315 361 145 119 377 340 88 69 244 267 293 173 125 348 138 304 40

11/17

391 331 361 315 145 377 340 119 88 244 267 293 173 125 348 138 304 69 40

11/16

391 361 331 315 377 340 145 119 244 267 293 173 125 348 138 304 88 69 40

10/15

391 361 331 377 340 315 145 244 267 293 173 125 348 138 304 119 88 69 40

9/14

391 361 377 340 331 315 244 267 293 173 145 348 138 304 125 119 88 69 40

5/13

391 377 361 340 331 315 267 293 244 173 348 145 304 138 125 119 88 69 40

3/12

391 377 361 340 331 315 293 267 244 348 173 304 145 138 125 119 88 69 40

2/11

10

391 377 361 340 331 315 293 267 348 244 304 173 145 138 125 119 88 69 40

2/10

11

391 377 361 340 331 315 293 348 267 304 244 173 145 138 125 119 88 69 40

2/9

12

391 377 361 340 331 315 348 293 304 267 244 173 145 138 125 119 88 69 40

2/8

13

391 377 361 340 331 348 315 304 293 267 244 173 145 138 125 119 88 69 40

1/7

14

391 377 361 340 348 331 315 304 293 267 244 173 145 138 125 119 88 69 40

1/6

15

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/5

16

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/4

17

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/3

18

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/2

19

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/1

20

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/0

n II
Algoritmos y Programacio

40 244 267 293 173 125 348 138 304 4

19/20

16/19

Facultad de Ingeniera

102

3.30

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

Bilateral Bubble Sort ascendente

8 331 145 391 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

18/20

8 145 331 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304 391

15/20

4 8 145 331 315 69 361 119 88 377 340 40 125 244 267 293 173 138 348 304 391

14/18

4 8 145 315 69 331 119 88 361 340 40 125 244 267 293 173 138 348 304 377 391

13/18

4 8

40 145 315 69 331 119 88 361 340 125 138 244 267 293 173 304 348 377 391

12/16

4 8

40 145 69 315 119 88 331 340 125 138 244 267 293 173 304 348 361 377 391

8/16

4 8

40 69 145 88 315 119 125 331 340 138 173 244 267 293 304 348 361 377 391

9/14

4 8

40 69 88 145 119 125 315 331 138 173 244 267 293 304 340 348 361 377 391

3/14

4 8

40 69 88 119 145 125 138 315 331 173 244 267 293 304 340 348 361 377 391

7/12

4 8

40 69 88 119 125 138 145 315 173 244 267 293 304 331 340 348 361 377 391

1/12

10

4 8

40 69 88 119 125 138 145 173 315 244 267 293 304 331 340 348 361 377 391

4/10

11

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/10

12

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/8

13

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/8

14

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/6

15

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/6

16

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/4

17

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/4

18

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/2

19

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/2

20

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort descendente

103

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

8 331 145 391 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

331 145 391 315 69 361 119 88 377 340 8

391 331 145 377 315 69 361 119 88 348 340 8

391 331 377 315 145 361 119 88 348 340 69 40 244 267 293 173 125 304 138 8

12/18

391 377 331 361 315 145 348 119 88 340 304 69 40 244 267 293 173 125 138 8

10/16

391 377 361 331 315 348 145 119 340 304 88 69 244 267 293 173 125 138 40

9/16

391 377 361 348 331 315 340 145 119 304 293 88 69 244 267 173 138 125 40

8/14

391 377 361 348 331 340 315 145 304 293 119 88 244 267 173 138 125 69 40

5/14

391 377 361 348 340 331 315 304 145 293 267 119 88 244 173 138 125 69 40

6/12

391 377 361 348 340 331 315 304 293 267 145 119 244 173 138 125 88 69 40

2/12

10

391 377 361 348 340 331 315 304 293 267 244 145 119 173 138 125 88 69 40

3/10

11

391 377 361 348 340 331 315 304 293 267 244 145 173 138 125 119 88 69 40

1/10

12

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/8

13

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/8

14

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/6

15

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/6

16

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/4

17

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/4

18

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/2

19

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/2

20

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

0/0

n II
Algoritmos y Programacio

40 244 267 293 173 125 348 138 304 4

19/20

40 244 267 293 173 125 304 138 4

16/20
15/18

Facultad de Ingeniera

104

3.32

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

Selection Sort ascendente

8 331 145 391 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

1/20

391 331 145 8 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

1/19

391 377 145 8 315 69 361 119 88 331 340 4

40 244 267 293 173 125 348 138 304

1/18

391 377 361 8 315 69 145 119 88 331 340 4

40 244 267 293 173 125 348 138 304

1/17

391 377 361 348 315 69 145 119 88 331 340 4

40 244 267 293 173 125 8 138 304

1/16

391 377 361 348 340 69 145 119 88 331 315 4

40 244 267 293 173 125 8 138 304

1/15

391 377 361 348 340 331 145 119 88 69 315 4

40 244 267 293 173 125 8 138 304

1/14

391 377 361 348 340 331 315 119 88 69 145 4

40 244 267 293 173 125 8 138 304

1/13

391 377 361 348 340 331 315 304 88 69 145 4

40 244 267 293 173 125 8 138 119

1/12

391 377 361 348 340 331 315 304 293 69 145 4

40 244 267 88 173 125 8 138 119

1/11

10

391 377 361 348 340 331 315 304 293 267 145 4

40 244 69 88 173 125 8 138 119

1/10

11

391 377 361 348 340 331 315 304 293 267 244 4

40 145 69 88 173 125 8 138 119

1/9

12

391 377 361 348 340 331 315 304 293 267 244 173 40 145 69 88

4 125 8 138 119

1/8

13

391 377 361 348 340 331 315 304 293 267 244 173 145 40 69 88

4 125 8 138 119

1/7

14

391 377 361 348 340 331 315 304 293 267 244 173 145 138 69 88

4 125 8

40 119

1/6

15

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 88

69

40 119

1/5

16

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 4

69

40 88

1/4

17

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69

40

1/3

18

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69

40

1/2

19

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

1/1

20

391 377 361 348 340 331 315 304 293 267 244 173 145 138 125 119 88 69 40

1/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.33

Selection Sort descendente

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

105

8 331 145 391 315 69 361 119 88 377 340 4

40 244 267 293 173 125 348 138 304

1/20

4 331 145 391 315 69 361 119 88 377 340 8

40 244 267 293 173 125 348 138 304

1/19

4 8 145 391 315 69 361 119 88 377 340 331 40 244 267 293 173 125 348 138 304

1/18

4 8

40 391 315 69 361 119 88 377 340 331 145 244 267 293 173 125 348 138 304

1/17

4 8

40 69 315 391 361 119 88 377 340 331 145 244 267 293 173 125 348 138 304

1/16

4 8

40 69 88 391 361 119 315 377 340 331 145 244 267 293 173 125 348 138 304

1/15

4 8

40 69 88 119 361 391 315 377 340 331 145 244 267 293 173 125 348 138 304

1/14

4 8

40 69 88 119 125 391 315 377 340 331 145 244 267 293 173 361 348 138 304

1/13

4 8

40 69 88 119 125 138 315 377 340 331 145 244 267 293 173 361 348 391 304

1/12

4 8

40 69 88 119 125 138 145 377 340 331 315 244 267 293 173 361 348 391 304

1/11

10

4 8

40 69 88 119 125 138 145 173 340 331 315 244 267 293 377 361 348 391 304

1/10

11

4 8

40 69 88 119 125 138 145 173 244 331 315 340 267 293 377 361 348 391 304

1/9

12

4 8

40 69 88 119 125 138 145 173 244 267 315 340 331 293 377 361 348 391 304

1/8

13

4 8

40 69 88 119 125 138 145 173 244 267 293 340 331 315 377 361 348 391 304

1/7

14

4 8

40 69 88 119 125 138 145 173 244 267 293 304 331 315 377 361 348 391 340

1/6

15

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 377 361 348 391 340

1/5

16

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 377 361 348 391 340

1/4

17

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 361 348 391 377

1/3

18

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 391 377

1/2

19

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 391 377

1/1

20

4 8

40 69 88 119 125 138 145 173 244 267 293 304 315 331 340 348 361 377 391

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-02-27
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:
8, 331, 145, 391, 315 , 69, 361, 119 , 88 , 377, 340 , 4, 40, 244, 267, 293 , 173,
125 , 348, 138, 304
Se pide:
a. 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:
267, 244 , 304

Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
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. que es mejor: seleccion de reemplazo con un buffer de tama
no 10 o seleccion natural con sus dos buffers
de tama
no 5? Defina ser mejor.
d. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 3 swapdown) y Radix Sort
en orden ascendente (entero).
e. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.

Resolucion Teorica Oficial de la Evaluacion Integradora tomada


el 14 de Julio de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-07-14

* 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 y dummies
2.1.2. Distribucion inicial . . . . . . . . . . . . . . . . . .
2.1.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. b. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . .
2.2.1. Inserci
on . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . .
2.3. c. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . .
2.4. d. Seleccion Natural . . . . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.4.2. Salida final . . . . . . . . . . . . . . . . . . . . . .
2.5. e. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.6. e. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . .
2.6.2. Heapfy paso 0 . . . . . . . . . . . . . . . . . . . . .
2.6.3. Heapfy paso 1 . . . . . . . . . . . . . . . . . . . . .
2.6.4. Heapfy paso 2 . . . . . . . . . . . . . . . . . . . . .
2.6.5. Heapfy paso 3 . . . . . . . . . . . . . . . . . . . . .
2.6.6. Heapfy paso 4 . . . . . . . . . . . . . . . . . . . . .
2.6.7. Paso 1: intercambio . . . . . . . . . . . . . . . . .
2.6.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .
2.6.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
2.6.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
2.6.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
2.6.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
2.6.13. Paso 4: intercambio . . . . . . . . . . . . . . . . .
2.6.14. Paso 4: swapdown . . . . . . . . . . . . . . . . . .
2.6.15. Paso 5: u
ltimo congelado pedido antes del corte . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
9
10
10
10
11
11
12
12
12
12
13
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21

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.3.2. Heapfy paso 0 . .
3.3.3. Heapfy paso 1 . .
3.3.4. Heapfy paso 2 . .
3.3.5. Heapfy paso 3 . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

21
21
22
22
22
23
23
23
24
24
25

Enrique P. Calot

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.3.6. Heapfy paso 4 . . . .


3.3.7. Paso 1: intercambio
3.3.8. Paso 1: swapdown .
3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .
3.3.17. Paso 6: intercambio
3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
3.4.7. Paso 1: intercambio
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
45
46
46
47
47
48
48
49

Facultad de Ingeniera


INDICE

3.4.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .


3.4.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
3.4.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
3.4.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
3.4.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
3.4.13. Paso 4: intercambio . . . . . . . . . . . . . . . . .
3.4.14. Paso 4: swapdown . . . . . . . . . . . . . . . . . .
3.4.15. Paso 5: intercambio . . . . . . . . . . . . . . . . .
3.4.16. Paso 5: swapdown . . . . . . . . . . . . . . . . . .
3.4.17. Paso 6: intercambio . . . . . . . . . . . . . . . . .
3.4.18. Paso 6: swapdown . . . . . . . . . . . . . . . . . .
3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .
3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

49
50
50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
65
65
66
66
67
67
68
68
68
68
69
69
69
69
69
70
70
70

n II
Algoritmos y Programacio


INDICE

3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.8. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.7. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.10.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.12.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.14.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

70
70
71
71
71
72
72
73
74
75
75
75
76
76
76
77
77
78
78
78
79
79
79
79
80
80
80
80
81
81
81
82
82
82
83
83
84
84
84
84
85
85
85
85
86
86
86
87
87

Facultad de Ingeniera


INDICE

3.14.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.16.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.18.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.20.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.22.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.24.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
Enrique P. Calot

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

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

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

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

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

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

. 87
. 88
. 88
. 88
. 89
. 89
. 89
. 90
. 90
. 90
. 90
. 91
. 91
. 91
. 92
. 92
. 92
. 92
. 92
. 93
. 93
. 93
. 94
. 94
. 94
. 95
. 95
. 95
. 95
. 96
. 96
. 96
. 96
. 97
. 97
. 97
. 97
. 97
. 97
. 98
. 98
. 98
. 99
. 99
. 99
. 99
. 99
. 100
. 100

n II
Algoritmos y Programacio


INDICE

3.26.1. C
alculo de la distribuci
on de columnas y dummies . .
3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.26.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . .
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.28.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.28.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . .

n II
Algoritmos y Programacio

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

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

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

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

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

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

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

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

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

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

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

100
101
101
101
101
101
102
102
102
103
103
103
104
104
105
105
106
106
107
107
108
108
109
109

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
61, 185, 299, 377, 296 , 340, 112, 126 , 124 , 328, 346 , 46, 242, 239,
70, 266 , 232, 161 , 294, 339, 177
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. Procesar el B-tree de orden tal que, con 5 elementos por nodo hace overflow pero con 4 no, resultante
de ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
242, 239 , 294
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
c. 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.
d. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente (hacer al menos 5 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
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.
Enrique P. Calot

n II
Algoritmos y Programacio

2.1

a. Merge Polif
asico

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.

Fases
0
1
2
3
4
5

2.1.2.

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

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.1.3.

Fase 1

E1
D
D
D
D
299
340
124
46
239
266
161
339
177

E2
D
D
D
61
377
112
328
242
70
232
294

n II
Algoritmos y Programacio

E3
D
D
D
185
296
126
346

Facultad de Ingeniera

10

2.2

2.1.4.

Fase 2

E1
D
D
D
D
299
340
124
E1
46
239
266
161
339
177

2.1.5.

E2
D
D
D
61
377
112
328
E2
242
70
232
294

E3
D
D
D
185
296
126
346
S

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
296, 299,
112, 126,
124, 328,

E2
D
D
D
61
377
112
328
E2
242
70
232
294
S

E3
D
D
D
185
296
126
346
S
46, 242
70, 239
232, 266
61, 161, 185, 294
E2
46, 242
70, 239
232, 266
61, 161, 185, 294

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
E3
296, 299,
112, 126,
124, 328,

377
340
346

377
340
346

Fase 3

E1
D
D
D
D
299
340
124
E1
46
239
266
161
E1
339
177

2.2.

b. Ejercicio de B-trees

377
340
346

377
340
346

b. Ejercicio de B-trees

Procesar el B-tree de orden tal que, con 5 elementos por nodo hace overflow pero con 4 no, resultante
de ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
242, 239 , 294
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.

11

Inserci
on

Inserto 5 elementos: 61, 185, 299, 377, 296.


296
61185 299377

Inserto 3 elementos: 340, 112, 126.


296
61112126185

299340377

Inserto 1 elemento: 124.


124296
61112 126185 299340377

Inserto 2 elementos: 328, 346.


124296340
61112 126185 299328 346377

Inserto 5 elementos: 46, 242, 239, 70, 266.


124239296340
466170112

126185 242266 299328 346377

Inserto 2 elementos: 232, 161.


124239296340
466170112

126161185232 242266 299328 346377

Inserto 3 elementos: 294, 339, 177.


239
124177
466170112

2.2.2.

296340

126161 185232 242266294 299328339 346377

Eliminaci
on

Elimino 2 elementos: 242, 239.


124177296340
466170112

126161 185232266294 299328339 346377

Elimino 1 elemento: 294.


124177296340
466170112

n II
Algoritmos y Programacio

126161 185232266 299328339 346377

Facultad de Ingeniera

12

2.3

2.3.

c. Pregunta te
orica

c. 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.3.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
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.4.

d. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

2.4.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

2.5

e. Radix Sort

13

a1
a2
a3
a4
a5
Sale
Entra

Nada
61

Nada
185

Nada
299

Nada
377

Nada
296

61
340

185
112
112

Nada
126
112
126

Nada
124
112
126
124

Nada
328
112
126
124

296
346
112
126
124

299
46
112
126
124
46

Nada
242
112
126
124
46
242
328
Nada
112
126
124
46
242
340
Nada
112
126
124
46
242
346
Nada
112
126
124
46
242
377
Nada

p1 = {61, 185, 296, 299, 328, 340, 346, 377}


46
239
112
126
124
239
242

112
70

126
124
239
242
70

Nada
266
266
126
124
239
242
70

124
232
266
126
232
239
242
70

126
161
266
161
232
239
242
70

161
294
266
294
232
239
242
70

232
339
266
294
339
239
242
70

239
177
266
294
339

242
70
177

242
Nada
266
294
339

70
177

266
Nada

294
339

70
177

294
Nada

339

70
177

339
Nada
70
177

Nueva partici
on! Se cierra la partici
on p2 = {46, 112, 124, 126, 161, 232, 239, 242, 266, 294, 339}
70
Nada

177

177
Nada
Finaliza la u
ltima partici
on en p3 = {70, 177}
b1
b2
b3
b4
b5

61

61
185

61
185
299

61
185
299
377

61
185
299
377
296
340
185
299
377
296
340

299
377
296
340

299
377
296
340

299
377
296
340
328
299
377
296
340
328
299
377
346
340
328

377
346
340
328

377
346
340

377
346

377
346

377

112
126
124
46
242
Nueva partici
on! Se cierra la partici
on

2.4.2.

Salida final

p1 = {61, 185, 296, 299, 328, 340, 346, 377};


p2 = {46, 112, 124, 126, 161, 232, 239, 242, 266, 294, 339};
p3 = {70, 177}.

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.


n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.6

Paso 0
061
185
299
377
296
340
112
126
124
328
346
046
242
239
070
266
232
161
294
339
177

2.6.

Paso 1
340
070
061
161
112
242
232
124
294
185
296
126
346
046
266
377
177
328
299
239
339

Paso 2
112
124
126
328
232
239
339
340
242
346
046
061
161
266
070
377
177
185
294
296
299

e. Heap Sort

Paso 3
046
061
070
112
124
126
161
177
185
232
239
242
266
294
296
299
328
339
340
346
377

e. Heap Sort

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

2.6.1.

Arbol
inicial
61
185

299

377
126
266

232

296
124

161

328

294

339

340
346

46

242

328

346

46

112
239

70

177

Vector:
61

185

299

377

Enrique P. Calot

296

340

112

126

124

242

239

70

266

232

161

294

n II
Algoritmos y Programacio

339

177

2.6

e. Heap Sort

2.6.2.

15

Heapfy paso 0

61
185

299

377

296

126

124

266

232

161

299

377

296

340

328

294

339

346

46

112

242

239

70

177

Vector:
61

185

2.6.3.

340

112

126

124

328

346

46

242

239

70

266

232

161

294

339

177

239

70

126

232

161

124

328

177

Heapfy paso 1

61
185

299

377
266
126

232

296
294

161

339

124

328

340
346

46

242

294

339

346

112
239

70

177

Vector:
61

185

299

377

296

340

112

n II
Algoritmos y Programacio

266

46

242

Facultad de Ingeniera

16

2.6

2.6.4.

e. Heap Sort

Heapfy paso 2

61
185

299

377

346

266
126

294

232

161

124

340

339
328

296

46

239

242

112

70

177

Vector:
61

185

2.6.5.

299

377

346

340

239

266

294

339

296

46

242

112

70

126

232

161

124

328

177

112

70

126

232

161

124

328

177

Heapfy paso 3

61
377

340

294
266
126

346
185

232

161

340

294

124

339
328

299
296

46

239

242

112

70

177

Vector:
61

377

Enrique P. Calot

346

299

239

266

185

339

296

46

242

n II
Algoritmos y Programacio

2.6

e. Heap Sort

2.6.6.

17

Heapfy paso 4

377
346

340

294

339

266
126

185

232

328

299
296

161

124

61

177

294

339

299

239

46

239

242

112

70

Vector:
377

346

2.6.7.

340

266

185

328

296

46

242

112

70

126

232

161

124

61

177

70

126

232

161

124

61

377

Paso 1: intercambio

177
346

340

294
266
126

232

339
185

161

328

124

61

299
296

46

239

242

112

70

377

Vector:
177

346

340

294

339

299

239

n II
Algoritmos y Programacio

266

185

328

296

46

242

112

Facultad de Ingeniera

18

2.6

2.6.8.

e. Heap Sort

Paso 1: swapdown

346
339

340

294

328

266
126

185

232

161

177

124

61

299
296

46

239

242

112

70

377

Vector:
346

339

2.6.9.

340

294

328

299

239

266

185

177

296

46

242

112

70

126

232

161

124

61

377

346

377

Paso 2: intercambio

61
339

340

294
266
126

232

328
185

161

124

177
346

299
296

46

239

242

112

70

242

112

377

Vector:
61

339

340

294

Enrique P. Calot

328

299

239

266

185

177

296

46

70

126

232

161

124

n II
Algoritmos y Programacio

2.6

e. Heap Sort

2.6.10.

19

Paso 2: swapdown

340
339

299

294

328

266

185

126

232

299

294

161

177

124

346

242
296

46

239

61

112

70

377

Vector:
340

339

2.6.11.

328

242

239

266

185

177

296

46

61

112

70

126

232

161

124

346

377

70

126

232

161

340

346

377

Paso 3: intercambio

124
339

299

294
266
126

232

299

294

328
185

161

177

340

346

242
296

46

239

61

112

70

377

Vector:
124

339

328

242

239

n II
Algoritmos y Programacio

266

185

177

296

46

61

112

Facultad de Ingeniera

20

2.6

2.6.12.

e. Heap Sort

Paso 3: swapdown

339
328

299

294

296

266

185

126

232

299

294

161

340

242

177
346

124

46

239

61

112

70

377

Vector:
339

328

2.6.13.

296

242

239

266

185

177

124

46

61

112

70

126

232

161

340

346

377

70

126

232

339

340

346

377

Paso 4: intercambio

161
328

299

294
266

296
185

126

232

339

299

294

296

340

177
346

242
124

46

239

61

112

70

377

Vector:
161

328

Enrique P. Calot

242

239

266

185

177

124

46

61

112

n II
Algoritmos y Programacio

3 Resoluci
on explayada

2.6.14.

21

Paso 4: swapdown
328
296

299

294

177

266

185

126

232

339

299

294

177

161

340

346

242
124

46

239

61

112

70

377

Vector:
328

296

2.6.15.

242

239

266

185

161

124

46

61

112

70

126

232

339

340

346

377

70

126

328

339

340

346

377

Paso 5: u
ltimo congelado pedido antes del corte
232
296

299

294
266
126

177
185

328

339

340

294

177

242

161
346

242
124

46

61

239
112

70

377

Vector:
232

3.

296

299

239

266

185

161

124

46

61

112

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).


n II
Algoritmos y Programacio

Facultad de Ingeniera

22

3.2

3.1.1.

Quick Sort

Desarrollo

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


Paso 0
061
185
299
377
296
340
112
126
124
328
346
046
242
239
070
266
232
161
294
339
177

3.2.

Paso 1
299
239
339
328
377
177
296
126
346
046
266
185
124
294
112
242
232
061
161
340
070

Paso 2
299
296
294
185
377
177
070
266
061
161
346
046
242
340
239
339
232
328
126
124
112

Paso 3
377
346
340
339
328
299
296
294
266
242
239
232
185
177
161
126
124
112
070
061
046

Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
3.2.1.

Desarrollo

Paso 1

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

Paso 2

46 61 299 377 296 340 112 126 124 328 346 185 242 239 70 266 232 161 294 339 177

Paso 3

266 177 296 294 112 126 124 161 232 185 242 239 70 299 346 328 340 339 377

Paso 4

242 177 70 239 112 126 124 161 232 185 266 294 296

339 328 340 346 377

Paso 5

185 177 70 239 112 126 124 161 232 242

328 339 340

Paso 6

124 177 70 161 112 126 185 239 232

Paso 7

70 112 124 161 177 126

Final

294 296

232 239

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

Enrique P. Calot

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.

23

Heap Sort completo

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

3.3.1.

Arbol
inicial
61
185

299

377

296

126
266

124

232

161

340

328

294

339

346

46

242

328

346

46

112
239

70

177

Vector:
61

185

3.3.2.

299

377

296

340

112

126

124

242

239

70

266

232

161

294

339

177

70

266

232

161

294

339

177

Heapfy paso 0

61
185

299

377
126

296
124

266

232

161

299

377

296

294

328
339

340
346

46

112

242

239

70

177

Vector:
61

185

340

112

n II
Algoritmos y Programacio

126

124

328

346

46

242

239

Facultad de Ingeniera

24

3.3

3.3.3.

Heap Sort completo

Heapfy paso 1

61
185

299

377

296

266
126

294

232

161

339

124

328

340

112

346

46

242

294

339

346

239

70

177

Vector:
61

185

3.3.4.

299

377

296

340

112

266

46

242

239

70

126

232

161

124

328

177

112

70

126

232

161

124

328

177

Heapfy paso 2

61
185

299

377
266
126

232

346
294

161

124

339
328

340
296

46

239

242

112

70

177

Vector:
61

185

299

377

Enrique P. Calot

346

340

239

266

294

339

296

46

242

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.5.

25

Heapfy paso 3

61
377

340

294

346

266
126

185

232

161

340

294

124

339
328

299
296

46

239

242

112

70

177

Vector:
61

377

3.3.6.

346

299

239

266

185

339

296

46

242

112

70

126

232

161

124

328

177

61

177

Heapfy paso 4

377
346

340

294
266
126

339
185

232

328

161

124

61

177

294

339

299

239

299
296

46

242

239
112

70

Vector:
377

346

340

n II
Algoritmos y Programacio

266

185

328

296

46

242

112

70

126

232

161

124

Facultad de Ingeniera

26

3.3

3.3.7.

Heap Sort completo

Paso 1: intercambio

177
346

340

294
266
126

339
185

232

161

124

328
61

299
296

46

239

242

112

70

377

Vector:
177

346

3.3.8.

340

294

339

299

239

266

185

328

296

46

242

112

70

126

232

161

124

61

377

70

126

232

161

124

61

377

Paso 1: swapdown

346
339

340

294
266
126

232

328
185

161

124

177
61

299
296

46

239

242

112

70

377

Vector:
346

339

340

294

Enrique P. Calot

328

299

239

266

185

177

296

46

242

112

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.9.

27

Paso 2: intercambio

61
339

340

294

328

266
126

185

232

161

177

124

346

299
296

46

239

242

112

70

242

112

377

Vector:
61

339

3.3.10.

340

294

328

299

239

266

185

177

296

46

70

126

232

161

124

346

377

70

126

232

161

124

346

377

Paso 2: swapdown

340
339

299

294
266
126

232

299

294

328
185

161

177

124

346

242
296

46

239

61

112

70

377

Vector:
340

339

328

242

239

n II
Algoritmos y Programacio

266

185

177

296

46

61

112

Facultad de Ingeniera

28

3.3

3.3.11.

Heap Sort completo

Paso 3: intercambio

124
339

299

294
266

328
185

126

232

299

294

161

340

177
346

242
296

46

239

61

112

70

377

Vector:
124

339

3.3.12.

328

242

239

266

185

177

296

46

61

112

70

126

232

161

340

346

377

70

126

232

161

340

346

377

Paso 3: swapdown

339
328

299

294
266
126

232

299

294

296
185

161

340

177
346

242
124

46

239

61

112

70

377

Vector:
339

328

Enrique P. Calot

296

242

239

266

185

177

124

46

61

112

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.13.

29

Paso 4: intercambio

161
328

299

294
266

296
185

126

232

339

299

294

296

177

340

346

242
124

46

239

61

112

70

377

Vector:
161

328

3.3.14.

242

239

266

185

177

124

46

61

112

70

126

232

339

340

346

377

70

126

232

339

340

346

377

Paso 4: swapdown

328
296

299

294
266

177
185

126

232

339

299

294

177

161

340

346

242
124

46

239

61

112

70

377

Vector:
328

296

242

239

n II
Algoritmos y Programacio

266

185

161

124

46

61

112

Facultad de Ingeniera

30

3.3

3.3.15.

Heap Sort completo

Paso 5: intercambio

232
296

299

294
266
126

177
185

328

339

340

294

177

242

161
346

242
124

46

61

239
112

70

377

Vector:
232

296

3.3.16.

299

239

266

185

161

124

46

61

112

70

126

328

339

340

346

377

70

126

328

339

340

346

377

Paso 5: swapdown

299
296

242

294
266
126

177
185

328

339

340

294

177

232

161
346

232
124

46

61

239
112

70

377

Vector:
299

296

242

Enrique P. Calot

239

266

185

161

124

46

61

112

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.17.

31

Paso 6: intercambio

126
296

242

294
266
299

177
185

328

339

340

294

177

232

161
346

232
124

46

61

239
112

70

377

Vector:
126

296

3.3.18.

242

239

266

185

161

124

46

61

112

70

299

328

339

340

346

377

70

299

328

339

340

346

377

Paso 6: swapdown

296
294

242

266
126
299

177
185

328

339

340

266

177

232

161
346

232
124

46

61

239
112

70

377

Vector:
296

294

242

239

n II
Algoritmos y Programacio

126

185

161

124

46

61

112

Facultad de Ingeniera

32

3.3

3.3.19.

Heap Sort completo

Paso 7: intercambio

70
294

242

266
126
299

177
185

161

328

339

340

266

177

232

346

232
124

46

61

239
112

296

377

Vector:
70

294

3.3.20.

242

239

126

185

161

124

46

61

112

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 7: swapdown

294
266

242

185

177

126
299

70

328

339

161
340

346

377

232

239

126

232
124

46

61

239
112

296

Vector:
294

266

242

185

Enrique P. Calot

177

70

161

124

46

61

112

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.21.

33

Paso 8: intercambio

112
266

242

185

177

126
299

70

328

339

161
340

346

377

239

126

232
124

46

61

239
294

296

Vector:
112

266

3.3.22.

242

185

177

232

70

161

124

46

61

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 8: swapdown

266
185

242

126

177

112
299

70

328

339

161
340

346

377

239

112

232
124

46

61

239
294

296

Vector:
266

185

242

126

177

232

n II
Algoritmos y Programacio

70

161

124

46

61

294

Facultad de Ingeniera

34

3.3

3.3.23.

Heap Sort completo

Paso 9: intercambio

61
185

242

126

177

112
299

70

328

339

161
340

346

377

239

112

232
124

46

239

266

294

296

Vector:
61

185

3.3.24.

242

126

177

232

70

161

124

46

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 9: swapdown

242
185

239

126

177

112
299

70

328

339

161
340

346

232
124

46

61

266

294

296

377

Vector:
242

185

239

126

Enrique P. Calot

177

232

61

112

70

161

124

46

266

294

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.25.

35

Paso 10: intercambio

46
185

239

126

177

112
299

70

328

339

161
340

346

232
124

242

61

266

294

296

377

Vector:
46

185

3.3.26.

239

126

177

232

61

112

70

161

124

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 10: swapdown

239
185

232

126
112
299

328

177
70

339

161
340

346

46
124

242

61
266

294

296

377

Vector:
239

185

232

126

177

46

61

n II
Algoritmos y Programacio

112

70

161

124

242

266

294

Facultad de Ingeniera

36

3.3

3.3.27.

Heap Sort completo

Paso 11: intercambio

124
185

232

126
112
299

177
70

328

339

161
340

46
239

346

377

61

112

242

61
266

294

296

Vector:
124

185

3.3.28.

232

126

177

46

70

161

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 11: swapdown

232
185

124

126
112
299

328

177
70

339

161
340

46
239

346

377

61

112

242

61
266

294

296

Vector:
232

185

124

126

Enrique P. Calot

177

46

70

161

239

242

266

294

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.29.

37

Paso 12: intercambio

161
185

124

126
112
299

177
70

328

339

232
340

346

46
239

242

61
266

294

296

377

Vector:
161

185

3.3.30.

124

126

177

46

61

112

70

232

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 12: swapdown

185
177

124

126
112
299

328

161
70

339

232
340

346

46
239

242

61
266

294

296

377

Vector:
185

177

124

126

161

46

61

n II
Algoritmos y Programacio

112

70

232

239

242

266

294

Facultad de Ingeniera

38

3.3

3.3.31.

Heap Sort completo

Paso 13: intercambio

70
177

124

126
112
299

161
185

328

339

232

340

46
239

346

377

61

112

242

61
266

294

296

Vector:
70

177

124

3.3.32.

126

161

46

185

232

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 13: swapdown

177
161

124

126
112
299

328

70
185

339

232

340

46
239

346

377

61

112

242

61
266

294

296

Vector:
177

161

124

126

Enrique P. Calot

70

46

185

232

239

242

266

294

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.33.

39

Paso 14: intercambio

112
161

124

126
177
299

70
185

328

339

124

126

232

340

346

46
239

242

61
266

294

296

377

Vector:
112

161

3.3.34.

70

46

61

177

185

232

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 14: swapdown

161
126

124

112
177
299

70
185

328

339

124

112

232

340

346

46
239

242

61
266

294

296

377

Vector:
161

126

70

46

61

n II
Algoritmos y Programacio

177

185

232

239

242

266

294

Facultad de Ingeniera

40

3.3

3.3.35.

Heap Sort completo

Paso 15: intercambio

61
126

124

112
177
299

70
185

328

339

232

340

346

46
239

242

185

232

161
266

294

296

377

Vector:
61

126

3.3.36.

124

112

70

46

161

177

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 15: swapdown

126
112

124

61

70

177
299

185

328

339

232

340

346

46
239

242

185

232

161
266

294

296

377

Vector:
126

112

124

61

Enrique P. Calot

70

46

161

177

239

242

266

294

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.37.

41

Paso 16: intercambio

46
112

124

61

70

177
299

185

328

339

124

61

232

340

346

126
239

242

185

232

161

266

294

296

377

Vector:
46

112

3.3.38.

70

126

161

177

239

242

266

294

296

299

328

339

340

346

377

296

299

328

339

340

346

377

Paso 16: swapdown

124
112

46

61

70

177
299

185

328

339

232

340

346

126
239

242

185

232

266

161
294

296

377

Vector:
124

112

46

61

70

126

161

n II
Algoritmos y Programacio

177

239

242

266

294

Facultad de Ingeniera

42

3.3

3.3.39.

Heap Sort completo

Paso 17: intercambio

70
112

46

61

124

177
299

185

328

339

232

340

346

126
239

242

161

266

294

296

377

Vector:
70

112

3.3.40.

46

61

124

126

161

177

185

232

239

242

266

294

296

299

328

339

340

346

377

294

296

299

328

339

340

346

377

Paso 17: swapdown

112
70

46

61

124

177
299

185

328

339

232

340

346

126
239

242

266

161
294

296

377

Vector:
112

70

46

61

Enrique P. Calot

124

126

161

177

185

232

239

242

266

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.41.

43

Paso 18: intercambio

61
70

46

112
177
299

124
185

328

339

232

340

346

126
239

242

266

185

232

239

161
294

296

377

Vector:
61

70

3.3.42.

46

112

124

126

161

177

242

266

294

296

299

328

339

340

346

377

294

296

299

328

339

340

346

377

Paso 18: swapdown

70
61

46

112
177
299

328

124
185

339

232

340

346

126
239

242

266

185

232

239

161
294

296

377

Vector:
70

61

46

112

124

126

161

n II
Algoritmos y Programacio

177

242

266

Facultad de Ingeniera

44

3.3

3.3.43.

Heap Sort completo

Paso 19: intercambio

46
61

70

112
177
299

124
185

328

339

232

340

346

126
239

242

266

232

239

161
294

296

377

Vector:
46

61

3.3.44.

70

112

124

126

161

177

185

242

266

294

296

299

328

339

340

346

377

294

296

299

328

339

340

346

377

Paso 19: swapdown

61
46

70

112
177
299

124
185

328

339

340

232
346

126
239

242

266

232

239

161
294

296

377

Vector:
61

46

70

112

Enrique P. Calot

124

126

161

177

185

242

266

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.3.45.

45

Paso 20: intercambio


46
61

70

112

124

177
299

185

328

339

232

340

346

126
239

161

242

266

294

232

239

242

296

377

Vector:
46

61

3.3.46.

70

112

124

126

161

177

185

266

294

296

299

328

339

340

346

377

294

296

299

328

339

340

346

377

Paso 20: swapdown

46
61

70

112
177
299

328

124
185

339

340

232
346

126
239

242

266

232

239

161
294

296

377

Vector:
46

61

3.4.

70

112

124

126

161

177

185

242

266

Heap Sort descendente

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


n II
Algoritmos y Programacio

Facultad de Ingeniera

46

3.4

3.4.1.

Heap Sort descendente

Arbol
inicial

61
185

299

377

296

126
266

124

232

161

340

328

294

339

346

46

242

328

346

46

112
239

70

177

Vector:
61

185

3.4.2.

299

377

296

340

112

126

124

242

239

70

266

232

161

294

339

177

70

266

232

161

294

339

177

Heapfy paso 0

61
185

299

377
126

296
124

266

232

161

299

377

296

294

328
339

340
346

46

112

242

239

70

177

Vector:
61

185

Enrique P. Calot

340

112

126

124

328

346

46

242

239

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.3.

47

Heapfy paso 1

61
185

299

377

296

126
266

124

232

161

340

177

294

339

112

346

46

242

124

177

346

239

70

328

Vector:
61

185

3.4.4.

299

377

296

340

112

126

46

242

239

70

266

232

161

294

339

328

112

266

232

377

294

339

328

Heapfy paso 2

61
185

299

124
126
266

177
161

232

377

294

299

124

177

296
339

46
346

70

340

242

239

296

346

340

112

328

Vector:
61

185

46

70

n II
Algoritmos y Programacio

126

161

242

239

Facultad de Ingeniera

48

3.4

3.4.5.

Heap Sort descendente

Heapfy paso 3

61
124

46

126

177

185
266

161

232

377

294

126

177

296
339

242
346

340

70

299

239

112

340

299

328

Vector:
61

124

3.4.6.

46

242

70

185

161

296

346

239

112

266

232

377

294

339

328

239

112

266

232

377

294

339

328

Heapfy paso 4

46
124

61

126
185
266

177
161

232

377

294

61

126

177

296
339

242
346

340

70

299

239

112

340

299

328

Vector:
46

124

Enrique P. Calot

242

70

185

161

296

346

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.7.

49

Paso 1: intercambio

328
124

61

126
185
266

177
161

232

377

296

294

339

242
346

340

70

299

239

112

340

299

239

46

Vector:
328

124

3.4.8.

61

126

177

242

70

185

161

296

346

112

266

232

377

294

339

46

328

266

232

377

294

339

46

Paso 1: swapdown

61
124

70

126
185
266

232

177
161

377

296

294

339

242
346

340

112

299

239

328

340

299

239

46

Vector:
61

124

70

126

177

242

112

n II
Algoritmos y Programacio

185

161

296

346

Facultad de Ingeniera

50

3.4

3.4.9.

Heap Sort descendente

Paso 2: intercambio

339
124

70

126
185
266

177
161

232

377

294

296
61

242
346

340

112

299

239

328

46

Vector:
339

124

3.4.10.

70

126

177

242

112

185

161

296

346

340

299

239

328

266

232

377

294

61

46

328

266

232

377

294

61

46

Paso 2: swapdown

70
124

112

126
185
266

232

177
161

377

294

296
61

242
346

340

239

299

339

328

46

Vector:
70

124

112

126

Enrique P. Calot

177

242

239

185

161

296

346

340

299

339

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.11.

51

Paso 3: intercambio

294
124

112

126

177

185

161

266

232

112

126

377

296
70

61

46

239

185

242
346

340

161

296

239

299

339

328

Vector:
294

124

3.4.12.

177

242

346

340

299

339

328

266

232

377

70

61

46

339

328

266

232

377

70

61

46

Paso 3: swapdown

112
124

239

126

177

185
266

232

239

126

161
377

296
70

61

46

294

185

242
346

340

161

296

299

294
339

328

Vector:
112

124

177

242

n II
Algoritmos y Programacio

346

340

299

Facultad de Ingeniera

52

3.4

3.4.13.

Heap Sort descendente

Paso 4: intercambio

377
124

239

126

177

185

161

266

232

112

239

126

177

296
70

61

46

242

294

185

242

294

346

340

299

161

296

346

339

328

Vector:
377

124

3.4.14.

340

299

339

328

266

232

112

70

61

46

339

328

266

232

112

70

61

46

Paso 4: swapdown

124
126

239

161

177

185

377

266

232

112

239

161

177

296
70

61

46

242

294

185

242
346

340

299

377

296

346

294
339

328

Vector:
124

126

Enrique P. Calot

340

299

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.15.

53

Paso 5: intercambio

232
126

239

161
185
266

177
377

296

124

112

70

61

161

177

242

294

242

294

346

340

299

377

296

346

339

328

46

Vector:
232

126

3.4.16.

239

185

340

299

339

328

266

124

112

70

61

46

339

328

266

124

112

70

61

46

Paso 5: swapdown

126
161

239

185
232
266

177
377

296

124

112

70

61

185

177

242

294

242
346

340

299

377

296

346

294
339

328

46

Vector:
126

161

239

n II
Algoritmos y Programacio

232

340

299

Facultad de Ingeniera

54

3.4

3.4.17.

Heap Sort descendente

Paso 6: intercambio

266
161

239

185
232
126

177
377

296

124

112

70

61

185

177

242

294

242
346

294

340

299

339

296

346

340

328

46

Vector:
266

161

3.4.18.

239

232

377

299

339

328

126

124

112

70

61

46

339

328

126

124

112

70

61

46

Paso 6: swapdown

161
177

239

185
232
126

266
377

296

124

112

70

61

185

266

242

294

242
346

294

340

299

339

296

346

340

328

46

Vector:
161

177

239

Enrique P. Calot

232

377

299

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.19.

55

Paso 7: intercambio

328
177

239

185
232
126

266
377

124

112

296
70

61

242
346

340

294

299

339

346

340

161

46

Vector:
328

177

3.4.20.

239

185

266

242

294

232

377

296

299

339

161

126

124

112

70

61

46

339

161

126

124

112

70

61

46

Paso 7: swapdown

177
185

239

232
328
126

266
377

124

112

296
70

61

242
346

340

294

299

339

346

340

161

46

Vector:
177

185

239

232

266

242

294

n II
Algoritmos y Programacio

328

377

296

299

Facultad de Ingeniera

56

3.4

3.4.21.

Heap Sort descendente

Paso 8: intercambio

339
185

239

232
328
126

266
377

124

112

296
70

61

242
346

340

294

299

177

161

346

340

299

46

Vector:
339

185

3.4.22.

239

232

266

242

294

328

377

296

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 8: swapdown

185
232

239

328
339
126

266
377

124

112

296
70

61

242
346

340

294

299

177

161

346

340

299

46

Vector:
185

232

239

328

Enrique P. Calot

266

242

294

339

377

296

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.23.

57

Paso 9: intercambio

299
232

239

328
339
126

266
377

124

112

296
70

61

242
346

340

294

185

177

161

340

185

46

Vector:
299

232

3.4.24.

239

328

266

242

294

339

377

296

346

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 9: swapdown

232
266

239

328
339
126

296
377

124

112

299
70

61

242
346

340

294

185

177

161

340

185

46

Vector:
232

266

239

328

296

242

294

n II
Algoritmos y Programacio

339

377

299

346

Facultad de Ingeniera

58

3.4

3.4.25.

Heap Sort descendente

Paso 10: intercambio

340
266

239

328
339
126

296
377

124

112

299
70

61

242
346

232

294

185

177

161

46

Vector:
340

266

3.4.26.

239

328

296

242

294

339

377

299

346

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 10: swapdown

239
266

242

328
339
126

296
377

124

112

299
70

61

340
346

232

294

185

177

161

46

Vector:
239

266

242

328

Enrique P. Calot

296

340

294

339

377

299

346

232

185

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.27.

59

Paso 11: intercambio

346
266

242

328
339
126

296
377

124

112

299
70

61

340
239

232

294

185

177

161

46

Vector:
346

266

3.4.28.

242

328

296

340

294

339

377

299

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 11: swapdown

242
266

294

328
339
126

296
377

124

112

299
70

61

340
239

232

346

185

177

161

46

Vector:
242

266

294

328

296

340

346

n II
Algoritmos y Programacio

339

377

299

239

232

185

Facultad de Ingeniera

60

3.4

3.4.29.

Heap Sort descendente

Paso 12: intercambio

299
266

294

328
339
126

296
377

124

112

242
70

61

340
239

232

346

185

177

161

46

Vector:
299

266

3.4.30.

294

328

296

340

346

339

377

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 12: swapdown

266
296

294

328
339
126

299
377

124

112

242
70

61

340
239

232

346

185

177

161

46

Vector:
266

296

294

328

Enrique P. Calot

299

340

346

339

377

242

239

232

185

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.31.

61

Paso 13: intercambio

377
296

294

328

299

339
126

266

124

112

340

242
70

61

239

232

346

185

177

161

46

Vector:
377

296

3.4.32.

294

328

299

340

346

339

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 13: swapdown

294
296

340

328

299

339
126

124

266
112

242
70

61

377
239

232

346

185

177

161

46

Vector:
294

296

340

328

299

377

346

n II
Algoritmos y Programacio

339

266

242

239

232

185

Facultad de Ingeniera

62

3.4

3.4.33.

Heap Sort descendente

Paso 14: intercambio

339
296

340

328

299

294
126

266

124

112

242
70

61

377
239

232

346

185

177

161

46

Vector:
339

296

3.4.34.

340

328

299

377

346

294

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 14: swapdown

296
299

340

328

339

294
126

124

266
112

242
70

61

377
239

232

346

185

177

161

46

Vector:
296

299

340

328

Enrique P. Calot

339

377

346

294

266

242

239

232

185

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.35.

63

Paso 15: intercambio

346
299

340

328

339

294
126

266

124

112

242
70

61

377
239

232

296

185

177

161

46

Vector:
346

299

3.4.36.

340

328

339

377

296

294

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 15: swapdown

299
328

340

346

339

294
126

124

266
112

242
70

61

377
239

232

296

185

177

161

46

Vector:
299

328

340

346

339

377

296

n II
Algoritmos y Programacio

294

266

242

239

232

185

Facultad de Ingeniera

64

3.4

3.4.37.

Heap Sort descendente

Paso 16: intercambio

377
328

340

346

339

294
126

266

124

112

242
70

61

299
239

232

296

185

177

161

46

Vector:
377

328

3.4.38.

340

346

339

299

296

294

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 16: swapdown

328
339

340

346

377

294
126

124

266
112

242
70

61

299
239

232

185

296
177

161

46

Vector:
328

339

340

346

Enrique P. Calot

377

299

296

294

266

242

239

232

185

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.39.

65

Paso 17: intercambio

377
339

340

346

328

294
126

266

124

112

242
70

61

299
239

232

296

185

177

161

46

Vector:
377

339

3.4.40.

340

346

328

299

296

294

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 17: swapdown

339
346

340

377

328

294
126

124

266
112

242
70

61

299
239

232

185

296
177

161

46

Vector:
339

346

340

377

328

299

296

n II
Algoritmos y Programacio

294

266

242

239

232

185

Facultad de Ingeniera

66

3.4

3.4.41.

Heap Sort descendente

Paso 18: intercambio

377
346

340

339

328

294
126

266

124

112

242
70

299
239

61

46

299

296

232

296

185

177

161

Vector:
377

346

3.4.42.

340

339

328

294

266

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 18: swapdown

340
346

377

339

328

294
126

124

266
112

242
70

61

46

299

296

299
239

232

185

296
177

161

Vector:
340

346

377

339

Enrique P. Calot

328

294

266

242

239

232

185

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.43.

67

Paso 19: intercambio

377
346

340

339
294
126

328
266

124

112

242
70

61

46

328

299

296

299
239

232

294

266

296

185

177

161

Vector:
377

346

3.4.44.

340

339

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 19: swapdown

346
377

340

339
294
126

328
266

124

112

242
70

61

46

328

299

296

299
239

232

294

266

185

296
177

161

Vector:
346

377

340

339

n II
Algoritmos y Programacio

242

239

232

185

Facultad de Ingeniera

68

3.5

3.4.45.

Merge Polif
asico de las salidas por selecci
on natural

Paso 20: intercambio


377
346

340

339

328

294
126

266

242

124

112

70

61

46

340

339

328

299

296

299
239

232

294

266

296

185

177

161

Vector:
377

346

3.4.46.

242

239

232

185

177

161

126

124

112

70

61

46

177

161

126

124

112

70

61

46

Paso 20: swapdown


377
346

340

339

328

294
126

266

124

112

340

339

242
70

61

46

299

296

299
239

232

294

266

185

296
177

161

Vector:
377

3.5.

346

328

242

239

232

185

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

Fases
0
1
3.5.2.

c1
1
1

c2
0
1

69

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.5.3.

Fase 1

E1
61, 185, 296, 299,
328, 340, 346, 377

E2
46, 112, 124, 126,
161, 232, 239, 242,
266, 294, 339

E3
70, 177

E1
61, 185, 296, 299,
328, 340, 346, 377

E2
46, 112, 124, 126,
161, 232, 239, 242,
266, 294, 339

E3
70, 177

E2

E3

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.5.4.

3.6.

Fase final

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 = {61, 185, 296, 299, 377}; p2 = {112, 126, 340}; . . . ; p6 = {161, 232}; p7 = {177, 294, 339}.
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.
P3
<7
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
Si
2
2
2
1
5
Si
3
4
3
2
9
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

70

3.7

3.6.2.

Merge Polif
asico completo con particiones formadas de 1 elemento

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.6.3.

Fase 1

E1
D
112, 126, 340
46, 70, 239, 242, 266
177, 294, 339

E2
D
124
161, 232

E3
61, 185, 296, 299, 377
328, 346

E1
D
112, 126, 340

E2
D
124

E3
61, 185, 296, 299, 377
328, 346

E1
46, 70, 239, 242, 266
177, 294, 339

E2
161, 232

S
61, 185, 296, 299, 377
112, 124, 126, 328,
340, 346
E3
61, 185, 296, 299, 377
112, 124, 126, 328,
340, 346

E1
D
112, 126, 340

E2
D
124

E3
61, 185, 296, 299, 377
328, 346

E1
46, 70, 239, 242, 266

E2
161, 232

E1
177, 294, 339

S
46, 61, 70, 161,
232, 239, 242,
296, 299, 377
E2
46, 61, 70, 161,
232, 239, 242,
296, 299, 377

3.6.4.

3.6.5.

3.7.

Fase 2

Fase 3

185,
266,

185,
266,

S
61, 185, 296, 299, 377
112, 124, 126, 328,
340, 346
E3
61, 185, 296, 299, 377

E3
112, 124, 126, 328,
340, 346

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

3.7.1.

71

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
5

3.7.2.

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

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.3.

Fase 1

E1
D
D
D
D
299
340
124
46
239
266
161
339
177

E2
D
D
D
61
377
112
328
242
70
232
294

n II
Algoritmos y Programacio

E3
D
D
D
185
296
126
346

Facultad de Ingeniera

72

3.7

3.7.4.

Fase 2

E1
D
D
D
D
299
340
124
E1
46
239
266
161
339
177

3.7.5.

Merge Polif
asico completo con particiones formadas de 1 elemento

E2
D
D
D
61
377
112
328
E2
242
70
232
294

E3
D
D
D
185
296
126
346
S

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
296, 299,
112, 126,
124, 328,

E2
D
D
D
61
377
112
328
E2
242
70
232
294
S

E3
D
D
D
185
296
126
346
S
46, 242
70, 239
232, 266
61, 161, 185, 294
E2
46, 242
70, 239
232, 266
61, 161, 185, 294

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
E3
296, 299,
112, 126,
124, 328,

377
340
346

377
340
346

Fase 3

E1
D
D
D
D
299
340
124
E1
46
239
266
161
E1
339
177

Enrique P. Calot

377
340
346

377
340
346

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

3.7.6.

Fase 4

E1
D
D
D
D
299
340
124
E1
46
239
266
161
E1
339
177
S

73

E2
D
D
D
61
377
112
328
E2
242
70
232
294
S
46,
339,
70,
239,
E1
46,
339,
70,
239,

242, 296, 299,


377
112, 126, 177,
340
242, 296, 299,
377
112, 126, 177,
340

n II
Algoritmos y Programacio

E3
D
D
D
185
296
126
346
S
46, 242
70, 239
232, 266
61, 161, 185, 294
E2
46, 242

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
E3
296, 299,

70, 239

112, 126, 340

E2
232, 266

E3
124, 328, 346

61, 161, 185, 294

377
340
346

377

Facultad de Ingeniera

74

3.7

3.7.7.

Merge Polif
asico completo con particiones formadas de 1 elemento

Fase 5

E1
D
D
D
D
299
340
124
E1
46
239
266
161
E1
339
177
S
46,
266,
339,
E3
46,
266,
339,

124, 232, 242,


296, 299, 328,
346, 377
124, 232, 242,
296, 299, 328,
346, 377

Enrique P. Calot

E2
D
D
D
61
377
112
328
E2
242
70
232
294
S
46,
339,
70,
239,
E1
46,
339,

242, 296, 299,


377
112, 126, 177,
340
242, 296, 299,
377

E1
70, 112, 126, 177,
239, 340

E3
D
D
D
185
296
126
346
S
46, 242
70, 239
232, 266
61, 161, 185, 294
E2
46, 242

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
E3
296, 299,

70, 239

112, 126, 340

E2
232, 266

E3
124, 328, 346

E2
61, 161, 185, 294

377
340
346

377

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

3.7.8.

Fase final

E1
D
D
D
D
299
340
124
E1
46
239
266
161
E1
339
177
S
46,
266,
339,
E3
46,
266,
339,

3.8.

75

124, 232, 242,


296, 299, 328,
346, 377
124, 232, 242,
296, 299, 328,
346, 377

E2
D
D
D
61
377
112
328
E2
242
70
232
294
S
46,
339,
70,
239,
E1
46,
339,

E3
D
D
D
185
296
126
346
S
46, 242
70, 239
232, 266
61, 161, 185, 294
E2
46, 242

S
D
D
D
61, 185
296, 299,
112, 126,
124, 328,
E3
D
D
D
61, 185
E3
296, 299,

70, 239

112, 126, 340

E2
232, 266

E3
124, 328, 346

E1
70, 112, 126, 177,
239, 340

E2
61, 161, 185, 294

E1

E2

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E3
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

242, 296, 299,


377
112, 126, 177,
340
242, 296, 299,
377

377
340
346

377

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 = {61, 185}; p2 = {299, 377}; . . . ; p10 = {294, 339}; p11 = {177}.
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

76

3.8

Merge Polif
asico con particiones formadas de 2 elementos

Fases
0
1
2
3
4

3.8.2.

c1
1
1
2
4
7

c2
0
1
2
3
6

P3

i=1 ci

c3
0
1
1
2
4

1
3
5
9
17

< 11
Si
Si
Si
Si
No

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.3.

Fase 1

E1
D
D
61, 185
112, 126
239, 242
161, 232
177

E2
D
D
299, 377
124, 328
70, 266
294, 339

E3
D
D
296, 340
46, 346

E1
D
D
61, 185

E2
D
D
299, 377

E3
D
D
296, 340

112, 126

124, 328

46, 346

E1
239, 242
161, 232
177

E2
70, 266
294, 339

S
D
D
61,
340,
46,
328,
E3
D
D
61,
340,
46,
328,

3.8.4.

Fase 2

Enrique P. Calot

185, 296, 299,


377
112, 124, 126,
346

185, 296, 299,


377
112, 124, 126,
346

n II
Algoritmos y Programacio

3.8

Merge Polif
asico con particiones formadas de 2 elementos

3.8.5.

Fase 3

E1
D
D
61, 185

E2
D
D
299, 377

E3
D
D
296, 340

112, 126

124, 328

46, 346

E1
239, 242
161, 232
E1
177

E2
70, 266
294, 339
S

S
70, 239, 242, 266
161, 232, 294, 339
E2
70, 239, 242, 266

161, 232, 294, 339

E1
D
D
61, 185

E2
D
D
299, 377

E3
D
D
296, 340

112, 126

124, 328

46, 346

E1
239, 242
161, 232
E1
177

E2
70, 266
294, 339
S
61, 70, 177, 185,
242, 266, 296,
340, 377
E1
61, 70, 177, 185,
242, 266, 296,
340, 377

S
70, 239, 242, 266
161, 232, 294, 339
E2
70, 239, 242, 266

3.8.6.

77

S
D
D
61,
340,
46,
328,
E3
D
D
E3
61,
340,
46,
328,

185, 296, 299,


377
112, 124, 126,
346

185, 296, 299,


377
112, 124, 126,
346

Fase 4

n II
Algoritmos y Programacio

239,
299,

239,
299,

E2
161, 232, 294, 339

S
D
D
61,
340,
46,
328,
E3
D
D
E3
61,
340,

185, 296, 299,


377
112, 124, 126,
346

185, 296, 299,


377

E3
46, 112, 124, 126,
328, 346

Facultad de Ingeniera

78

3.9

3.8.7.

Merge Polif
asico con particiones formadas de 3 elementos

Fase final

E1
D
D
61, 185

E2
D
D
299, 377

E3
D
D
296, 340

112, 126

124, 328

46, 346

E1
239, 242
161, 232
E1
177

E2
70, 266
294, 339
S
61, 70, 177, 185,
242, 266, 296,
340, 377
E1
61, 70, 177, 185,
242, 266, 296,
340, 377

S
70, 239, 242, 266
161, 232, 294, 339
E2
70, 239, 242, 266

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.9.

239,
299,

239,
299,

S
D
D
61,
340,
46,
328,
E3
D
D
E3
61,
340,

185, 296, 299,


377
112, 124, 126,
346

185, 296, 299,


377

E2
161, 232, 294, 339

E3
46, 112, 124, 126,
328, 346

E2

E3

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 = {61, 185, 299}; p2 = {296, 340, 377}; . . . ; p6 = {161, 232, 266}; p7 = {177, 294, 339}.

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.
Fases
0
1
2
3
Enrique P. Calot

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

3.9

Merge Polif
asico con particiones formadas de 3 elementos

3.9.2.

79

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.3.

Fase 1

E1
D
296, 340, 377
70, 239, 242
177, 294, 339

E2
D
112, 124, 126
161, 232, 266

E3
61, 185, 299
46, 328, 346

E1
D
296, 340, 377

E2
D
112, 124, 126

E3
61, 185, 299
46, 328, 346

E1
70, 239, 242
177, 294, 339

E2
161, 232, 266

S
61, 185, 299
46, 112, 124,
296, 328, 340,
377
E3
61, 185, 299
46, 112, 124,
296, 328, 340,
377

E1
D
296, 340, 377

E2
D
112, 124, 126

E3
61, 185, 299
46, 328, 346

E1
70, 239, 242

E2
161, 232, 266

E1
177, 294, 339

S
61, 70, 161, 185, 232,
239, 242, 266, 299
E2
61, 70, 161, 185, 232,
239, 242, 266, 299

3.9.4.

3.9.5.

Fase 2

126,
346,

126,
346,

Fase 3

n II
Algoritmos y Programacio

S
61, 185, 299
46, 112, 124, 126,
296, 328, 340, 346,
377
E3
61, 185, 299
E3
46, 112, 124, 126,
296, 328, 340, 346,
377
Facultad de Ingeniera

80

3.10

3.9.6.

Merge Polif
asico con particiones formadas de 4 elementos

Fase final

E1
D
296, 340, 377

E2
D
112, 124, 126

E3
61, 185, 299
46, 328, 346

E1
70, 239, 242

E2
161, 232, 266

E1
177, 294, 339

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

S
61, 70, 161, 185, 232,
239, 242, 266, 299
E2
61, 70, 161, 185, 232,
239, 242, 266, 299

3.10.

E2

S
61, 185, 299
46, 112, 124, 126,
296, 328, 340, 346,
377
E3
61, 185, 299
E3
46, 112, 124, 126,
296, 328, 340, 346,
377

E3

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 = {61, 185, 299, 377}; p2 = {112, 126, 296, 340}; p3 = {46, 124, 328, 346}; p4 =
{70, 239, 242, 266}; p5 = {161, 232, 294, 339}; p6 = {177}.
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.
Fases
0
1
2
3
3.10.2.

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

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

3.10.3.

81

Fase 1

E1
D
61, 185, 299, 377
70, 239, 242, 266
177

E2
D
112, 126, 296, 340
161, 232, 294, 339

E3
D
46, 124, 328, 346

E1
D
61, 185, 299, 377

E2
D
112, 126, 296, 340

E3
D
46, 124, 328, 346

E1
70, 239, 242, 266
177

E2
161, 232, 294, 339

S
D
46, 61, 112, 124,
185, 296, 299,
340, 346, 377
E3
D
46, 61, 112, 124,
185, 296, 299,
340, 346, 377

E1
D
61, 185, 299, 377

E2
D
112, 126, 296, 340

E3
D
46, 124, 328, 346

E1
70, 239, 242, 266

E2
161, 232, 294, 339

E1
177

S
70,
242,
E2
70,
242,

3.10.4.

3.10.5.

Fase 2

126,
328,

126,
328,

Fase 3

n II
Algoritmos y Programacio

161, 232, 239,


266, 294, 339
161, 232, 239,
266, 294, 339

S
D
46, 61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377
E3
D
E3
46, 61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377
Facultad de Ingeniera

82

3.11

3.10.6.

Selecci
on de reemplazo con buffer de tama
no 2

Fase final

E1
D
61, 185, 299, 377

E2
D
112, 126, 296, 340

E3
D
46, 124, 328, 346

E1
70, 239, 242, 266

E2
161, 232, 294, 339

E1
177

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

S
70,
242,
E2
70,
242,

3.11.

161, 232, 239,


266, 294, 339
161, 232, 239,
266, 294, 339

E2

S
D
46, 61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377
E3
D
E3
46, 61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377

E3

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.
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

83

b1
b2
Sale
Entra

Nada
61
61

Nada
185
61
185
61
299
299
185
185
377
299
377
299
296
296
377
377
340
296
340
Nueva partici
on! Se cierra la partici
on p1 = {61, 185, 299, 377}
296
112
112
340
340
126
112
126
Nueva partici
on! Se cierra la partici
on p2 = {296, 340}
112
124
124
126
124
328
328
126
126
346
328
346
328
46
46
346
346
242
46
242
Nueva partici
on! Se cierra la partici
on p3 = {112, 124, 126, 328, 346}
46
239
239
242
239
70
70
242
242
266
70
266
266
232
70
232
Nueva partici
on! Se cierra la partici
on p4 = {46, 239, 242, 266}
70
161
161
232
161
294
294
232
232
339
294
339
294
177
177
339
339
Nada
177

Nueva partici
on! Se cierra la partici
on p5 = {70, 161, 232, 294, 339}
177
Nada
Finaliza la u
ltima partici
on en p6 = {177}

3.11.2.

Salida final

p1 = {61, 185, 299, 377};


p2 = {296, 340};
p3 = {112, 124, 126, 328, 346};
p4 = {46, 239, 242, 266};
p5 = {70, 161, 232, 294, 339};
p6 = {177}.

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

84

3.12

3.12.1.

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

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

3.12.2.

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

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.3.

Fase 1

E1
D
61, 185, 299, 377

E2
D
296, 340

46, 239, 242, 266


177

70, 161, 232, 294, 339

3.12.4.

E3
D
112, 124, 126, 328,
346

Fase 2

E1
D
61, 185, 299, 377

E2
D
296, 340

E3
D
112, 124, 126, 328,
346

E1
46, 239, 242, 266
177

E2
70, 161, 232, 294, 339

Enrique P. Calot

S
D
61,
185,
340,
E3
D
61,
185,
340,

112, 124, 126,


296, 299, 328,
346, 377

112, 124, 126,


296, 299, 328,
346, 377

n II
Algoritmos y Programacio

3.13

Selecci
on Natural con buffers de tama
no 2

3.12.5.

Fase 3

E1
D
61, 185, 299, 377

E2
D
296, 340

E3
D
112, 124, 126, 328,
346

E1
46, 239, 242, 266

E2
70, 161, 232, 294, 339

E1
177

S
46, 70, 161, 232, 239,
242, 266, 294, 339
E2
46, 70, 161, 232, 239,
242, 266, 294, 339

3.12.6.

S
D
61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377
E3
D
E3
61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377

Fase final

E1
D
61, 185, 299, 377

E2
D
296, 340

E3
D
112, 124, 126, 328,
346

E1
46, 239, 242, 266

E2
70, 161, 232, 294, 339

E1
177

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

S
46, 70, 161, 232, 239,
242, 266, 294, 339
E2
46, 70, 161, 232, 239,
242, 266, 294, 339

3.13.

85

E2

S
D
61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377
E3
D
E3
61, 112, 124, 126,
185, 296, 299, 328,
340, 346, 377

E3

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.13.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

86

3.14

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

b1
b2
a1
a2
Sale

Nada
61

Nada
61
185

61
299
185

185
299
377

299

377
296

Nada
340
377
296

340

377
296
112
377
296
112

Nueva partici
on! Se cierra la partici
on p1 = {61, 185, 299, 340, 377}
112
296
126

126
296

124

Nada
296
328
124

296
346
328
124

328
346

124
46
346
124
46

Nueva partici
on! Se cierra la partici
on p2 = {112, 126, 296, 328, 346}
46
124
242

124
239
242

239

242
70

Nada
266
242
70

242
266

70
232
266
70
232

Nueva partici
on! Se cierra la partici
on p3 = {46, 124, 239, 242, 266}
70
161
232

161
294
232

232
294
339

294

339
177

339
177

Nueva partici
on! Se cierra la partici
on p4 = {70, 161, 232, 294, 339}
177
Finaliza la u
ltima partici
on en p5 = {177}

3.13.2.

Entra
61
185
299
377
296
340
112
Nada

126
124
328
346
46
Nada

242
239
70
266
232
Nada

161
294
339
177
Nada

Nada

Salida final

p1 = {61, 185, 299, 340, 377};


p2 = {112, 126, 296, 328, 346};
p3 = {46, 124, 239, 242, 266};
p4 = {70, 161, 232, 294, 339};
p5 = {177}.

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.
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

3.14.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

87

<5
Si
Si
No

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.3.

Fase 1

E1
61, 185, 299, 340, 377

E2
112, 126, 296, 328,
346
177

E3
46, 124, 239, 242, 266

E1
61, 185, 299, 340, 377

E2
112, 126, 296, 328,
346

E3
46, 124, 239, 242, 266

E1
70, 161, 232, 294, 339

E2
177

S
46, 61, 112, 124,
185, 239, 242,
296, 299, 328,
346, 377
E3
46, 61, 112, 124,
185, 239, 242,
296, 299, 328,
346, 377

70, 161, 232, 294, 339

3.14.4.

Fase 2

n II
Algoritmos y Programacio

126,
266,
340,

126,
266,
340,

Facultad de Ingeniera

88

3.15

3.14.5.

Selecci
on de reemplazo con buffer de tama
no 3

Fase final

E1
61, 185, 299, 340, 377

E2
112, 126, 296, 328,
346

E3
46, 124, 239, 242, 266

E1
70, 161, 232, 294, 339

E2
177

E2

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.15.

S
46, 61, 112, 124,
185, 239, 242,
296, 299, 328,
346, 377
E3
46, 61, 112, 124,
185, 239, 242,
296, 299, 328,
346, 377

126,
266,
340,

126,
266,
340,

E3

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

89

b1
b2
b3
Sale
Entra

Nada
61
61

Nada
185
61
185

Nada
299
61
185
299
61
377
377
185
299
185
296
377
296
299
296
340
377
340
299
299
112
377
340
112
340
126
377
126
112
377
124
124
126
112
Nueva
partici
on!
Se
cierra
la
partici
on
p1
=
{61, 185, 296, 299, 340, 377}
112
328
124
126
328
124
346
346
126
328
126
46
346
46
328
328
242
346
46
242
346
239
239
46
242
Nueva partici
on! Se cierra la partici
on p2 = {112, 124, 126, 328, 346}
46
70
239
70
242
70
266
239
266
242
239
232
232
266
242
242
161
232
266
161
266
294
232
294
161
294
339
232
339
161
339
177
232
177
161
Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{46, 70, 239, 242, 266, 294, 339}
161
Nada
232
177

177
Nada
232

232
Nada
Finaliza la u
ltima partici
on en p4 = {161, 177, 232}

3.15.2.

Salida final

p1 = {61, 185, 296, 299, 340, 377};


p2 = {112, 124, 126, 328, 346};
p3 = {46, 70, 239, 242, 266, 294, 339};
p4 = {161, 177, 232}.

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

90

3.16

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

Fases
0
1
2
3.16.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
61, 185, 296, 299,
340, 377
161, 177, 232

E3
112, 124, 126, 328,
346

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 328,
346

E1
46, 70, 239, 242, 266,
294, 339

E2
161, 177, 232

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 328,
346

E1
46, 70, 239, 242, 266,
294, 339

E2
161, 177, 232

E2

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

46, 70, 239, 242, 266,


294, 339
3.16.4.

3.16.5.

Fase 2
S
61,
185,
340,
E3
61,
185,
340,

112, 124, 126,


296, 299, 328,
346, 377
112, 124, 126,
296, 299, 328,
346, 377

Fase final

Enrique P. Calot

S
61,
185,
340,
E3
61,
185,
340,

112, 124, 126,


296, 299, 328,
346, 377
112, 124, 126,
296, 299, 328,
346, 377

E3

n II
Algoritmos y Programacio

3.17

Selecci
on Natural con buffers de tama
no 3

3.17.

91

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.
b1
b2
b3
a1
a2
a3
Sale

Nada
61

Nada
61
185

Nada
61
185
299

61
377
185
299

185
377
296
299

296
377
340
299

299
377
340

112

Nada
377
340

112
126

Nada
377
340

112
126
124
340
377

112
126
124
377
112
126
124

Nueva partici
on! Se cierra la partici
on p1 = {61, 185, 296, 299, 340, 377}
112
328
126
124

124
328
126
346

126
328

346
46

Nada
328
242
346
46

242
328

346
46
239

Nada
328

346
46
239
70
328

346
46
239
70
346
46
239
70

Nueva partici
on! Se cierra la partici
on p2 = {112, 124, 126, 242, 328, 346}
46
266
239
70

70
266
239
232

232
266
239

161

Nada
266
239
294
161

239
266
339
294
161

266

339
294
161
177

294

339

161
177

339
161
177

Nueva partici
on! Se cierra la partici
on p3 = {46, 70, 232, 239, 266, 294, 339}
161

177

177
Finaliza la u
ltima partici
on en p4 = {161, 177}

3.17.2.

Entra
61
185
299
377
296
340
112
126
124
Nada
Nada

328
346
46
242
239
70
Nada
Nada

266
232
161
294
339
177
Nada
Nada

Nada
Nada

Salida final

p1 = {61, 185, 296, 299, 340, 377};


p2 = {112, 124, 126, 242, 328, 346};
p3 = {46, 70, 232, 239, 266, 294, 339};
p4 = {161, 177}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

92

3.18

3.18.

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

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.
Fases
0
1
2

3.18.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
61, 185, 296, 299,
340, 377
161, 177

E3
112, 124, 126, 242,
328, 346

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 242,
328, 346

E1
46, 70, 232, 239, 266,
294, 339

E2
161, 177

S
61,
185,
328,
E3
61,
185,
328,

46, 70, 232, 239, 266,


294, 339

3.18.4.

Fase 2

Enrique P. Calot

112, 124, 126,


242, 296, 299,
340, 346, 377
112, 124, 126,
242, 296, 299,
340, 346, 377

n II
Algoritmos y Programacio

3.19

Selecci
on de reemplazo con buffer de tama
no 4

3.18.5.

Fase final

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 242,
328, 346

E1
46, 70, 232, 239, 266,
294, 339

E2
161, 177

E2

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.19.

93

S
61,
185,
328,
E3
61,
185,
328,

112, 124, 126,


242, 296, 299,
340, 346, 377
112, 124, 126,
242, 296, 299,
340, 346, 377

E3

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

Facultad de Ingeniera

94

3.20

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

b1
b2
b3
b4
Sale

Nada
61

Nada
61
185

Nada
61
185
299

Nada
61
185
299
377
61
296
185
299
377
185
296
340
299
377
296
112
340
299
377
299
112
340
126
377
340
112
124
126
377
377
112
124
126
328
Nueva
partici
on!
Se
cierra
la
{61, 185, 296, 299, 340, 377}
112
346
124
126
328
124
346
46
126
328
126
346
46
242
328
242
346
46
239
328
328
346
46
239
70
346
266
46
239
70
Nueva
partici
on!
Se
cierra
la
{112, 124, 126, 242, 328, 346}
46
266
232
239
70
70
266
232
239
161
161
266
232
239
294
232
266
339
239
294
239
266
339
177
294
266

339
177
294
294

339
177

339

177

Nueva
partici
on!
Se
cierra
la
{46, 70, 161, 232, 239, 266, 294, 339}
177
Finaliza la u
ltima partici
on en p4 = {177}

3.19.2.

Entra
61
185
299
377
296
340
112
126
124
328
partici
on

p1

p2

p3

346
46
242
239
70
266
partici
on
232
161
294
339
177
Nada
Nada
Nada
partici
on
Nada

Salida final

p1 = {61, 185, 296, 299, 340, 377};


p2 = {112, 124, 126, 242, 328, 346};
p3 = {46, 70, 161, 232, 239, 266, 294, 339};
p4 = {177}.

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.
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

Fases
0
1
2
3.20.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

95

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
61, 185, 296, 299,
340, 377
177

E3
112, 124, 126, 242,
328, 346

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 242,
328, 346

E1
46, 70, 161, 232, 239,
266, 294, 339

E2
177

S
61,
185,
328,
E3
61,
185,
328,

E1
D

E2
61, 185, 296, 299,
340, 377

E3
112, 124, 126, 242,
328, 346

E1
46, 70, 161, 232, 239,
266, 294, 339

E2
177

E2

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

46, 70, 161, 232, 239,


266, 294, 339
3.20.4.

3.20.5.

Fase 2
112, 124, 126,
242, 296, 299,
340, 346, 377
112, 124, 126,
242, 296, 299,
340, 346, 377

Fase final

n II
Algoritmos y Programacio

S
61,
185,
328,
E3
61,
185,
328,

112, 124, 126,


242, 296, 299,
340, 346, 377
112, 124, 126,
242, 296, 299,
340, 346, 377

E3

Facultad de Ingeniera

96

3.21

3.21.

Selecci
on Natural con buffers de tama
no 4

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.
a2
a3
a4
Sale
Entra

Nada
61

Nada
185

Nada
299

Nada
377

61
296

185
340

296
112

Nada
126
126

Nada
124
126
124

Nada
328
126
124

299
346
126
124

328
46
126
124
46
340
Nada
126
124
46
346
Nada
126
124
46
377
Nada

p1 = {61, 185, 296, 299, 328, 340, 346, 377}


46
242
112
126
124
242

112
239
239
126
124
242

124
70
239
126

242
70

Nada
266
239
126
266
242
70

126
232
239
232
266
242
70

232
161
239

266
242
70
161

Nada
294
239
294
266
242
70
161

239
339
339
294
266
242
70
161

242
177
339
294
266

70
161
177

266
Nada
339
294

70
161
177

294
Nada
339

70
161
177

339
Nada
70
161
177

Nueva partici
on! Se cierra la partici
on p2 = {46, 112, 124, 126, 232, 239, 242, 266, 294, 339}
70
Nada

161
177

161
Nada

177

177
Nada
Finaliza la u
ltima partici
on en p3 = {70, 161, 177}
b1
b2
b3
b4
a1

61

61
185

61
185
299

61
185
299
377

296
185
299
377

296
340
299
377

340
299
377
112

340
299
377
112

340
299
377
112
328
340
299
377
112
328
340
346
377
112

340
346
377
112

346
377
112

377
112
112
126
124
46

Nueva partici
on! Se cierra la partici
on

3.21.2.

Salida final

p1 = {61, 185, 296, 299, 328, 340, 346, 377};


p2 = {46, 112, 124, 126, 232, 239, 242, 266, 294, 339};
p3 = {70, 161, 177}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.23

Selecci
on de reemplazo con buffer de tama
no 5

3.22.1.

97

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
3.22.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.3.

Fase 1

E1
61, 185, 296, 299,
328, 340, 346, 377

E2
46, 112, 124, 126,
232, 239, 242, 266,
294, 339

E3
70, 161, 177

E1
61, 185, 296, 299,
328, 340, 346, 377

E2
46, 112, 124, 126,
232, 239, 242, 266,
294, 339

E3
70, 161, 177

E2

E3

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.22.4.

3.23.

Fase final

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

Facultad de Ingeniera

98

3.24

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

b1
b2
b3
b4
b5

61

61
185

61
185
299

61
185
299
377

61
185
299
377
296
340
185
299
377
296
340
112
299
377
296
340
112
299
377
126
340
112
124
377
126
328
112
124
377
126
328
112
124
346
126
Nueva
partici
on!
Se
cierra
{61, 185, 296, 299, 340, 377}
328
46
124
346
126
328
46
242
346
126
328
46
242
346
239
328
46
242
346
70
328
46
266
346
70
328
46
232
346
70
161
46
232
346
70
161
46
232
294
70
Nueva
partici
on!
Se
cierra
{112, 124, 126, 239, 242, 266, 328, 346}
161
161

Finaliza

3.23.2.

Sale
Nada
Nada
Nada
Nada
Nada
61
185
296
299
340
377
la

Entra
61
185
299
377
296
340
112
126
124
328
346

partici
on
112
124
126
239
242
266
328
346

la

p1

46
242
239
70
266
232
161
294

partici
on

p2

46
339
339
232
294
70
70
177
339
232
294
177
161
Nada
339
232
294
177
177
Nada
339
232
294

232
Nada
339

294

294
Nada
339

339
Nada
la u
ltima partici
on en p3 = {46, 70, 161, 177, 232, 294, 339}

Salida final

p1 = {61, 185, 296, 299, 340, 377};


p2 = {112, 124, 126, 239, 242, 266, 328, 346};
p3 = {46, 70, 161, 177, 232, 294, 339}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.25

Selecci
on de reemplazo con buffer de tama
no 6

3.24.2.

99

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.3.

Fase 1

E1
61, 185, 296, 299,
340, 377

E2
112, 124, 126, 239,
242, 266, 328, 346

E3
46, 70, 161, 177, 232,
294, 339

E1
61, 185, 296, 299,
340, 377

E2
112, 124, 126, 239,
242, 266, 328, 346

E3
46, 70, 161, 177, 232,
294, 339

E2

E3

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.24.4.

3.25.

Fase final

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

100

3.26

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

b1
b2
b3
b4
b5
b6
Sale

Nada
61

Nada
61
185

Nada
61
185
299

Nada
61
185
299
377

Nada
61
185
299
377
296

Nada
61
185
299
377
296
340
61
112
185
299
377
296
340
112
126
185
299
377
296
340
126
124
185
299
377
296
340
185
124
328
299
377
296
340
296
124
328
299
377
346
340
299
124
328
46
377
346
340
328
124
242
46
377
346
340
340
124
242
46
377
346
239
346
124
242
46
377
70
239
377
124
242
46
266
70
239
Nueva
partici
on!
Se
cierra
la
partici
on
{61, 112, 126, 185, 296, 299, 328, 340, 346, 377}
46
124
242
232
266
70
239
70
124
242
232
266
161
239
124
294
242
232
266
161
239
161
294
242
232
266
339
239
232
294
242
177
266
339
239
239
294
242
177
266
339

242
294

177
266
339

266
294

177

339

294

177

339

339

177

Nueva
partici
on!
Se
cierra
la
partici
on
{46, 70, 124, 161, 232, 239, 242, 266, 294, 339}
177
Finaliza la u
ltima partici
on en p3 = {177}

3.25.2.

Entra
61
185
299
377
296
340
112
126
124
328
346
46
242
239
70
266
p1

232
161
294
339
177
Nada
Nada
Nada
Nada
Nada
p2

Nada

Salida final

p1 = {61, 112, 126, 185, 296, 299, 328, 340, 346, 377};
p2 = {46, 70, 124, 161, 232, 239, 242, 266, 294, 339};
p3 = {177}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.27

Selecci
on Natural con buffers de tama
no 6

3.26.2.

101

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.26.3.

Fase 1

E1
61, 112, 126, 185,
296, 299, 328, 340,
346, 377

E2
46, 70, 124, 161, 232,
239, 242, 266, 294,
339

E3
177

E1
61, 112, 126, 185,
296, 299, 328, 340,
346, 377

E2
46, 70, 124, 161, 232,
239, 242, 266, 294,
339

E3
177

E2

E3

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.26.4.

3.27.

Fase final

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

102

3.28

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

b1

61
61
61
61
61
61
112
126

328
328
328
328
328
328
328
328

124
Nueva

b2
b3
b4
b5
b6
a1
a2
a3
a4
a5
a6

185

185
299

185
299
377

185
299
377
296

185
299
377
296
340

185
299
377
296
340

185
299
377
296
340

185
299
377
296
340
124

185
299
377
296
340
124

346
299
377
296
340
124

346
299
377

340
124
46

346
299
377

340
124
46
242

346
299
377

340
124
46
242
239

346
299
377

340
124
46
242
239
70

346
299
377

340
124
46
242
239
70
266
346

377

340
124
46
242
239
70
266
346

377

340
124
46
242
239
70
266
346

377

124
46
242
239
70
266

377

124
46
242
239
70
266
46
242
239
70
266

partici
on! Se cierra la partici
on p1 = {61, 112, 126, 185, 296, 299, 328, 340, 346, 377}

124
124
294
294
294
294
294
294

177
Nueva

232
242
239
70
232
242
239
161
232
242
239
161
232
242
239
339

242
239
339

242

339

339

339

339

partici
on! Se cierra la partici
on

266

266

266

266

266
177

266
177

266
177

177

177

p2 = {46, 70, 124, 161, 232, 239, 242, 266, 294, 339}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
61
112
126
Nada
185
296
Nada
Nada
Nada
Nada
299
328
340
346
377

Entra
61
185
299
377
296
340
112
126
124
328
346
46
242
239
70
266
Nada
Nada
Nada
Nada
Nada

46
70
124
161
232
239
242
266
294
339

232
161
294
339
177
Nada
Nada
Nada
Nada
Nada

177

Nada

Finaliza la u
ltima partici
on en p3 = {177}

3.27.2.

Salida final

p1 = {61, 112, 126, 185, 296, 299, 328, 340, 346, 377};
p2 = {46, 70, 124, 161, 232, 239, 242, 266, 294, 339};
p3 = {177}.

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.
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

3.28.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

103

<3
Si
No

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.28.3.

Fase 1

E1
61, 112, 126, 185,
296, 299, 328, 340,
346, 377

E2
46, 70, 124, 161, 232,
239, 242, 266, 294,
339

E3
177

E1
61, 112, 126, 185,
296, 299, 328, 340,
346, 377

E2
46, 70, 124, 161, 232,
239, 242, 266, 294,
339

E3
177

E2

E3

S
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377
E1
46, 61, 70, 112, 124,
126, 161, 177, 185,
232, 239, 242, 266,
294, 296, 299, 328,
339, 340, 346, 377

3.28.4.

Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

104

3.29

3.29.

Bubble Sort ascendente

3.29.1.

Desarrollo

Bubble Sort ascendente

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

17/20

61 185 299 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177 377

15/19

61 185 296 299 112 126 124 328 340 46 242 239 70 266 232 161 294 339 177 346 377

13/18

61 185 296 112 126 124 299 328 46 242 239 70 266 232 161 294 339 177 340 346 377

12/17

61 185 112 126 124 296 299 46 242 239 70 266 232 161 294 328 177 339 340 346 377

12/16

61 112 126 124 185 296 46 242 239 70 266 232 161 294 299 177 328 339 340 346 377

10/15

61 112 124 126 185 46 242 239 70 266 232 161 294 296 177 299 328 339 340 346 377

6/14

61 112 124 126 46 185 239 70 242 232 161 266 294 177 296 299 328 339 340 346 377

5/13

61 112 124 46 126 185 70 239 232 161 242 266 177 294 296 299 328 339 340 346 377

5/12

61 112 46 124 126 70 185 232 161 239 242 177 266 294 296 299 328 339 340 346 377

4/11

10

61 46 112 124 70 126 185 161 232 239 177 242 266 294 296 299 328 339 340 346 377

4/10

11

46 61 112 70 124 126 161 185 232 177 239 242 266 294 296 299 328 339 340 346 377

2/9

12

46 61 70 112 124 126 161 185 177 232 239 242 266 294 296 299 328 339 340 346 377

1/8

13

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/7

14

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/6

15

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/5

16

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/4

17

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/3

18

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/2

19

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/1

20

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.30

Bubble Sort descendente

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

105

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

19/20

185 299 377 296 340 112 126 124 328 346 61 242 239 70 266 232 161 294 339 177 46

17/19

299 377 296 340 185 126 124 328 346 112 242 239 70 266 232 161 294 339 177 61 46

12/18

377 299 340 296 185 126 328 346 124 242 239 112 266 232 161 294 339 177 70 61 46

11/17

377 340 299 296 185 328 346 126 242 239 124 266 232 161 294 339 177 112 70 61 46

10/16

377 340 299 296 328 346 185 242 239 126 266 232 161 294 339 177 124 112 70 61 46

10/15

377 340 299 328 346 296 242 239 185 266 232 161 294 339 177 126 124 112 70 61 46

7/14

377 340 328 346 299 296 242 239 266 232 185 294 339 177 161 126 124 112 70 61 46

4/13

377 340 346 328 299 296 242 266 239 232 294 339 185 177 161 126 124 112 70 61 46

4/12

377 346 340 328 299 296 266 242 239 294 339 232 185 177 161 126 124 112 70 61 46

2/11

10

377 346 340 328 299 296 266 242 294 339 239 232 185 177 161 126 124 112 70 61 46

2/10

11

377 346 340 328 299 296 266 294 339 242 239 232 185 177 161 126 124 112 70 61 46

2/9

12

377 346 340 328 299 296 294 339 266 242 239 232 185 177 161 126 124 112 70 61 46

1/8

13

377 346 340 328 299 296 339 294 266 242 239 232 185 177 161 126 124 112 70 61 46

1/7

14

377 346 340 328 299 339 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

1/6

15

377 346 340 328 339 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

1/5

16

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/4

17

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/3

18

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/2

19

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/1

20

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

106

3.31

3.31.

Bilateral Bubble Sort ascendente

3.31.1.

Desarrollo

Bilateral Bubble Sort ascendente

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

17/20

61 185 299 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177 377

16/20

46 61 185 299 296 340 112 126 124 328 346 70 242 239 161 266 232 177 294 339 377

14/18

46 61 185 296 299 112 126 124 328 340 70 242 239 161 266 232 177 294 339 346 377

12/18

46 61 70 185 296 299 112 126 124 328 340 161 242 239 177 266 232 294 339 346 377

11/16

46 61 70 185 296 112 126 124 299 328 161 242 239 177 266 232 294 339 340 346 377

8/16

46 61 70 112 185 296 124 126 161 299 328 177 242 239 232 266 294 339 340 346 377

9/14

46 61 70 112 185 124 126 161 296 299 177 242 239 232 266 294 328 339 340 346 377

5/14

46 61 70 112 124 185 126 161 177 296 299 232 242 239 266 294 328 339 340 346 377

8/12

46 61 70 112 124 126 161 177 185 296 232 242 239 266 294 299 328 339 340 346 377

2/12

10

46 61 70 112 124 126 161 177 185 232 296 239 242 266 294 299 328 339 340 346 377

4/10

11

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/10

12

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/8

13

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/8

14

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/6

15

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/6

16

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/4

17

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/4

18

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/2

19

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

0/2

20

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

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

107

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

19/20

185 299 377 296 340 112 126 124 328 346 61 242 239 70 266 232 161 294 339 177 46

16/20

377 185 299 346 296 340 112 126 124 328 339 61 242 239 70 266 232 161 294 177 46

16/18

377 299 346 296 340 185 126 124 328 339 112 242 239 70 266 232 161 294 177 61 46

13/18

377 346 299 340 296 339 185 126 124 328 294 112 242 239 70 266 232 161 177 61 46

10/16

377 346 340 299 339 296 185 126 328 294 124 242 239 112 266 232 161 177 70 61 46

9/16

377 346 340 339 299 328 296 185 126 294 266 124 242 239 112 232 177 161 70 61 46

8/14

377 346 340 339 328 299 296 185 294 266 126 242 239 124 232 177 161 112 70 61 46

3/14

377 346 340 339 328 299 296 294 185 266 242 126 239 232 124 177 161 112 70 61 46

6/12

377 346 340 339 328 299 296 294 266 242 185 239 232 126 177 161 124 112 70 61 46

2/12

10

377 346 340 339 328 299 296 294 266 242 239 185 232 177 126 161 124 112 70 61 46

2/10

11

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/10

12

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/8

13

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/8

14

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/6

15

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/6

16

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/4

17

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/4

18

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/2

19

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/2

20

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

108

3.33

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

Selection Sort ascendente

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

1/20

377 185 299 61 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

1/19

377 346 299 61 296 340 112 126 124 328 185 46 242 239 70 266 232 161 294 339 177

1/18

377 346 340 61 296 299 112 126 124 328 185 46 242 239 70 266 232 161 294 339 177

1/17

377 346 340 339 296 299 112 126 124 328 185 46 242 239 70 266 232 161 294 61 177

1/16

377 346 340 339 328 299 112 126 124 296 185 46 242 239 70 266 232 161 294 61 177

1/15

377 346 340 339 328 299 112 126 124 296 185 46 242 239 70 266 232 161 294 61 177

1/14

377 346 340 339 328 299 296 126 124 112 185 46 242 239 70 266 232 161 294 61 177

1/13

377 346 340 339 328 299 296 294 124 112 185 46 242 239 70 266 232 161 126 61 177

1/12

377 346 340 339 328 299 296 294 266 112 185 46 242 239 70 124 232 161 126 61 177

1/11

10

377 346 340 339 328 299 296 294 266 242 185 46 112 239 70 124 232 161 126 61 177

1/10

11

377 346 340 339 328 299 296 294 266 242 239 46 112 185 70 124 232 161 126 61 177

1/9

12

377 346 340 339 328 299 296 294 266 242 239 232 112 185 70 124 46 161 126 61 177

1/8

13

377 346 340 339 328 299 296 294 266 242 239 232 185 112 70 124 46 161 126 61 177

1/7

14

377 346 340 339 328 299 296 294 266 242 239 232 185 177 70 124 46 161 126 61 112

1/6

15

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 124 46 70 126 61 112

1/5

16

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 46 70 124 61 112

1/4

17

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 70 46 61 112

1/3

18

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 46 61 70

1/2

19

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

1/1

20

377 346 340 339 328 299 296 294 266 242 239 232 185 177 161 126 124 112 70 61 46

1/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.34

Selection Sort descendente

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

109

61 185 299 377 296 340 112 126 124 328 346 46 242 239 70 266 232 161 294 339 177

1/20

46 185 299 377 296 340 112 126 124 328 346 61 242 239 70 266 232 161 294 339 177

1/19

46 61 299 377 296 340 112 126 124 328 346 185 242 239 70 266 232 161 294 339 177

1/18

46 61 70 377 296 340 112 126 124 328 346 185 242 239 299 266 232 161 294 339 177

1/17

46 61 70 112 296 340 377 126 124 328 346 185 242 239 299 266 232 161 294 339 177

1/16

46 61 70 112 124 340 377 126 296 328 346 185 242 239 299 266 232 161 294 339 177

1/15

46 61 70 112 124 126 377 340 296 328 346 185 242 239 299 266 232 161 294 339 177

1/14

46 61 70 112 124 126 161 340 296 328 346 185 242 239 299 266 232 377 294 339 177

1/13

46 61 70 112 124 126 161 177 296 328 346 185 242 239 299 266 232 377 294 339 340

1/12

46 61 70 112 124 126 161 177 185 328 346 296 242 239 299 266 232 377 294 339 340

1/11

10

46 61 70 112 124 126 161 177 185 232 346 296 242 239 299 266 328 377 294 339 340

1/10

11

46 61 70 112 124 126 161 177 185 232 239 296 242 346 299 266 328 377 294 339 340

1/9

12

46 61 70 112 124 126 161 177 185 232 239 242 296 346 299 266 328 377 294 339 340

1/8

13

46 61 70 112 124 126 161 177 185 232 239 242 266 346 299 296 328 377 294 339 340

1/7

14

46 61 70 112 124 126 161 177 185 232 239 242 266 294 299 296 328 377 346 339 340

1/6

15

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 377 346 339 340

1/5

16

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 377 346 339 340

1/4

17

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 377 346 339 340

1/3

18

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 346 377 340

1/2

19

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 377 346

1/1

20

46 61 70 112 124 126 161 177 185 232 239 242 266 294 296 299 328 339 340 346 377

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-07-14
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:
61, 185, 299, 377, 296 , 340, 112, 126 , 124 , 328, 346 , 46, 242, 239, 70, 266 , 232,
161 , 294, 339, 177
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. Procesar el B-tree de orden tal que, con 5 elementos por nodo hace overflow pero con 4 no, resultante de
ingresar los elementos del lote en el orden dado y luego eliminar los siguientes:
242, 239 , 294

Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
c. 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.
d. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.
e. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente
(hacer al menos 5 swapdown).

Resolucion Teorica Oficial de la Evaluacion Integradora tomada


el 28 de Julio de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-07-28

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado

2. Resoluci
on estricta
2.1. a. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . .
2.2. b. Radix Sort . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.3. b. Heap Sort . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.1. Arbol
inicial . . . . . . . . . . . . . . . . . . . . .
2.3.2. Heapfy paso 0 . . . . . . . . . . . . . . . . . . . . .
2.3.3. Heapfy paso 1 . . . . . . . . . . . . . . . . . . . . .
2.3.4. Heapfy paso 2 . . . . . . . . . . . . . . . . . . . . .
2.3.5. Heapfy paso 3 . . . . . . . . . . . . . . . . . . . . .
2.3.6. Heapfy paso 4 . . . . . . . . . . . . . . . . . . . . .
2.3.7. Paso 1: intercambio . . . . . . . . . . . . . . . . .
2.3.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .
2.3.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
2.3.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
2.3.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
2.3.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
2.3.13. Paso 4: u
ltimo congelado pedido antes del corte . .
2.4. c. Merge Polif
asico . . . . . . . . . . . . . . . . . . . . . .
2.4.1. C
alculo de la distribuci
on de columnas y dummies
2.4.2. Distribucion inicial . . . . . . . . . . . . . . . . . .
2.4.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.7. Fase 5 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.8. Fase final . . . . . . . . . . . . . . . . . . . . . . .
2.5. d. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . .
2.5.1. Inserci
on . . . . . . . . . . . . . . . . . . . . . . .
2.5.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . .
2.6. e. Seleccion de reemplazo . . . . . . . . . . . . . . . . . .
2.6.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.6.2. Salida final . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
16
16
17
17
18
18
19
20
20
21
21
22
22
22

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.3.2. Heapfy paso 0 . .
3.3.3. Heapfy paso 1 . .
3.3.4. Heapfy paso 2 . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

22
23
23
23
24
24
24
25
25
26

Enrique P. Calot

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

n II
Algoritmos y Programacio


INDICE

3.3.5. Heapfy paso 3 . . . .


3.3.6. Heapfy paso 4 . . . .
3.3.7. Paso 1: intercambio
3.3.8. Paso 1: swapdown .
3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .
3.3.17. Paso 6: intercambio
3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
47
48
48
49
49
50

Facultad de Ingeniera


INDICE

3.4.7. Paso 1: intercambio . . . . . . . . . . . . . . . . .


3.4.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .
3.4.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
3.4.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
3.4.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
3.4.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
3.4.13. Paso 4: intercambio . . . . . . . . . . . . . . . . .
3.4.14. Paso 4: swapdown . . . . . . . . . . . . . . . . . .
3.4.15. Paso 5: intercambio . . . . . . . . . . . . . . . . .
3.4.16. Paso 5: swapdown . . . . . . . . . . . . . . . . . .
3.4.17. Paso 6: intercambio . . . . . . . . . . . . . . . . .
3.4.18. Paso 6: swapdown . . . . . . . . . . . . . . . . . .
3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .
3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.5. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
65
65
66
66
67
67
68
68
69
69
70
70
70
70
70
71
71
71
71
72

n II
Algoritmos y Programacio


INDICE

3.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 tama
no 2
3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.13.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

72
72
72
73
73
73
73
74
74
74
75
76
76
76
77
77
77
77
78
78
78
78
79
79
79
80
80
80
81
81
82
82
82
82
83
83
83
83
84
84
84
85
85
85
86
86
86
87
87

Facultad de Ingeniera


INDICE

3.15.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.15.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.17.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.19.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.21.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.23.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.25.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26. Seleccion Natural con buffers de tama
no 6 . . . . . . . . . . . . . . . . . . . .
3.26.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

. 87
. 88
. 88
. 88
. 88
. 89
. 89
. 89
. 90
. 90
. 90
. 90
. 90
. 91
. 91
. 91
. 92
. 92
. 92
. 93
. 93
. 93
. 93
. 93
. 94
. 94
. 94
. 95
. 95
. 95
. 95
. 95
. 96
. 96
. 96
. 97
. 97
. 97
. 97
. 97
. 98
. 98
. 98
. 99
. 99
. 99
. 99
. 99
. 100

n II
Algoritmos y Programacio


INDICE

3.27. Merge Polif


asico de las salidas por seleccion natural de buffers
3.27.1. C
alculo de la distribuci
on de columnas y dummies . .
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .
3.27.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . .

n II
Algoritmos y Programacio

tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

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

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

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

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

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

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

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

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

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

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

100
100
101
101
101
102
102
103
103
104
104
105
105
106
106
107
107

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
13, 262, 398, 283, 131 , 380, 51, 73 , 60 , 295, 386 , 30, 223, 5, 245,
247 , 183, 105 , 257, 342, 120
Se pide:

a. Se ejecutan dos algoritmos de Quick Sort, el primero con 218 elementos y el segundo con 213
elementos. Asumiendo que los arreglos de datos se encuentran en igualdad de situacion y que est
an
distribuidos aleatoriamente, cu
antas veces mas r
apido es el segundo con respecto al primero?
b. Desarrollar los algoritmos de Heap Sort en orden ascendente (hacer al menos 4 swapdown) y Radix
Sort en orden ascendente (entero).
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. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar los siguientes:
223, 245 , 257
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 4.

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

Se ejecutan dos algoritmos de Quick Sort, el primero con 218 elementos y el segundo con 213 elementos.
Asumiendo que los arreglos de datos se encuentran en igualdad de situacion y que est
an distribuidos
aleatoriamente, cu
antas veces mas r
apido es el segundo con respecto al primero?
Enrique P. Calot

n II
Algoritmos y Programacio

2.2

b. Radix Sort

2.1.1.

Respuesta

El tiempo de ejecuci
on de un algoritmos de Quick Sort es del orden de n log2 n siendo n la cantidad de
elementos, lo cual significa que el tiempo de ejecuci
on es proporcional a al mismo. Podriamos deducir que
ti = kni log2 ni o sea t1 = k218 log2 218 = 18k218 y t2 = k213 log2 213 = 13k213 . La relaci
on de tiempos
t1
18k218
1825
18 5
apido
es t2 = 13k213 = 1320 = 13 2 44,31. Por lo tanto el segundo es aproximadamente 44 veces mas r
que el primero.

2.2.

b. Radix Sort

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

2.2.1.

Desarrollo

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


Paso 0
013
262
398
283
131
380
051
073
060
295
386
030
223
005
245
247
183
105
257
342
120

2.3.

Paso 1
380
060
030
120
131
051
262
342
013
283
073
223
183
295
005
245
105
386
247
257
398

Paso 2
005
105
013
120
223
030
131
342
245
247
051
257
060
262
073
380
283
183
386
295
398

Paso 3
005
013
030
051
060
073
105
120
131
183
223
245
247
257
262
283
295
342
380
386
398

b. Heap Sort

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


n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.3

2.3.1.

b. Heap Sort

Arbol
inicial

13
262

398

283

131

73
247

60
183

105

295
257

342

380
386

30

51

223

245

120

Vector:
13

262

2.3.2.

398

283

131

380

51

73

60

295

386

30

223

245

247

183

105

257

342

120

245

247

183

105

257

342

120

Heapfy paso 0

13
262

398

283
73

131
60

247

183

398

283

105

295
257

342

380
386

30

223

51
5

245

120

Vector:
13

262

Enrique P. Calot

131

380

51

73

60

295

386

30

223

n II
Algoritmos y Programacio

2.3

b. Heap Sort

2.3.3.

11

Heapfy paso 1

13
262

398

283

131

247
73

257

183

105

342
60

295

380

51

386

30

223

245

257

342

386

30

223

120

Vector:
13

262

2.3.4.

398

283

131

380

51

247

245

73

183

105

60

295

120

51

73

183

105

60

295

120

Heapfy paso 2

13
262

398

283
247
73

183

386
257

105

342
60

295

380
131

30

245

223

51

120

Vector:
13

262

398

283

386

380

245

n II
Algoritmos y Programacio

247

257

342

131

30

223

Facultad de Ingeniera

12

2.3

2.3.5.

b. Heap Sort

Heapfy paso 3

13
386

398

283
247
73

342
257

183

105

295
60

262

380
131

30

245

223

51

120

Vector:
13

386

2.3.6.

398

283

342

380

245

247

257

295

131

30

223

51

73

183

105

60

262

120

13

51

73

183

105

60

262

120

Heapfy paso 4

398
386

380

283
247
73

183

386

380

342
257

105

295
60

262

223
131

30

13

245
5

51

131

30

120

Vector:
398

283

Enrique P. Calot

342

223

245

247

257

295

n II
Algoritmos y Programacio

2.3

b. Heap Sort

2.3.7.

13

Paso 1: intercambio

120
386

380

283
247
73

342
257

183

105

295
60

262

223
131

30

245

13

51

398

Vector:
120

386

2.3.8.

380

283

342

223

245

247

257

295

131

30

13

51

73

183

105

60

262

398

51

73

183

105

60

120

398

Paso 1: swapdown

386
342

380

283
247
73

183

295
257

105

262
60

120

223
131

30

245

13

51

398

Vector:
386

342

380

283

295

223

245

n II
Algoritmos y Programacio

247

257

262

131

30

13

Facultad de Ingeniera

14

2.3

2.3.9.

b. Heap Sort

Paso 2: intercambio

120
342

380

283
247
73

295
257

183

105

262
60

386

223
131

30

245

13

51

398

Vector:
120

342

2.3.10.

380

283

295

223

245

247

257

262

131

30

13

51

73

183

105

60

386

398

51

73

183

105

60

386

398

Paso 2: swapdown

380
342

245

283
247
73

183

295
257

105

262
60

386

223
131

30

120

13

51

398

Vector:
380

342

245

283

Enrique P. Calot

295

223

120

247

257

262

131

30

13

n II
Algoritmos y Programacio

2.3

b. Heap Sort

2.3.11.

15

Paso 3: intercambio

60
342

245

283
247
73

183

295
257

105

262

380

386

223
131

30

120

13

51

398

Vector:
60

342

2.3.12.

245

283

295

223

120

247

257

262

131

30

13

51

73

183

105

380

386

398

51

73

183

105

380

386

398

Paso 3: swapdown

342
295

245

283
247
73

183

262
257

105

60

380

386

223
131

30

120

13

51

398

Vector:
342

295

245

283

262

223

120

n II
Algoritmos y Programacio

247

257

60

131

30

13

Facultad de Ingeniera

16

2.4

2.3.13.

c. Merge Polif
asico

Paso 4: u
ltimo congelado pedido antes del corte
105
295

245

283
247
73

183

262
257

342

60

380

386

223
131

30

120

13

51

398

Vector:
105

2.4.

295

245

283

262

223

120

247

257

60

131

30

13

51

73

183

342

380

386

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.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.
Fases
0
1
2
3
4
5

2.4.2.

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

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.

Enrique P. Calot

n II
Algoritmos y Programacio

398

2.4

c. Merge Polif
asico

2.4.3.

Fase 1

E1
D
D
D
D
398
380
60
30
5
247
105
342
120

2.4.4.

17

E2
D
D
D
13
283
51
295
223
245
183
257

E3
D
D
D
262
131
73
386

E2
D
D
D
13
283
51
295
E2
223
245
183
257

E3
D
D
D
262
131
73
386
S

S
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386
E3
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386

Fase 2

E1
D
D
D
D
398
380
60
E1
30
5
247
105
342
120

n II
Algoritmos y Programacio

Facultad de Ingeniera

18

2.4

2.4.5.

Fase 3

E1
D
D
D
D
398
380
60
E1
30
5
247
105
E1
342
120

2.4.6.

c. Merge Polif
asico

E2
D
D
D
13
283
51
295
E2
223
245
183
257
S

E3
D
D
D
262
131
73
386
S
30, 223
5, 245
183, 247
13, 105, 257, 262
E2
30, 223
5, 245
183, 247
13, 105, 257, 262

S
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386
E3
D
D
D
13, 262
E3
131, 283, 398
51, 73, 380
60, 295, 386

E2
D
D
D
13
283
51
295
E2
223
245
183
257
S
30, 131,
342, 398
5, 51, 73,
380
E1
30, 131,
342, 398
5, 51, 73,
380

223, 283,

E3
D
D
D
262
131
73
386
S
30, 223
5, 245
183, 247
13, 105, 257, 262
E2
30, 223

S
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386
E3
D
D
D
13, 262
E3
131, 283, 398

120, 245,

5, 245

51, 73, 380

223, 283,

E2
183, 247

E3
60, 295, 386

120, 245,

13, 105, 257, 262

Fase 4

E1
D
D
D
D
398
380
60
E1
30
5
247
105
E1
342
120
S

Enrique P. Calot

n II
Algoritmos y Programacio

2.4

c. Merge Polif
asico

2.4.7.

19

Fase 5

E1
D
D
D
D
398
380
60
E1
30
5
247
105
E1
342

E3
D
D
D
262
131
73
386
S
30, 223
5, 245
183, 247
13, 105, 257, 262
E2
30, 223

S
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386
E3
D
D
D
13, 262
E3
131, 283, 398

5, 245

51, 73, 380

223,
342,

E2
D
D
D
13
283
51
295
E2
223
245
183
257
S
30, 131, 223, 283,
342, 398
5, 51, 73, 120, 245,
380
E1
30, 131, 223, 283,
342, 398

E2
183, 247

E3
60, 295, 386

223,
342,

E1
5, 51, 73, 120, 245,
380

E2
13, 105, 257, 262

120
S
30, 60, 131, 183,
247, 283, 295,
386, 398
E3
30, 60, 131, 183,
247, 283, 295,
386, 398

n II
Algoritmos y Programacio

Facultad de Ingeniera

20

2.5

2.4.8.

Fase final

E1
D
D
D
D
398
380
60
E1
30
5
247
105
E1
342

E3
D
D
D
262
131
73
386
S
30, 223
5, 245
183, 247
13, 105, 257, 262
E2
30, 223

S
D
D
D
13, 262
131, 283, 398
51, 73, 380
60, 295, 386
E3
D
D
D
13, 262
E3
131, 283, 398

5, 245

51, 73, 380

223,
342,

E2
D
D
D
13
283
51
295
E2
223
245
183
257
S
30, 131, 223, 283,
342, 398
5, 51, 73, 120, 245,
380
E1
30, 131, 223, 283,
342, 398

E2
183, 247

E3
60, 295, 386

223,
342,

E1
5, 51, 73, 120, 245,
380

E2
13, 105, 257, 262

E1

E2

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E3
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

120
S
30, 60, 131, 183,
247, 283, 295,
386, 398
E3
30, 60, 131, 183,
247, 283, 295,
386, 398

2.5.

d. Ejercicio de B-trees

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:
223, 245 , 257
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
Enrique P. Calot

n II
Algoritmos y Programacio

2.5

d. Ejercicio de B-trees

2.5.1.

21

Inserci
on

Inserto 5 elementos: 13, 262, 398, 283, 131.


262
13131 283398

Inserto 3 elementos: 380, 51, 73.


262
135173131

283380398

Inserto 1 elemento: 60.


60262
1351

73131 283380398

Inserto 2 elementos: 295, 386.


60262380
1351

73131 283295 386398

Inserto 5 elementos: 30, 223, 5, 245, 247.


60223262380
5133051

73131 245247 283295 386398

Inserto 2 elementos: 183, 105.


60223262380
5133051

73105131183 245247 283295 386398

Inserto 3 elementos: 257, 342, 120.


223
60120
5133051

2.5.2.

262380

73105 131183 245247257 283295342 386398

Eliminaci
on

Elimino 2 elementos: 223, 245.


60120262380
5133051

73105 131183247257 283295342 386398

Elimino 1 elemento: 257.


60120262380
5133051

n II
Algoritmos y Programacio

73105 131183247 283295342 386398

Facultad de Ingeniera

22

2.6

2.6.

e. Selecci
on de reemplazo

e. Selecci
on de reemplazo

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


no 4.
2.6.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

13

13
262

13
262
398

13
262
398
283
131
262
398
283
380
262
398
283
380
51
398
283
380
51
398
73
60
51
398
73
60
51
295
73
Nueva
partici
on!
Se
{13, 131, 262, 283, 380, 398}

Sale
Nada
Nada
Nada
Nada
13
131
262
283
380
398
cierra

Entra
13
262
398
283
131
380
51
73
60
295
la

partici
on

p1

51
386
60
386
295
73
60
30
30
386
295
73
73
223
30
386
295
223
223
5
30
386
295
5
295
245
30
386
245
5
386
247
30
247
245
5
Nueva partici
on! Se cierra la partici
on p2 = {51, 60, 73, 223, 295, 386}
5
183
30
247
245
183
30
105
105
247
245
183
105
257
257
247
245
183
183
342
257
247
245
342
245
120
257
247
120
342
247
Nada
257

120
342
257
Nada

120
342
342
Nada

120

Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{5, 30, 105, 183, 245, 247, 257, 342}
120
Nada
Finaliza la u
ltima partici
on en p4 = {120}

2.6.2.

Salida final

p1 = {13, 131, 262, 283, 380, 398};


p2 = {51, 60, 73, 223, 295, 386};
p3 = {5, 30, 105, 183, 245, 247, 257, 342};
p4 = {120}.

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

23

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
013
262
398
283
131
380
051
073
060
295
386
030
223
005
245
247
183
105
257
342
120

3.2.

Paso 1
398
247
257
386
295
005
245
105
013
283
073
223
183
262
342
131
051
380
060
030
120

Paso 2
398
295
386
283
183
380
073
262
060
257
051
247
245
342
131
030
223
120
013
005
105

Paso 3
398
386
380
342
295
283
262
257
247
245
223
183
131
120
105
073
060
051
030
013
005

Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
n II
Algoritmos y Programacio

Facultad de Ingeniera

24

3.3

3.2.1.

Heap Sort completo

Desarrollo

Paso 1

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

Paso 2

5 13 398 283 131 380 51 73 60 295 386 30 223 262 245 247 183 105 257 342 120

Paso 3

120 283 131 380 51 73 60 295 386 30 223 262 245 247 183 105 257 342 398

Paso 4

73 105 30 60 51 120 380 295 386 131 223 262 245 247 183 283 257 342

Paso 5

60 51 30 73 105

257 295 342 131 223 262 245 247 183 283 380 386

Paso 6

30 51 60

245 183 247 131 223 257 262 342 295 283

Paso 7

30 51

131 183 223 245 247

Paso 8

262 342 295 283

131 183 223

Final

283 295 342

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

3.3.

Heap Sort completo

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

3.3.1.

Arbol
inicial
13
262

398

283

131

73
247

60
183

105

295
257

342

380
386

30

51

223

245

120

Vector:
13

262

398

283

Enrique P. Calot

131

380

51

73

60

295

386

30

223

245

247

183

105

257

342

n II
Algoritmos y Programacio

120

3.3

Heap Sort completo

3.3.2.

25

Heapfy paso 0

13
262

398

283

131

73

60

247

183

398

283

105

295
257

342

380
386

30

51

223

245

120

Vector:
13

262

3.3.3.

131

380

51

73

60

295

386

30

223

245

247

183

105

257

342

120

60

295

120

Heapfy paso 1

13
262

398

283
247
73

131
257

183

105

342
60

295

380

51

386

30

223

245

257

342

386

30

223

120

Vector:
13

262

398

283

131

380

51

n II
Algoritmos y Programacio

247

245

73

183

105

Facultad de Ingeniera

26

3.3

3.3.4.

Heap Sort completo

Heapfy paso 2

13
262

398

283
247
73

386
257

183

105

380

342
60

295

131

30

245

223

51

120

Vector:
13

262

3.3.5.

398

283

386

380

245

247

257

342

131

30

223

51

73

183

105

60

295

120

223

51

73

183

105

60

262

120

Heapfy paso 3

13
386

398

283
247
73

183

342
257

105

295
60

262

380
131

30

245

223

51

120

Vector:
13

386

398

283

Enrique P. Calot

342

380

245

247

257

295

131

30

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.6.

27

Heapfy paso 4

398
386

380

283

342

247

257

73

183

386

380

105

223

295
60

262

131

30

245

13

51

131

30

120

Vector:
398

3.3.7.

283

342

223

245

247

257

295

13

51

73

183

105

60

262

120

51

73

183

105

60

262

398

Paso 1: intercambio

120
386

380

283
247
73

183

342
257

105

295
60

262

223
131

30

245

13

51

398

Vector:
120

386

380

283

342

223

245

n II
Algoritmos y Programacio

247

257

295

131

30

13

Facultad de Ingeniera

28

3.3

3.3.8.

Heap Sort completo

Paso 1: swapdown

386
342

380

283
247
73

295
257

183

105

262
60

120

223
131

30

245

13

51

398

Vector:
386

342

3.3.9.

380

283

295

223

245

247

257

262

131

30

13

51

73

183

105

60

120

398

51

73

183

105

60

386

398

Paso 2: intercambio

120
342

380

283
247
73

183

295
257

105

262
60

386

223
131

30

245

13

51

398

Vector:
120

342

380

283

Enrique P. Calot

295

223

245

247

257

262

131

30

13

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.10.

29

Paso 2: swapdown

380
342

245

283

295

247
73

257

183

105

262
60

386

223
131

30

120

13

51

398

Vector:
380

342

3.3.11.

245

283

295

223

120

247

257

262

131

30

13

51

73

183

105

60

386

398

380

386

398

Paso 3: intercambio

60
342

245

283
247
73

183

295
257

105

262

380

386

223
131

30

120

13

51

398

Vector:
60

342

245

283

295

223

120

n II
Algoritmos y Programacio

247

257

262

131

30

13

51

73

183

105

Facultad de Ingeniera

30

3.3

3.3.12.

Heap Sort completo

Paso 3: swapdown

342
295

245

283

262

247
73

257

183

105

380

60
386

223
131

30

120

13

51

398

Vector:
342

295

3.3.13.

245

283

262

223

120

247

257

60

131

30

13

51

73

183

105

380

386

398

51

73

183

342

380

386

398

Paso 4: intercambio

105
295

245

283
247
73

183

262
257

342

380

60
386

223
131

30

120

13

51

398

Vector:
105

295

245

283

Enrique P. Calot

262

223

120

247

257

60

131

30

13

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.14.

31

Paso 4: swapdown

295
283

245

257

262

247
73

105

183

342

60

380

386

223
131

30

120

13

51

398

Vector:
295

283

3.3.15.

245

257

262

223

120

247

105

60

131

30

13

51

73

183

342

380

386

398

51

73

295

342

380

386

398

Paso 5: intercambio

183
283

245

257
247

262
105

73

295

342

245

257

262

60

380

386

223
131

30

120

13

51

398

Vector:
183

283

223

120

n II
Algoritmos y Programacio

247

105

60

131

30

13

Facultad de Ingeniera

32

3.3

3.3.16.

Heap Sort completo

Paso 5: swapdown

283
262

245

257
247

183
105

73

295

342

245

257

183

60

380

386

223
131

30

120

13

51

398

Vector:
283

262

3.3.17.

223

120

247

105

60

131

30

13

51

73

295

342

380

386

398

283

295

342

380

386

398

Paso 6: intercambio

73
262

245

257
247
283

295

183
105

342

60

380

386

223
131

120

30

13

131

30

51

398

Vector:
73

262

245

257

Enrique P. Calot

183

223

120

247

105

60

13

51

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.18.

33

Paso 6: swapdown

262
257

245

247

183

73

105

283

295

245

247

342

60

380

386

223
131

120

30

13

131

30

51

398

Vector:
262

257

3.3.19.

183

223

120

73

105

60

13

51

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 7: intercambio

51
257

245

247
73

183
105

283

295

245

247

342

380

60
386

223
131

120

30

13

131

30

262

398

Vector:
51

257

183

223

120

n II
Algoritmos y Programacio

73

105

60

13

Facultad de Ingeniera

34

3.3

3.3.20.

Heap Sort completo

Paso 7: swapdown

257
247

245

105

183

73
283

51

223

60

295

342

380

105

183

223

386

131

120

30

13

131

30

262

398

Vector:
257

247

3.3.21.

245

120

73

51

60

13

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 8: intercambio

5
247

245

105
73
283

183
51

295

342

105

183

60
380

386

223

120

131

30

13

257

60

131

30

13

262

398

Vector:
5

247

245

Enrique P. Calot

223

120

73

51

257

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.22.

35

Paso 8: swapdown

247
183

245

105

131

73
283

51
295

223

60

342

380

131

223

386

30

120

13

257

262

398

Vector:
247

183

3.3.23.

245

105

120

73

51

60

30

13

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 9: intercambio

13
183

245

105

131

73
283

51
295

223

60

342

380

386

131

223

120

30

120

247

257

262

398

Vector:
13

183

245

105

n II
Algoritmos y Programacio

73

51

60

30

247

257

Facultad de Ingeniera

36

3.3

3.3.24.

Heap Sort completo

Paso 9: swapdown

245
183

223

105

131

73
283

51
295

342

30

60
380

386

13

120

247

257

262

398

Vector:
245

183

3.3.25.

223

105

131

30

120

73

51

60

13

247

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 10: intercambio

13
183

223

105

131

73
283

51
295

342

30

60
380

386

245

120
247

257

245

247

262

398

Vector:
13

183

223

105

Enrique P. Calot

131

30

120

73

51

60

257

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.26.

37

Paso 10: swapdown

223
183

120

105

131

73
283

51
295

342

30

60
380

386

245

13
247

257

245

247

262

398

Vector:
223

183

3.3.27.

120

105

131

30

13

73

51

60

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 11: intercambio

5
183

120

105

131

73
283

51
295

342

60
380

386

30

13

223

245

247

60

223

245

257

262

398

Vector:
5

183

120

105

131

30

13

n II
Algoritmos y Programacio

73

51

247

257

Facultad de Ingeniera

38

3.3

3.3.28.

Heap Sort completo

Paso 11: swapdown

183
131

120

105

60

73
283

51
295

342

30

5
380

386

13

223

245

247

223

245

257

262

398

Vector:
183

131

3.3.29.

120

105

60

30

13

73

51

247

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 12: intercambio

5
131

120

105

60

73
283

51
295

342

183
380

386

30
223

13

245

247

223

245

257

262

398

Vector:
5

131

120

105

Enrique P. Calot

60

30

13

73

51

183

247

257

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.30.

39

Paso 12: swapdown

131
105

120

73

60

5
283

51
295

342

183
380

386

30
223

13

245

247

223

245

257

262

398

Vector:
131

105

3.3.31.

120

73

60

30

13

51

183

247

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 13: intercambio

51
105

120

73

60

5
283

131
295

342

183

380

386

30
223

245

13
247

257

262

398

Vector:
51

105

120

73

60

30

13

n II
Algoritmos y Programacio

131

183

223

245

247

257

Facultad de Ingeniera

40

3.3

3.3.32.

Heap Sort completo

Paso 13: swapdown

120
105

51

73

60

131

283

295

342

183

380

386

30
223

245

13
247

257

262

398

Vector:
120

105

3.3.33.

51

73

60

30

13

131

183

223

245

247

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 14: intercambio

5
105

51

73

60

120
283

131

295

342

380

183
386

30
223

13

245

247

257

223

245

247

262

398

Vector:
5

105

51

73

60

Enrique P. Calot

30

13

120

131

183

257

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.34.

41

Paso 14: swapdown

105
73

51

60

120
283

131

295

342

380

183
386

30
223

13

245

247

257

223

245

247

262

398

Vector:
105

73

3.3.35.

51

60

30

13

120

131

183

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 15: intercambio

13
73

51

60

120
283

131

295

342

380

183
386

30
223

245

105
247

257

245

247

262

398

Vector:
13

73

51

60

30

105

120

n II
Algoritmos y Programacio

131

183

223

257

Facultad de Ingeniera

42

3.3

3.3.36.

Heap Sort completo

Paso 15: swapdown

73
60

51

13

120
283

131

295

342

380

183
386

30
223

245

105
247

257

245

247

262

398

Vector:
73

60

51

3.3.37.

13

30

105

120

131

183

223

257

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 16: intercambio

30
60

51

13

120
283

131

295

342

380

73

183
386

223

245

105
247

257

262

245

247

257

398

Vector:
30

60

51

13

Enrique P. Calot

73

105

120

131

183

223

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.38.

43

Paso 16: swapdown

60
30

51

13

120
283

131

295

342

380

73

183
386

223

245

105
247

257

262

245

247

257

398

Vector:
60

30

51

3.3.39.

13

73

105

120

131

183

223

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 17: intercambio

13
30

51

5
120
283

60
131

295

342

380

73

183
386

223

245

105
247

257

262

247

257

398

Vector:
13

30

51

60

73

105

120

n II
Algoritmos y Programacio

131

183

223

245

Facultad de Ingeniera

44

3.3

3.3.40.

Heap Sort completo

Paso 17: swapdown

51
30

13

60

120
283

131

295

342

380

73

183
386

223

245

105
247

257

262

247

257

398

Vector:
51

30

3.3.41.

13

60

73

105

120

131

183

223

245

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 18: intercambio

5
30

13

51
120
283

60
131

295

342

183

380

386

73
223

245

105
247

257

262

398

Vector:
5

30

13

51

60

Enrique P. Calot

73

105

120

131

183

223

245

247

257

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.42.

45

Paso 18: swapdown

30
5

13

51

60

120
283

131

295

342

183

380

386

73
223

245

105
247

257

262

247

257

398

Vector:
30

13

3.3.43.

51

60

73

105

120

131

183

223

245

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 19: intercambio

13
5

30

51
120
283

60
131

295

342

183

380

386

73
223

245

105
247

257

262

398

Vector:
13

30

51

60

73

105

120

n II
Algoritmos y Programacio

131

183

223

245

247

257

Facultad de Ingeniera

46

3.3

3.3.44.

Heap Sort completo

Paso 19: swapdown

13
5

30

51

60

120
283

131

295

342

183

380

386

73
223

245

105
247

257

262

247

257

398

Vector:
13

3.3.45.

30

51

60

73

105

120

131

183

223

245

262

283

295

342

380

386

398

262

283

295

342

380

386

398

Paso 20: intercambio

5
13

30

51
120
283

60
131

295

342

183

380

386

73
223

245

105
247

257

262

398

Vector:
5

13

30

51

60

Enrique P. Calot

73

105

120

131

183

223

245

247

257

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.3.46.

47

Paso 20: swapdown

5
13

30

51

60

120
283

131

295

342

73

183

380

386

223

245

105
247

257

262

247

257

398

Vector:
5

13

3.4.

30

51

60

73

105

120

131

183

223

245

262

283

295

342

380

386

398

Heap Sort descendente

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

3.4.1.

Arbol
inicial
13
262

398

283

131

73
247

60
183

105

295
257

342

380
386

30

51

223

245

120

Vector:
13

262

398

283

131

380

51

n II
Algoritmos y Programacio

73

60

295

386

30

223

245

247

183

105

257

342

Facultad de Ingeniera

120

48

3.4

3.4.2.

Heap Sort descendente

Heapfy paso 0

13
262

398

283

131

73

60

247

183

398

283

105

380

295
257

342

386

30

51

223

245

120

Vector:
13

262

3.4.3.

131

380

51

73

60

295

386

30

223

245

247

183

105

257

342

120

245

247

183

105

257

342

295

Heapfy paso 1

13
262

398

283

131

73
247

60
183

105

120
257

342

380
386

30

51

223

245

295

Vector:
13

262

398

283

Enrique P. Calot

131

380

51

73

60

120

386

30

223

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.4.

49

Heapfy paso 2

13
262

398

60

120

73
247

105
183

283

398

60

131

257

342

30
386

380

5
223

51

245

295

Vector:
13

262

3.4.5.

120

30

73

105

131

386

380

223

51

245

247

183

283

257

342

295

245

247

262

283

257

342

295

Heapfy paso 3

13
60

73

120

183
247

105

262

283

131

257

342

30
386

380

51
223

398

245

295

Vector:
13

60

73

120

30

51

183

n II
Algoritmos y Programacio

105

131

386

380

223

398

Facultad de Ingeniera

50

3.4

3.4.6.

Heap Sort descendente

Heapfy paso 4

5
60

13

73

120

183
247

105

262

283

30

131

257

342

386

380

51
223

398

245

295

Vector:
5

60

13

3.4.7.

73

120

30

51

183

105

131

386

380

223

398

245

247

262

283

257

342

295

Paso 1: intercambio

295
60

13

73
183
247

120
105

262

283

131

257

342

30
386

380

51
223

398

245

Vector:
295

60

13

73

Enrique P. Calot

120

30

51

183

105

131

386

380

223

398

245

247

262

283

257

342

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.8.

51

Paso 1: swapdown

13
60

30

73
183
247

120
105

262

283

131

257

342

223
386

380

51

295

398

245

Vector:
13

60

3.4.9.

30

73

120

223

51

183

105

131

386

380

295

398

245

247

262

283

257

342

13

Paso 2: intercambio

342
60

30

73
183
247

120
105

262

283

131

223
386

257

13

51

183

105

380

51

295

398

380

295

245

Vector:
342

60

30

73

120

223

n II
Algoritmos y Programacio

131

386

398

245

247

262

283

257

Facultad de Ingeniera

52

3.4

3.4.10.

Heap Sort descendente

Paso 2: swapdown

30
60

51

73
183
247

120
105

262

223

131

386

283

257

13

223

245

183

105

380

245

295

398

380

295

342

Vector:
30

60

3.4.11.

51

73

120

131

386

398

342

247

262

283

257

13

30

13

Paso 3: intercambio

257
60

51

73
183
247

120
105

262

283

131
30

13

223
386

380

245

295

398

342

Vector:
257

60

51

73

Enrique P. Calot

120

223

245

183

105

131

386

380

295

398

342

247

262

283

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.12.

53

Paso 3: swapdown

51
60

223

73

120

183
247

105

262

283

257

131
30

13

386

380

245

295

398

342

Vector:
51

60

3.4.13.

223

73

120

257

245

183

105

131

386

380

295

398

342

247

262

283

30

13

51

30

13

Paso 4: intercambio

283
60

223

73
183
247

120
105

262

51

30

131
13

257
386

380

295

245
398

342

Vector:
283

60

223

73

120

257

245

n II
Algoritmos y Programacio

183

105

131

386

380

295

398

342

247

262

Facultad de Ingeniera

54

3.4

3.4.14.

Heap Sort descendente

Paso 4: swapdown

60
73

223

105

120

183
247

283

262

51

30

257

131
13

386

380

245

295

398

342

Vector:
60

73

3.4.15.

223

105

120

257

245

183

283

131

386

380

295

398

342

247

262

51

30

13

60

51

30

13

Paso 5: intercambio

262
73

223

105

120

183
247

283
60

51

131

257
386

30

13

257

245

183

380

245

295

398

342

386

380

295

Vector:
262

73

223

105

Enrique P. Calot

120

283

131

398

342

247

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.16.

55

Paso 5: swapdown

73
105

223

183

120

247
262

283
60

51

257

131

386

30

13

257

245

247

380

245

295

398

342

386

380

295

Vector:
73

105

3.4.17.

223

183

120

283

131

398

342

262

60

51

30

13

73

60

51

30

13

Paso 6: intercambio

262
105

223

183
247
73

60

223

183

120
283

51

131

30

13

257
386

380

245

295

398

342

Vector:
262

105

120

257

245

n II
Algoritmos y Programacio

247

283

131

386

380

295

398

342

Facultad de Ingeniera

56

3.4

3.4.18.

Heap Sort descendente

Paso 6: swapdown

105
120

223

183

131

247

283

73

60

223

183

51

262

30

13

257
386

380

245

295

398

342

Vector:
105

120

3.4.19.

131

257

245

247

283

262

386

380

295

398

342

73

60

51

30

13

398

105

73

60

51

30

13

Paso 7: intercambio

342
120

223

183
247

131
283

73

60

223

183

51

262

30

13

257
386

380

245

295

398

105

Vector:
342

120

Enrique P. Calot

131

257

245

247

283

262

386

380

295

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.20.

57

Paso 7: swapdown

120
131

223

183

262

247

283

73

60

223

183

51

342

30

13

257
386

380

245

295

398

105

Vector:
120

131

3.4.21.

262

257

245

247

283

342

386

380

295

398

105

73

60

51

30

13

120

105

73

60

51

30

13

Paso 8: intercambio

398
131

223

183
247
73

262
283

60

51

342

30

13

257
386

380

245

295

120

105

Vector:
398

131

223

183

262

257

245

n II
Algoritmos y Programacio

247

283

342

386

380

295

Facultad de Ingeniera

58

3.4

3.4.22.

Heap Sort descendente

Paso 8: swapdown

131
183

223

247

262

398
73

283

60

51

342

30

13

257
386

380

245

295

120

105

Vector:
131

183

3.4.23.

223

247

262

257

245

398

283

342

386

380

295

120

105

73

60

51

30

13

120

105

73

60

51

30

13

Paso 9: intercambio

295
183

223

247
398
73

262
283

60

51

342

30

13

257
386

380

131

245
120

105

Vector:
295

183

223

247

Enrique P. Calot

262

257

245

398

283

342

386

380

131

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.24.

59

Paso 9: swapdown

183
247

223

283

262

398
73

295

60

51

342

30

13

257
386

380

245

131

120

105

Vector:
183

247

3.4.25.

223

283

262

257

245

398

295

342

386

380

131

120

105

73

60

51

30

13

120

105

73

60

51

30

13

Paso 10: intercambio

380
247

223

283
398
73

262
295

60

51

30

342
13

257
386

183

131

245
120

105

Vector:
380

247

223

283

262

257

245

n II
Algoritmos y Programacio

398

295

342

386

183

131

Facultad de Ingeniera

60

3.4

3.4.26.

Heap Sort descendente

Paso 10: swapdown

223
247

245

283

262

398
73

295

60

51

30

342
13

257
386

183

380

131

120

105

Vector:
223

247

3.4.27.

245

283

262

257

380

398

295

342

386

183

131

120

105

73

60

51

30

13

120

105

73

60

51

30

13

Paso 11: intercambio

386
247

245

283
398
73

262
295

60

51

30

342
13

257
223

183

398

295

131

380
120

105

Vector:
386

247

245

283

Enrique P. Calot

262

257

380

342

223

183

131

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.28.

61

Paso 11: swapdown

245
247

257

283

262

398
73

295

60

51

30

342
13

386
223

183

398

295

380

131

120

105

Vector:
245

247

3.4.29.

257

283

262

386

380

342

223

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 12: intercambio

342
247

257

283
398
73

262
295

60

51

30

245
13

386
223

183

398

295

131

380
120

105

Vector:
342

247

257

283

262

386

380

n II
Algoritmos y Programacio

245

223

183

Facultad de Ingeniera

62

3.4

3.4.30.

Heap Sort descendente

Paso 12: swapdown

247
262

257

283

342

398
73

295

60

51

30

245
13

386
223

183

398

295

380

131

120

105

Vector:
247

262

3.4.31.

257

283

342

386

380

245

223

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 13: intercambio

295
262

257

283
398
73

60

342
247

51

30

245
13

386
223

183

131

398

247

245

380
120

105

Vector:
295

262

257

283

Enrique P. Calot

342

386

380

223

183

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.32.

63

Paso 13: swapdown

257
262

295

283

342

398
73

247

60

51

30

245
13

386

380

223

183

131

398

247

245

120

105

Vector:
257

262

3.4.33.

295

283

342

386

380

223

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 14: intercambio

398
262

295

283
257
73

60

342
247

51

30

245
13

386
223

183

131

247

245

380
120

105

Vector:
398

262

295

283

342

386

380

n II
Algoritmos y Programacio

257

223

183

Facultad de Ingeniera

64

3.4

3.4.34.

Heap Sort descendente

Paso 14: swapdown

262
283

295

398

342

257
73

247

60

51

30

245
13

386
223

380

183

131

247

245

120

105

Vector:
262

283

3.4.35.

295

398

342

386

380

257

223

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 15: intercambio

380
283

295

398
257
73

60

342
247

51

30

245
13

386
223

183

131

262
120

105

Vector:
380

283

295

398

Enrique P. Calot

342

386

262

257

247

245

223

183

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.36.

65

Paso 15: swapdown

283
342

295

398

380

257
73

247

60

51

30

245
13

386
223

183

262

131

120

105

Vector:
283

342

3.4.37.

295

398

380

386

262

257

247

245

223

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 16: intercambio

386
342

295

398
257
73

60

380
247

51

245

283
223

30

13

380

283

262

262

183

131

120

247

245

223

105

Vector:
386

342

295

398

n II
Algoritmos y Programacio

257

183

Facultad de Ingeniera

66

3.4

3.4.38.

Heap Sort descendente

Paso 16: swapdown

295
342

386

398

380

257
73

247

60

51

245

283
223

30

13

380

283

262

262

183

131

120

247

245

223

105

Vector:
295

342

3.4.39.

386

398

257

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 17: intercambio

380
342

386

398
257
73

60

295
247

245

51

30

13

398

295

283

283
223

183

262

131

120

245

223

105

Vector:
380

342

386

Enrique P. Calot

262

257

247

183

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.40.

67

Paso 17: swapdown

342
380

386

398

295

257
73

247

60

245

51

30

13

398

295

283

283
223

183

262

131

120

245

223

105

Vector:
342

380

3.4.41.

386

262

257

247

183

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 18: intercambio

398
380

386

342
257
73

60

295
247

245

51

30

13

342

295

283

283
223

183

262

131

120

105

245

223

183

Vector:
398

380

386

262

n II
Algoritmos y Programacio

257

247

Facultad de Ingeniera

68

3.4

3.4.42.

Heap Sort descendente

Paso 18: swapdown

380
398

386

342

295

257
73

247

60

283

245

51

30

13

342

295

283

223

183

262

131

120

105

245

223

183

Vector:
380

398

3.4.43.

386

262

257

247

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 19: intercambio

386
398

380

342
257
73

295
247

60

51

30

380

342

295

245
13

283
223

183

262

131

120

105

223

183

Vector:
386

398

Enrique P. Calot

283

262

257

247

245

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.44.

69

Paso 19: swapdown

386
398

380

342

295

257
73

247

60

283

245

51

30

13

342

295

283

223

183

262

131

120

105

245

223

183

Vector:
386

398

3.4.45.

380

262

257

247

131

120

105

73

60

51

30

13

131

120

105

73

60

51

30

13

Paso 20: intercambio

398
386

380

342
257

295
247

73

60

51

386

380

342

245

30

13

283
223

183

262

131

120

105

223

183

Vector:
398

295

283

262

n II
Algoritmos y Programacio

257

247

245

Facultad de Ingeniera

70

3.5

3.4.46.

Merge Polif
asico de las salidas por selecci
on de reemplazo

Paso 20: swapdown


398
386

380

342
257
73

295
247

60

51

30

380

342

295

245
13

283
223

183

262

131

120

105

Vector:
398

386

3.5.

283

262

257

247

245

223

183

131

120

105

73

60

51

30

13

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.
P3
<4
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
Si
2
2
2
1
5
No
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.5.3.

Fase 1

E1
D
5, 30, 105, 183, 245,
247, 257, 342
Enrique P. Calot

E2
13, 131, 262, 283,
380, 398
120

E3
51, 60, 73, 223, 295,
386

n II
Algoritmos y Programacio

3.6

Merge Polif
asico de las particiones marcadas

3.5.4.

71

Fase 2

E1
D

E2
13, 131, 262, 283,
380, 398

E3
51, 60, 73, 223, 295,
386

E1
5, 30, 105, 183, 245,
247, 257, 342

E2
120

E1
D

E2
13, 131, 262, 283,
380, 398

E3
51, 60, 73, 223, 295,
386

E1
5, 30, 105, 183, 245,
247, 257, 342

E2
120

E2

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.5.5.

3.6.

S
13, 51, 60, 73,
223, 262, 283,
380, 386, 398
E3
13, 51, 60, 73,
223, 262, 283,
380, 386, 398

131,
295,

131,
295,

Fase final
S
13, 51, 60, 73,
223, 262, 283,
380, 386, 398
E3
13, 51, 60, 73,
223, 262, 283,
380, 386, 398

131,
295,

131,
295,

E3

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 = {13, 131, 262, 283, 398}; p2 = {51, 73, 380}; . . . ; p6 = {105, 183}; p7 = {120, 257, 342}.
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.
Fases
0
1
2
3
n II
Algoritmos y Programacio

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
Facultad de Ingeniera

72

3.6

3.6.2.

Merge Polif
asico de las particiones marcadas

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.6.3.

Fase 1

E1
D
51, 73, 380
5, 30, 223, 245, 247
120, 257, 342

E2
D
60
105, 183

E3
13, 131, 262, 283, 398
295, 386

E1
D
51, 73, 380

E2
D
60

E3
13, 131, 262, 283, 398
295, 386

E1
5, 30, 223, 245, 247
120, 257, 342

E2
105, 183

S
13, 131, 262, 283, 398
51, 60, 73, 295, 380,
386
E3
13, 131, 262, 283, 398
51, 60, 73, 295, 380,
386

E1
D
51, 73, 380

E2
D
60

E3
13, 131, 262, 283, 398
295, 386

E1
5, 30, 223, 245, 247

E2
105, 183

E1
120, 257, 342

S
5, 13, 30, 105,
183, 223, 245,
262, 283, 398
E2
5, 13, 30, 105,
183, 223, 245,
262, 283, 398

3.6.4.

3.6.5.

Fase 2

Fase 3

Enrique P. Calot

131,
247,

131,
247,

S
13, 131, 262, 283, 398
51, 60, 73, 295, 380,
386
E3
13, 131, 262, 283, 398

E3
51, 60, 73, 295, 380,
386

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.6.6.

Fase final

E1
D
51, 73, 380

E2
D
60

E3
13, 131, 262, 283, 398
295, 386

E1
5, 30, 223, 245, 247

E2
105, 183

E1
120, 257, 342

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

S
5, 13, 30, 105,
183, 223, 245,
262, 283, 398
E2
5, 13, 30, 105,
183, 223, 245,
262, 283, 398

3.7.

73

131,
247,

131,
247,

E2

S
13, 131, 262, 283, 398
51, 60, 73, 295, 380,
386
E3
13, 131, 262, 283, 398

E3
51, 60, 73, 295, 380,
386

E3

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 = {13, 262}; p2 = {283, 398}; . . . ; p10 = {257, 342}; p11 = {120}.
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
3.7.2.

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

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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.7

3.7.3.

Merge Polif
asico con particiones formadas de 2 elementos

Fase 1

E1
D
D
13, 262
51, 73
5, 223
105, 183
120

E2
D
D
283, 398
60, 295
245, 247
257, 342

E3
D
D
131, 380
30, 386

E1
D
D
13, 262

E2
D
D
283, 398

E3
D
D
131, 380

51, 73

60, 295

30, 386

E1
5, 223
105, 183
120

E2
245, 247
257, 342

S
D
D
13, 131, 262,
380, 398
30, 51, 60, 73,
386
E3
D
D
13, 131, 262,
380, 398
30, 51, 60, 73,
386

E1
D
D
13, 262

E2
D
D
283, 398

E3
D
D
131, 380

51, 73

60, 295

30, 386

E1
5, 223
105, 183
E1
120

E2
245, 247
257, 342
S

S
5, 223, 245, 247
105, 183, 257, 342
E2
5, 223, 245, 247

105, 183, 257, 342

3.7.4.

3.7.5.

Fase 2

283,
295,

283,
295,

Fase 3

Enrique P. Calot

S
D
D
13, 131, 262,
380, 398
30, 51, 60, 73,
386
E3
D
D
E3
13, 131, 262,
380, 398
30, 51, 60, 73,
386

283,
295,

283,
295,

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.7.6.

Fase 4

E1
D
D
13, 262

E2
D
D
283, 398

E3
D
D
131, 380

51, 73

60, 295

30, 386

E1
5, 223
105, 183
E1
120

E2
245, 247
257, 342
S
5, 13, 120, 131,
245, 247, 262,
380, 398
E1
5, 13, 120, 131,
245, 247, 262,
380, 398

S
5, 223, 245, 247
105, 183, 257, 342
E2
5, 223, 245, 247

75

n II
Algoritmos y Programacio

223,
283,

223,
283,

E2
105, 183, 257, 342

S
D
D
13, 131, 262, 283,
380, 398
30, 51, 60, 73, 295,
386
E3
D
D
E3
13, 131, 262, 283,
380, 398
E3
30, 51, 60, 73, 295,
386

Facultad de Ingeniera

76

3.8

3.7.7.

Merge Polif
asico con particiones formadas de 3 elementos

Fase final

E1
D
D
13, 262

E2
D
D
283, 398

E3
D
D
131, 380

51, 73

60, 295

30, 386

E1
5, 223
105, 183
E1
120

E2
245, 247
257, 342
S
5, 13, 120, 131,
245, 247, 262,
380, 398
E1
5, 13, 120, 131,
245, 247, 262,
380, 398

S
5, 223, 245, 247
105, 183, 257, 342
E2
5, 223, 245, 247

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.8.

223,
283,

223,
283,

S
D
D
13, 131, 262, 283,
380, 398
30, 51, 60, 73, 295,
386
E3
D
D
E3
13, 131, 262, 283,
380, 398

E2
105, 183, 257, 342

E3
30, 51, 60, 73, 295,
386

E2

E3

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 = {13, 262, 398}; p2 = {131, 283, 380}; . . . ; p6 = {105, 183, 247}; p7 = {120, 257, 342}.

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.
Fases
0
1
2
3
Enrique P. Calot

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

3.8

Merge Polif
asico con particiones formadas de 3 elementos

3.8.2.

77

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.8.3.

Fase 1

E1
D
131, 283, 380
5, 223, 245
120, 257, 342

E2
D
51, 60, 73
105, 183, 247

E3
13, 262, 398
30, 295, 386

E1
D
131, 283, 380

E2
D
51, 60, 73

E3
13, 262, 398
30, 295, 386

E1
5, 223, 245
120, 257, 342

E2
105, 183, 247

S
13, 262, 398
30, 51, 60, 73, 131,
283, 295, 380, 386
E3
13, 262, 398
30, 51, 60, 73, 131,
283, 295, 380, 386

E1
D
131, 283, 380

E2
D
51, 60, 73

E3
13, 262, 398
30, 295, 386

E1
5, 223, 245

E2
105, 183, 247

E1
120, 257, 342

S
5, 13, 105, 183, 223,
245, 247, 262, 398
E2
5, 13, 105, 183, 223,
245, 247, 262, 398

3.8.4.

3.8.5.

Fase 2

Fase 3

n II
Algoritmos y Programacio

S
13, 262, 398
30, 51, 60, 73, 131,
283, 295, 380, 386
E3
13, 262, 398
E3
30, 51, 60, 73, 131,
283, 295, 380, 386
Facultad de Ingeniera

78

3.9

3.8.6.

Merge Polif
asico con particiones formadas de 4 elementos

Fase final

E1
D
131, 283, 380

E2
D
51, 60, 73

E3
13, 262, 398
30, 295, 386

E1
5, 223, 245

E2
105, 183, 247

E1
120, 257, 342

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

S
5, 13, 105, 183, 223,
245, 247, 262, 398
E2
5, 13, 105, 183, 223,
245, 247, 262, 398

3.9.

E2

S
13, 262, 398
30, 51, 60, 73, 131,
283, 295, 380, 386
E3
13, 262, 398
E3
30, 51, 60, 73, 131,
283, 295, 380, 386

E3

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 = {13, 262, 283, 398}; p2 = {51, 73, 131, 380}; p3 = {30, 60, 295, 386}; p4 =
{5, 223, 245, 247}; p5 = {105, 183, 257, 342}; p6 = {120}.
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.
Fases
0
1
2
3
3.9.2.

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

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

3.9.3.

79

Fase 1

E1
D
13, 262, 283, 398
5, 223, 245, 247
120

E2
D
51, 73, 131, 380
105, 183, 257, 342

E3
D
30, 60, 295, 386

E1
D
13, 262, 283, 398

E2
D
51, 73, 131, 380

E3
D
30, 60, 295, 386

E1
5, 223, 245, 247
120

E2
105, 183, 257, 342

S
D
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398
E3
D
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398

E1
D
13, 262, 283, 398

E2
D
51, 73, 131, 380

E3
D
30, 60, 295, 386

E1
5, 223, 245, 247

E2
105, 183, 257, 342

E1
120

S
5, 105, 183, 223, 245,
247, 257, 342
E2
5, 105, 183, 223, 245,
247, 257, 342

3.9.4.

3.9.5.

Fase 2

Fase 3

n II
Algoritmos y Programacio

S
D
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398
E3
D
E3
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398
Facultad de Ingeniera

80

3.10

3.9.6.

Selecci
on de reemplazo con buffer de tama
no 2

Fase final

E1
D
13, 262, 283, 398

E2
D
51, 73, 131, 380

E3
D
30, 60, 295, 386

E1
5, 223, 245, 247

E2
105, 183, 257, 342

E1
120

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

S
5, 105, 183, 223, 245,
247, 257, 342
E2
5, 105, 183, 223, 245,
247, 257, 342

3.10.

E2

S
D
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398
E3
D
E3
13, 30, 51, 60, 73,
131, 262, 283, 295,
380, 386, 398

E3

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.
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

81

b1
b2
Sale
Entra

Nada
13
13

Nada
262
13
262
13
398
398
262
262
283
398
283
283
131
398
131
398
380
380
131
Nueva partici
on! Se cierra la partici
on p1 = {13, 262, 283, 398}
131
51
380
51
380
73
73
51
Nueva partici
on! Se cierra la partici
on p2 = {131, 380}
51
60
73
60
60
295
73
295
73
386
386
295
295
30
386
30
386
223
223
30
Nueva partici
on! Se cierra la partici
on p3 = {51, 60, 73, 295, 386}
30
5
223
5
223
245
245
5
245
247
247
5
247
183
183
5
Nueva partici
on! Se cierra la partici
on p4 = {30, 223, 245, 247}
5
105
183
105
105
257
183
257
183
342
342
257
257
120
342
120
342
Nada

120
Nueva partici
on! Se cierra la partici
on p5 = {5, 105, 183, 257, 342}
120
Nada
Finaliza la u
ltima partici
on en p6 = {120}

3.10.2.

Salida final

p1 = {13, 262, 283, 398};


p2 = {131, 380};
p3 = {51, 60, 73, 295, 386};
p4 = {30, 223, 245, 247};
p5 = {5, 105, 183, 257, 342};
p6 = {120}.

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

Facultad de Ingeniera

82

3.11

3.11.1.

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

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

3.11.2.

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

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.3.

Fase 1

E1
D
13, 262, 283, 398
30, 223, 245, 247
120

E2
D
131, 380
5, 105, 183, 257, 342

E3
D
51, 60, 73, 295, 386

E1
D
13, 262, 283, 398

E2
D
131, 380

E3
D
51, 60, 73, 295, 386

E1
30, 223, 245, 247
120

E2
5, 105, 183, 257, 342

S
D
13, 51, 60, 73,
262, 283, 295,
386, 398
E3
D
13, 51, 60, 73,
262, 283, 295,
386, 398

3.11.4.

Fase 2

Enrique P. Calot

131,
380,

131,
380,

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

3.11.5.

Fase 3

E1
D
13, 262, 283, 398

E2
D
131, 380

E3
D
51, 60, 73, 295, 386

E1
30, 223, 245, 247

E2
5, 105, 183, 257, 342

E1
120

S
5, 30, 105, 183, 223,
245, 247, 257, 342
E2
5, 30, 105, 183, 223,
245, 247, 257, 342

3.11.6.

S
D
13, 51, 60, 73, 131,
262, 283, 295, 380,
386, 398
E3
D
E3
13, 51, 60, 73, 131,
262, 283, 295, 380,
386, 398

Fase final

E1
D
13, 262, 283, 398

E2
D
131, 380

E3
D
51, 60, 73, 295, 386

E1
30, 223, 245, 247

E2
5, 105, 183, 257, 342

E1
120

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

S
5, 30, 105, 183, 223,
245, 247, 257, 342
E2
5, 30, 105, 183, 223,
245, 247, 257, 342

3.12.

83

E2

S
D
13, 51, 60, 73, 131,
262, 283, 295, 380,
386, 398
E3
D
E3
13, 51, 60, 73, 131,
262, 283, 295, 380,
386, 398

E3

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.12.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

84

3.13

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

b1
b2
a1
a2
Sale

Nada
13

Nada
13
262

13
398
262

262
398
283

283
398

131

Nada
398
380
131

380
398

131
51
398
131
51

Nueva partici
on! Se cierra la partici
on p1 = {13, 262, 283, 380, 398}
51
131
73

73
131

60

Nada
131
295
60

131
386
295
60

295
386

60
30
386
60
30

Nueva partici
on! Se cierra la partici
on p2 = {51, 73, 131, 295, 386}
30
60
223

60

223
5

Nada
245
223
5

223
245
247
5

245

247
5
183
247
5
183

Nueva partici
on! Se cierra la partici
on p3 = {30, 60, 223, 245, 247}
5
105
183

105
257
183

183
257
342

257

342
120

342
120

Nueva partici
on! Se cierra la partici
on p4 = {5, 105, 183, 257, 342}
120
Finaliza la u
ltima partici
on en p5 = {120}

3.12.2.

Entra
13
262
398
283
131
380
51
Nada

73
60
295
386
30
Nada

223
5
245
247
183
Nada

105
257
342
120
Nada

Nada

Salida final

p1 = {13, 262, 283, 380, 398};


p2 = {51, 73, 131, 295, 386};
p3 = {30, 60, 223, 245, 247};
p4 = {5, 105, 183, 257, 342};
p5 = {120}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.13

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

Fases
0
1
2

3.13.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

85

<5
Si
Si
No

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.13.3.

Fase 1

E1
13, 262, 283, 380, 398
5, 105, 183, 257, 342

E2
51, 73, 131, 295, 386
120

E3
30, 60, 223, 245, 247

E1
13, 262, 283, 380, 398

E2
51, 73, 131, 295, 386

E3
30, 60, 223, 245, 247

E1
5, 105, 183, 257, 342

E2
120

S
13, 30, 51, 60, 73,
131, 223, 245, 247,
262, 283, 295, 380,
386, 398
E3
13, 30, 51, 60, 73,
131, 223, 245, 247,
262, 283, 295, 380,
386, 398

3.13.4.

Fase 2

n II
Algoritmos y Programacio

Facultad de Ingeniera

86

3.14

3.13.5.

Selecci
on de reemplazo con buffer de tama
no 3

Fase final

E1
13, 262, 283, 380, 398

E2
51, 73, 131, 295, 386

E3
30, 60, 223, 245, 247

E1
5, 105, 183, 257, 342

E2
120

E2

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.14.

S
13, 30, 51, 60, 73,
131, 223, 245, 247,
262, 283, 295, 380,
386, 398
E3
13, 30, 51, 60, 73,
131, 223, 245, 247,
262, 283, 295, 380,
386, 398
E3

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.
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

87

b2
b3
Sale
Entra

Nada
13

Nada
262
262

Nada
398
262
398
13
283
262
398
262
131
131
398
283
380
131
398
380
51
131
398
398
73
131
73
partici
on! Se cierra la partici
on p1 = {13, 262, 283, 380, 398}
51
60
60
131
73
60
295
295
131
73
73
386
295
131
386
131
30
295
30
386
295
223
223
30
386
386
5
223
30
5
Nueva partici
on! Se cierra la partici
on p2 = {51, 60, 73, 131, 295, 386}
5
245
223
30
245
30
247
223
247
245
223
183
183
247
245
245
105
183
247
105
247
257
183
257
105
257
342
183
342
105
342
120
183
120
105
Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{5, 30, 223, 245, 247, 257, 342}
105
Nada
183
120

120
Nada
183

183
Nada
Finaliza la u
ltima partici
on en p4 = {105, 120, 183}
b1

13
13
13
283
283
380
51
51
Nueva

3.14.2.

Salida final

p1 = {13, 262, 283, 380, 398};


p2 = {51, 60, 73, 131, 295, 386};
p3 = {5, 30, 223, 245, 247, 257, 342};
p4 = {105, 120, 183}.

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

Facultad de Ingeniera

88

3.15

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

Fases
0
1
2
3.15.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.15.3.

Fase 1

E1
D

E2
13, 262, 283, 380, 398

5, 30, 223, 245, 247,


257, 342

105, 120, 183

3.15.4.

E3
51, 60, 73, 131, 295,
386

Fase 2

E1
D

E2
13, 262, 283, 380, 398

E3
51, 60, 73, 131, 295,
386

E1
5, 30, 223, 245, 247,
257, 342

E2
105, 120, 183

E1
D

E2
13, 262, 283, 380, 398

E3
51, 60, 73, 131, 295,
386

E1
5, 30, 223, 245, 247,
257, 342

E2
105, 120, 183

E2

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.15.5.

S
13, 51, 60, 73,
262, 283, 295,
386, 398
E3
13, 51, 60, 73,
262, 283, 295,
386, 398

131,
380,

131,
380,

Fase final

Enrique P. Calot

S
13, 51, 60, 73,
262, 283, 295,
386, 398
E3
13, 51, 60, 73,
262, 283, 295,
386, 398

131,
380,

131,
380,

E3

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

3.16.

89

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.
a3
Sale
Entra

Nada
13

Nada
262

Nada
398

13
283

262
131

Nada
380

283
51

Nada
73
73
380
Nada
73
398
Nada

p1 = {13, 262, 283, 380, 398}


51
60
131
60
73

60
295
131
295
73

73
386
131
295
386

131
30

295
386
30

Nada
223
223
295
386
30

223
5

295
386
30
5

Nada
245
245
295
386
30
5

245
247
247
295
386
30
5

247
183

295
386
30
5
183
295
Nada

386
30
5
183
386
Nada
30
5
183

Nueva partici
on! Se cierra la partici
on p2 = {51, 60, 73, 131, 223, 245, 247, 295, 386}
5
105
30
105
183

30
257
257
105
183

105
342
257
342
183

183
120
257
342

120

257
Nada

342

120

342
Nada
120

Nueva partici
on! Se cierra la partici
on p3 = {5, 30, 105, 183, 257, 342}
120
Nada
Finaliza la u
ltima partici
on en p4 = {120}
b1

13
13
13
283
283
283

131
Nueva

3.16.2.

b2
b3
a1
a2

262

262
398

262
398

398
131

380
398
131

380
398
131
51
380
398
131
51

398
131
51
51
73

partici
on! Se cierra la partici
on

Salida final

p1 = {13, 262, 283, 380, 398};


p2 = {51, 60, 73, 131, 223, 245, 247, 295, 386};
p3 = {5, 30, 105, 183, 257, 342};
p4 = {120}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

90

3.17

3.17.

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

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.
Fases
0
1
2

3.17.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
13, 262, 283, 380, 398

5, 30, 105, 183, 257,


342

120

3.17.4.

E3
51, 60, 73, 131, 223,
245, 247, 295, 386

S
13, 51, 60, 73,
223, 245, 247,
283, 295, 380,
398
E3
13, 51, 60, 73,
223, 245, 247,
283, 295, 380,
398

Fase 2

E1
D

E2
13, 262, 283, 380, 398

E3
51, 60, 73, 131, 223,
245, 247, 295, 386

E1
5, 30, 105, 183, 257,
342

E2
120

Enrique P. Calot

131,
262,
386,

131,
262,
386,

n II
Algoritmos y Programacio

3.18

Selecci
on Natural con buffers de tama
no 4

3.17.5.

Fase final

E1
D

E2
13, 262, 283, 380, 398

E3
51, 60, 73, 131, 223,
245, 247, 295, 386

E1
5, 30, 105, 183, 257,
342

E2
120

E2

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.18.

91

S
13, 51, 60, 73,
223, 245, 247,
283, 295, 380,
398
E3
13, 51, 60, 73,
223, 245, 247,
283, 295, 380,
398

131,
262,
386,

131,
262,
386,

E3

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.

3.18.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

92

3.19

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

b2
b3
b4
a1
a2
a3
a4
Sale
Entra

Nada
13

Nada
262
262

Nada
398
262
398

Nada
283
262
398
283

13
131
262
398
283

131
380
262
398
283

262
51

398
283
51

Nada
73

398
283
51
73

Nada
60

398
283
51
73
60

Nada
295
295
398
283
51
73
60

283
386
295
398
386
51
73
60

295
30

398
386
51
73
60
30
380
Nada

398
386
51
73
60
30
386
Nada

398

51
73
60
30
398
Nada
73
60
30

partici
on! Se cierra la partici
on p1 = {13, 131, 262, 283, 295, 380, 386, 398}
30
223
51
73
60
223

51
5

73
60
223
5

Nada
245
245
73
60
223
5

60
247
245
73
247
223
5

73
183
245
183
247
223
5

183
105
245

247
223
5
105

Nada
257
245
257
247
223
5
105

223
342
245
257
247
342
5
105

245
120

257
247
342
5
105
120

247
Nada

257

342
5
105
120

257
Nada

342
5
105
120

342
Nada
5
105
120

Nueva partici
on! Se cierra la partici
on p2 = {30, 51, 60, 73, 183, 223, 245, 247, 257, 342}
5
Nada

105
120

105
Nada

120

120
Nada
Finaliza la u
ltima partici
on en p3 = {5, 105, 120}
b1

13
13
13
13
131
380
380
380
380
380
380
380

51
Nueva

3.18.2.

Salida final

p1 = {13, 131, 262, 283, 295, 380, 386, 398};


p2 = {30, 51, 60, 73, 183, 223, 245, 247, 257, 342};
p3 = {5, 105, 120}.

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.
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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.20

Selecci
on de reemplazo con buffer de tama
no 5

3.19.2.

93

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.3.

Fase 1

E1
13, 131, 262, 283,
295, 380, 386, 398

E2
30, 51, 60, 73, 183,
223, 245, 247, 257,
342

E3
5, 105, 120

E1
13, 131, 262, 283,
295, 380, 386, 398

E2
30, 51, 60, 73, 183,
223, 245, 247, 257,
342

E3
5, 105, 120

E2

E3

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.19.4.

3.20.

Fase final

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

Facultad de Ingeniera

94

3.21

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

b1
b2
b3
b4

13

13
262

13
262
398

13
262
398
283
13
262
398
283
380
262
398
283
380
262
398
283
380
73
398
283
380
73
398
60
295
73
398
60
295
73
386
60
Nueva
partici
on!
Se
{13, 131, 262, 283, 380, 398}

b5

131
131
51
51
51
51
51
cierra

295
73
386
60
30
295
73
386
223
30
295
5
386
223
30
295
5
386
245
30
295
5
386
247
30
295
5
386
183
30
105
5
386
183
30
105
5
257
183
30
Nueva
partici
on!
Se
cierra
{51, 60, 73, 223, 245, 247, 295, 386}
105
342
257
183
105
342
257
183

342
257
183

342
257
183

342
257

342

Finaliza la u
ltima partici
on en

3.20.2.

Sale
Nada
Nada
Nada
Nada
Nada
13
131
262
283
380
398
la

Entra
13
262
398
283
131
380
51
73
60
295
386
partici
on

51
60
73
223
245
247
295
386
la

p1

30
223
5
245
247
183
105
257
partici
on

p2

5
342
30
30
120
120
105
Nada
120
120
Nada

183
Nada

257
Nada

342
Nada
p3 = {5, 30, 105, 120, 183, 257, 342}

Salida final

p1 = {13, 131, 262, 283, 380, 398};


p2 = {51, 60, 73, 223, 245, 247, 295, 386};
p3 = {5, 30, 105, 120, 183, 257, 342}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on Natural con buffers de tama
no 5

3.21.2.

95

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.3.

Fase 1

E1
13, 131, 262, 283,
380, 398

E2
51, 60, 73, 223, 245,
247, 295, 386

E3
5, 30, 105, 120, 183,
257, 342

E1
13, 131, 262, 283,
380, 398

E2
51, 60, 73, 223, 245,
247, 295, 386

E3
5, 30, 105, 120, 183,
257, 342

E2

E3

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.21.4.

3.22.

Fase final

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

Facultad de Ingeniera

96

3.23

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

b2
b3
b4
b5
a1
a2
a3
a4
a5
Sale

Nada

Nada
262

Nada
262
398

Nada
262
398
283

Nada
262
398
283
131

13
262
398
283
131

131
262
398
283

51

Nada
262
398
283

51
73

Nada
262
398
283

51
73
60

Nada
262
398
283
295
51
73
60

262
386
398
283
295
51
73
60

283
386
398

295
51
73
60
30

Nada
386
398

295
51
73
60
30
223
295
386
398

51
73
60
30
223
380
386
398

51
73
60
30
223
386

398

51
73
60
30
223
398
73
60
30
223

partici
on! Se cierra la partici
on p1 = {13, 131, 262, 283, 295, 380, 386, 398}
30
51
73
60

223
5

Nada
51
73
60
245
223
5

51
247
73
60
245
223
5

60
247
73
183
245
223
5

73
247
105
183
245
223
5

105
247
257
183
245
223
5

183
247
257
342
245
223
5

223
247
257
342
245

5
120

245
247
257
342

5
120

247

257
342

5
120

257

342

5
120

342
5
120

Nueva partici
on! Se cierra la partici
on p2 = {30, 51, 60, 73, 105, 183, 223, 245, 247, 257, 342}
5

120

120
Finaliza la u
ltima partici
on en p3 = {5, 120}
b1

13
13
13
13
13
380
380
380
380
380
380
380
380
380

51
Nueva

3.22.2.

Entra
13
262
398
283
131
380
51
73
60
295
386
30
223
Nada
Nada
Nada
Nada

5
245
247
183
105
257
342
120
Nada
Nada
Nada
Nada

Nada
Nada

Salida final

p1 = {13, 131, 262, 283, 295, 380, 386, 398};


p2 = {30, 51, 60, 73, 105, 183, 223, 245, 247, 257, 342};
p3 = {5, 120}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

Fases
0
1

3.23.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

97

<3
Si
No

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.3.

Fase 1

E1
13, 131, 262, 283,
295, 380, 386, 398

E2
30, 51, 60, 73, 105,
183, 223, 245, 247,
257, 342

E3
5, 120

E1
13, 131, 262, 283,
295, 380, 386, 398

E2
30, 51, 60, 73, 105,
183, 223, 245, 247,
257, 342

E3
5, 120

E2

E3

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.23.4.

3.24.

Fase final

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

Facultad de Ingeniera

98

3.25

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

b1
b2
b3
b4
b5
b6

13

13
262

13
262
398

13
262
398
283

13
262
398
283
131

13
262
398
283
131
380
51
262
398
283
131
380
73
262
398
283
131
380
60
262
398
283
131
380
60
262
398
283
295
380
60
386
398
283
295
380
60
386
398
30
295
380
60
386
398
30
223
380
60
386
398
30
223
5
60
245
398
30
223
5
60
245
247
30
223
5
Nueva
partici
on!
Se
cierra
la
{13, 51, 73, 131, 262, 283, 295, 380, 386, 398}
60
245
247
30
223
183
60
245
247
105
223
183
257
245
247
105
223
183
257
245
247
342
223
183
257
245
247
342
223
120
257
245
247
342

120
257

247
342

120
257

342

120

342

120

120
Nueva
partici
on!
Se
cierra
la
{5, 30, 60, 105, 183, 223, 245, 247, 257, 342}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
13
51
73
131
262
283
295
380
386
398

Entra
13
262
398
283
131
380
51
73
60
295
386
30
223
5
245
247

partici
on
5
30
60
105
183
223
245
247
257
342

p1

183
105
257
342
120
Nada
Nada
Nada
Nada
Nada

partici
on
120

p2

Nada

Finaliza la u
ltima partici
on en p3 = {120}

3.24.2.

Salida final

p1 = {13, 51, 73, 131, 262, 283, 295, 380, 386, 398};
p2 = {5, 30, 60, 105, 183, 223, 245, 247, 257, 342};
p3 = {120}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

3.25.2.

99

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.3.

Fase 1

E1
13, 51, 73, 131, 262,
283, 295, 380, 386,
398

E2
5, 30, 60, 105, 183,
223, 245, 247, 257,
342

E3
120

E1
13, 51, 73, 131, 262,
283, 295, 380, 386,
398

E2
5, 30, 60, 105, 183,
223, 245, 247, 257,
342

E3
120

E2

E3

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.25.4.

3.26.

Fase final

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

Facultad de Ingeniera

100

3.27

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

b1

13
13
13
13
13
13
51
73

295
295
295
295
295
295
295
295

60
Nueva

b2
b3
b4
b5
b6
a1
a2
a3
a4
a5
a6

262

262
398

262
398
283

262
398
283
131

262
398
283
131
380

262
398
283
131
380

262
398
283
131
380

262
398
283
131
380
60

262
398
283
131
380
60

262
398
283
386
380
60

398
283
386
380
60
30

398
283
386
380
60
30
223

398
283
386
380
60
30
223
5

398
283
386
380
60
30
223
5
245

398
283
386
380
60
30
223
5
245
247

398

386
380
60
30
223
5
245
247

398

386
380
60
30
223
5
245
247

398

386

60
30
223
5
245
247

398

60
30
223
5
245
247
30
223
5
245
247

partici
on! Se cierra la partici
on p1 = {13, 51, 73, 131, 262, 283, 295, 380, 386, 398}

60
60
257
257
257
257
257
257

120
Nueva

30
223
183
245
105
223
183
245
105
223
183
245
342
223
183
245
342
223

245
342

245
342

342

342

partici
on! Se cierra la partici
on

247

247

247

247

247
120

247
120

247
120

120

120

p2 = {5, 30, 60, 105, 183, 223, 245, 247, 257, 342}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
13
51
73
Nada
131
262
Nada
Nada
Nada
Nada
283
295
380
386
398

Entra
13
262
398
283
131
380
51
73
60
295
386
30
223
5
245
247
Nada
Nada
Nada
Nada
Nada

5
30
60
105
183
223
245
247
257
342

183
105
257
342
120
Nada
Nada
Nada
Nada
Nada

120

Nada

Finaliza la u
ltima partici
on en p3 = {120}

3.26.2.

Salida final

p1 = {13, 51, 73, 131, 262, 283, 295, 380, 386, 398};
p2 = {5, 30, 60, 105, 183, 223, 245, 247, 257, 342};
p3 = {120}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.27

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

Fases
0
1

3.27.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

101

<3
Si
No

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.27.3.

Fase 1

E1
13, 51, 73, 131, 262,
283, 295, 380, 386,
398

E2
5, 30, 60, 105, 183,
223, 245, 247, 257,
342

E3
120

E1
13, 51, 73, 131, 262,
283, 295, 380, 386,
398

E2
5, 30, 60, 105, 183,
223, 245, 247, 257,
342

E3
120

E2

E3

S
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398
E1
5, 13, 30, 51, 60, 73,
105, 120, 131, 183,
223, 245, 247, 257,
262, 283, 295, 342,
380, 386, 398

3.27.4.

Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

102

3.28

3.28.

Bubble Sort ascendente

3.28.1.

Desarrollo

Bubble Sort ascendente

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

18/20

13 262 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120 398

15/19

13 262 131 283 51 73 60 295 380 30 223 5 245 247 183 105 257 342 120 386 398

14/18

13 131 262 51 73 60 283 295 30 223 5 245 247 183 105 257 342 120 380 386 398

12/17

13 131 51 73 60 262 283 30 223 5 245 247 183 105 257 295 120 342 380 386 398

12/16

13 51 73 60 131 262 30 223 5 245 247 183 105 257 283 120 295 342 380 386 398

10/15

13 51 60 73 131 30 223 5 245 247 183 105 257 262 120 283 295 342 380 386 398

5/14

13 51 60 73 30 131 5 223 245 183 105 247 257 120 262 283 295 342 380 386 398

5/13

13 51 60 30 73

5 131 223 183 105 245 247 120 257 262 283 295 342 380 386 398

5/12

13 51 30 60

73 131 183 105 223 245 120 247 257 262 283 295 342 380 386 398

4/11

10

13 30 51

60 73 131 105 183 223 120 245 247 257 262 283 295 342 380 386 398

3/10

11

13 30

51 60 73 105 131 183 120 223 245 247 257 262 283 295 342 380 386 398

2/9

12

13 5

30 51 60 73 105 131 120 183 223 245 247 257 262 283 295 342 380 386 398

2/8

13

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/7

14

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/6

15

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/5

16

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/4

17

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/3

18

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/2

19

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/1

20

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort descendente

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

103

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

19/20

262 398 283 131 380 51 73 60 295 386 30 223 13 245 247 183 105 257 342 120 5

15/19

398 283 262 380 131 73 60 295 386 51 223 30 245 247 183 105 257 342 120 13

11/18

398 283 380 262 131 73 295 386 60 223 51 245 247 183 105 257 342 120 30 13

11/17

398 380 283 262 131 295 386 73 223 60 245 247 183 105 257 342 120 51 30 13

10/16

398 380 283 262 295 386 131 223 73 245 247 183 105 257 342 120 60 51 30 13

10/15

398 380 283 295 386 262 223 131 245 247 183 105 257 342 120 73 60 51 30 13

8/14

398 380 295 386 283 262 223 245 247 183 131 257 342 120 105 73 60 51 30 13

5/13

398 380 386 295 283 262 245 247 223 183 257 342 131 120 105 73 60 51 30 13

4/12

398 386 380 295 283 262 247 245 223 257 342 183 131 120 105 73 60 51 30 13

2/11

10

398 386 380 295 283 262 247 245 257 342 223 183 131 120 105 73 60 51 30 13

2/10

11

398 386 380 295 283 262 247 257 342 245 223 183 131 120 105 73 60 51 30 13

2/9

12

398 386 380 295 283 262 257 342 247 245 223 183 131 120 105 73 60 51 30 13

1/8

13

398 386 380 295 283 262 342 257 247 245 223 183 131 120 105 73 60 51 30 13

1/7

14

398 386 380 295 283 342 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/6

15

398 386 380 295 342 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/5

16

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/4

17

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/3

18

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/2

19

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/1

20

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

104

3.30

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

Bilateral Bubble Sort ascendente

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

18/20

13 262 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120 398

17/20

5 13 262 283 131 380 51 73 60 295 386 30 223 105 245 247 183 120 257 342 398

14/18

5 13 262 131 283 51 73 60 295 380 30 223 105 245 247 183 120 257 342 386 398

12/18

5 13 30 262 131 283 51 73 60 295 380 105 223 120 245 247 183 257 342 386 398

12/16

5 13 30 131 262 51 73 60 283 295 105 223 120 245 247 183 257 342 380 386 398

8/16

5 13 30 51 131 262 60 73 105 283 295 120 223 183 245 247 257 342 380 386 398

9/14

5 13 30 51 131 60 73 105 262 283 120 223 183 245 247 257 295 342 380 386 398

4/14

5 13 30 51 60 131 73 105 120 262 283 183 223 245 247 257 295 342 380 386 398

8/12

5 13 30 51 60 73 105 120 131 262 183 223 245 247 257 283 295 342 380 386 398

1/12

10

5 13 30 51 60 73 105 120 131 183 262 223 245 247 257 283 295 342 380 386 398

4/10

11

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/10

12

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/8

13

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/8

14

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/6

15

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/6

16

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/4

17

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/4

18

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/2

19

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/2

20

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort descendente

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

105

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

19/20

262 398 283 131 380 51 73 60 295 386 30 223 13 245 247 183 105 257 342 120 5

16/20

398 262 386 283 131 380 51 73 60 295 342 30 223 13 245 247 183 105 257 120 5

14/18

398 386 283 262 380 131 73 60 295 342 51 223 30 245 247 183 105 257 120 13

13/18

398 386 380 283 262 342 131 73 60 295 257 51 223 30 245 247 183 105 120 13

9/16

398 386 380 283 342 262 131 73 295 257 60 223 51 245 247 183 105 120 30 13

9/16

398 386 380 342 283 295 262 131 73 257 247 60 223 51 245 183 120 105 30 13

8/14

398 386 380 342 295 283 262 131 257 247 73 223 60 245 183 120 105 51 30 13

4/14

398 386 380 342 295 283 262 257 131 247 245 73 223 60 183 120 105 51 30 13

6/12

398 386 380 342 295 283 262 257 247 245 131 223 73 183 120 105 60 51 30 13

2/12

10

398 386 380 342 295 283 262 257 247 245 223 131 183 73 120 105 60 51 30 13

3/10

11

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/10

12

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/8

13

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/8

14

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/6

15

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/6

16

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/4

17

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/4

18

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/2

19

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/2

20

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

106

3.32

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

Selection Sort ascendente

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

1/20

398 262 13 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

1/19

398 386 13 283 131 380 51 73 60 295 262 30 223 5 245 247 183 105 257 342 120

1/18

398 386 380 283 131 13 51 73 60 295 262 30 223 5 245 247 183 105 257 342 120

1/17

398 386 380 342 131 13 51 73 60 295 262 30 223 5 245 247 183 105 257 283 120

1/16

398 386 380 342 295 13 51 73 60 131 262 30 223 5 245 247 183 105 257 283 120

1/15

398 386 380 342 295 283 51 73 60 131 262 30 223 5 245 247 183 105 257 13 120

1/14

398 386 380 342 295 283 262 73 60 131 51 30 223 5 245 247 183 105 257 13 120

1/13

398 386 380 342 295 283 262 257 60 131 51 30 223 5 245 247 183 105 73 13 120

1/12

398 386 380 342 295 283 262 257 247 131 51 30 223 5 245 60 183 105 73 13 120

1/11

10

398 386 380 342 295 283 262 257 247 245 51 30 223 5 131 60 183 105 73 13 120

1/10

11

398 386 380 342 295 283 262 257 247 245 223 30 51

5 131 60 183 105 73 13 120

1/9

12

398 386 380 342 295 283 262 257 247 245 223 183 51

5 131 60 30 105 73 13 120

1/8

13

398 386 380 342 295 283 262 257 247 245 223 183 131 5

14

398 386 380 342 295 283 262 257 247 245 223 183 131 120 51 60 30 105 73 13

1/6

15

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 60 30 51 73 13

1/5

16

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 30 51 60 13

1/4

17

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/3

18

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/2

19

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/1

20

398 386 380 342 295 283 262 257 247 245 223 183 131 120 105 73 60 51 30 13

1/0

Enrique P. Calot

51 60 30 105 73 13 120

1/7

n II
Algoritmos y Programacio

3.33

Selection Sort descendente

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

107

13 262 398 283 131 380 51 73 60 295 386 30 223 5 245 247 183 105 257 342 120

1/20

5 262 398 283 131 380 51 73 60 295 386 30 223 13 245 247 183 105 257 342 120

1/19

5 13 398 283 131 380 51 73 60 295 386 30 223 262 245 247 183 105 257 342 120

1/18

5 13 30 283 131 380 51 73 60 295 386 398 223 262 245 247 183 105 257 342 120

1/17

5 13 30 51 131 380 283 73 60 295 386 398 223 262 245 247 183 105 257 342 120

1/16

5 13 30 51 60 380 283 73 131 295 386 398 223 262 245 247 183 105 257 342 120

1/15

5 13 30 51 60 73 283 380 131 295 386 398 223 262 245 247 183 105 257 342 120

1/14

5 13 30 51 60 73 105 380 131 295 386 398 223 262 245 247 183 283 257 342 120

1/13

5 13 30 51 60 73 105 120 131 295 386 398 223 262 245 247 183 283 257 342 380

1/12

5 13 30 51 60 73 105 120 131 295 386 398 223 262 245 247 183 283 257 342 380

1/11

10

5 13 30 51 60 73 105 120 131 183 386 398 223 262 245 247 295 283 257 342 380

1/10

11

5 13 30 51 60 73 105 120 131 183 223 398 386 262 245 247 295 283 257 342 380

1/9

12

5 13 30 51 60 73 105 120 131 183 223 245 386 262 398 247 295 283 257 342 380

1/8

13

5 13 30 51 60 73 105 120 131 183 223 245 247 262 398 386 295 283 257 342 380

1/7

14

5 13 30 51 60 73 105 120 131 183 223 245 247 257 398 386 295 283 262 342 380

1/6

15

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 386 295 283 398 342 380

1/5

16

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 386 398 342 380

1/4

17

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 386 398 342 380

1/3

18

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 398 386 380

1/2

19

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

1/1

20

5 13 30 51 60 73 105 120 131 183 223 245 247 257 262 283 295 342 380 386 398

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-07-28
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:
13, 262, 398, 283, 131 , 380, 51, 73 , 60 , 295, 386 , 30, 223, 5, 245, 247 , 183,
105 , 257, 342, 120
Se pide:
a. Se ejecutan dos algoritmos de Quick Sort, el primero con 218 elementos y el segundo con 213 elementos.
Asumiendo que los arreglos de datos se encuentran en igualdad de situacion y que est
an distribuidos
aleatoriamente, cu
antas veces mas r
apido es el segundo con respecto al primero?
b. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente
(hacer al menos 4 swapdown).
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. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminar
los siguientes:
223, 245 , 257

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 4.

Resolucion Teorica Oficial de la Evaluacion Integradora tomada


el 4 de Agosto de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-08-04

* ecalot@fi.uba.ar


INDICE

Indice
1. Enunciado

2. Resoluci
on estricta
2.1. a. Pregunta teorica . . . . . . . . . . . . . . .
2.1.1. Respuesta . . . . . . . . . . . . . . . .
2.2. b. Radix Sort . . . . . . . . . . . . . . . . . .
2.2.1. Desarrollo . . . . . . . . . . . . . . . .
2.3. b. Quick Sort . . . . . . . . . . . . . . . . . .
2.3.1. Desarrollo . . . . . . . . . . . . . . . .
2.4. c. Merge Polif
asico . . . . . . . . . . . . . . .
2.4.1. C
alculo de la distribuci
on de columnas
2.4.2. Distribucion inicial . . . . . . . . . . .
2.4.3. Fase 1 . . . . . . . . . . . . . . . . . .
2.4.4. Fase 2 . . . . . . . . . . . . . . . . . .
2.4.5. Fase 3 . . . . . . . . . . . . . . . . . .
2.4.6. Fase 4 . . . . . . . . . . . . . . . . . .
2.4.7. Fase 5 . . . . . . . . . . . . . . . . . .
2.4.8. Fase final . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
y
.
.
.
.
.
.
.
.
.
.
.
.
.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
9
9
10
10
10
10
11
11
12
12
13
14
14
14
15
15
15
16

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.3.2. Heapfy paso 0 . . . .
3.3.3. Heapfy paso 1 . . . .
3.3.4. Heapfy paso 2 . . . .
3.3.5. Heapfy paso 3 . . . .
3.3.6. Heapfy paso 4 . . . .
3.3.7. Paso 1: intercambio
3.3.8. Paso 1: swapdown .
3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17
17
17
17
18
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26

Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

n II
Algoritmos y Programacio


INDICE

3.3.17. Paso 6: intercambio


3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
3.4.7. Paso 1: intercambio
3.4.8. Paso 1: swapdown .
3.4.9. Paso 2: intercambio
3.4.10. Paso 2: swapdown .
3.4.11. Paso 3: intercambio
3.4.12. Paso 3: swapdown .
3.4.13. Paso 4: intercambio
3.4.14. Paso 4: swapdown .
3.4.15. Paso 5: intercambio
3.4.16. Paso 5: swapdown .
3.4.17. Paso 6: intercambio
3.4.18. Paso 6: swapdown .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50

Facultad de Ingeniera


INDICE

3.5.

3.6.

3.7.

3.8.

3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .


3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.6. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase final . . . . . . . . . . . . . . . . . . . . . . .
Merge Polif
asico con particiones formadas de 3 elementos

Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
64
64
64
65
65
65
65
65
66
66
67
67
67
67
68
68
68
69
70
70

n II
Algoritmos y Programacio


INDICE

3.8.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.8.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 tama
no 2
3.11.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.11.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.13.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.15.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.17.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

70
71
71
71
71
72
72
72
72
73
73
73
74
74
74
75
75
76
76
76
76
77
77
77
77
78
78
79
79
79
79
80
80
80
80
81
81
81
82
82
82
82
83
83
83
84
84
84
84

Facultad de Ingeniera


INDICE

3.17.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.19.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20. Seleccion Natural con buffers de tama
no 4 . . . . . . . . . . . . . . . . . . . .
3.20.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21. Merge Polif
asico de las salidas por seleccion natural de buffers tama
no 4 . . .
3.21.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.21.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22. Seleccion de reemplazo con buffer de tama
no 5 . . . . . . . . . . . . . . . . .
3.22.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2. Salida final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23. Merge Polif
asico de las salidas por seleccion de reemplazo de buffer tama
no 5
3.23.1. C
alculo de la distribuci
on de columnas y dummies . . . . . . . . . . .
3.23.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.23.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.25.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . .
3.27.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.27.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

84
85
85
85
86
86
86
87
87
87
87
88
88
88
88
89
89
89
89
89
89
90
90
90
91
91
91
91
91
92
92
92
93
93
93
93
93
94
94
94
95
95
95
96
96
97
97
98
98

n II
Algoritmos y Programacio


INDICE

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 . . . . . . . . . .

n II
Algoritmos y Programacio

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

99
99
100
100
101
101

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
394, 281, 28, 197, 328 , 152, 368, 135 , 141 , 359, 379 , 91, 235, 5,
228, 262 , 159, 207 , 273, 160, 362
Se pide:

a. En el algoritmo de Quick Sort, suponiendo que existen 220 elementos, cu


al es el n
umero aproximado
de ejecuciones recursivas anidadas que pueden llegar a ser ejecutadas en el mejor de los casos?
b. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber
completado dos niveles de recursividad).
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. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.
e. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar los siguientes:
235, 228 , 273
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

En el algoritmo de Quick Sort, suponiendo que existen 220 elementos, cu


al es el n
umero aproximado
de ejecuciones recursivas anidadas que pueden llegar a ser ejecutadas en el mejor de los casos?
Enrique P. Calot

n II
Algoritmos y Programacio

2.2

b. Radix Sort

2.1.1.

Respuesta

En el mejor de los casos el pivote quedara en el centro dividiendo la particion exactamente a la


mitad en cada ejecuci
on. Si n = 2 hay una sola particion; si n = 4 en una particion y luego dos hijos
(despreciando el pivote del padre). Si n = 8 son 1 + 2 + 4, en n = 16 son 1 + 2 + 4 + 8, en el caso general
son 1 + 2 + 4 + ... + n/2 = n 1. Por lo tanto la cantidad de recorridas sobre particiones (coincidente con
la cantidad de ejecuciones recursivas) es aproximadamente n = 220 .

2.2.

b. Radix Sort

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

2.2.1.

Desarrollo

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


Paso 0
394
281
028
197
328
152
368
135
141
359
379
091
235
005
228
262
159
207
273
160
362

2.3.

Paso 1
160
281
141
091
152
262
362
273
394
135
235
005
197
207
028
328
368
228
359
379
159

Paso 2
005
207
028
328
228
135
235
141
152
359
159
160
262
362
368
273
379
281
091
394
197

Paso 3
005
028
091
135
141
152
159
160
197
207
228
235
262
273
281
328
359
362
368
379
394

b. Quick Sort

Desarrollar el algoritmo de Quick Sort (hasta haber completado dos niveles de recursividad).
n II
Algoritmos y Programacio

Facultad de Ingeniera

10

2.3.1.

2.4

Desarrollo

Paso 1

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

Paso 2

362 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 394

Paso 3

207 281 28 197 328 152 160 135 141 359 273 91 235 5 228 262 159 362 379 368

Final

2.4.

c. Merge Polif
asico

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

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.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.

Fases
0
1
2
3
4
5

2.4.2.

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

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.

Enrique P. Calot

n II
Algoritmos y Programacio

2.4

c. Merge Polif
asico

2.4.3.

Fase 1

E1
D
D
D
D
28
152
141
91
5
262
207
160
362

2.4.4.

11

E2
D
D
D
394
197
368
359
235
228
159
273

E3
D
D
D
281
328
135
379

E2
D
D
D
394
197
368
359
E2
235
228
159
273

E3
D
D
D
281
328
135
379
S

S
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379
E3
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379

Fase 2

E1
D
D
D
D
28
152
141
E1
91
5
262
207
160
362

n II
Algoritmos y Programacio

Facultad de Ingeniera

12

2.4

2.4.5.

Fase 3

E1
D
D
D
D
28
152
141
E1
91
5
262
207
E1
160
362

2.4.6.

c. Merge Polif
asico

E2
D
D
D
394
197
368
359
E2
235
228
159
273
S

E3
D
D
D
281
328
135
379
S
91, 235
5, 228
159, 262
207, 273, 281, 394
E2
91, 235
5, 228
159, 262
207, 273, 281, 394

S
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379
E3
D
D
D
281, 394
E3
28, 197, 328
135, 152, 368
141, 359, 379

E2
D
D
D
394
197
368
359
E2
235
228
159
273
S
28, 91,
328
5, 135,
368
E1
28, 91,
328
5, 135,
368

160, 197, 235,

E3
D
D
D
281
328
135
379
S
91, 235
5, 228
159, 262
207, 273, 281, 394
E2
91, 235

S
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379
E3
D
D
D
281, 394
E3
28, 197, 328

152, 228, 362,

5, 228

135, 152, 368

160, 197, 235,

E2
159, 262

E3
141, 359, 379

152, 228, 362,

207, 273, 281, 394

Fase 4

E1
D
D
D
D
28
152
141
E1
91
5
262
207
E1
160
362
S

Enrique P. Calot

n II
Algoritmos y Programacio

2.4

c. Merge Polif
asico

2.4.7.

13

Fase 5

E1
D
D
D
D
28
152
141
E1
91
5
262
207
E1
160

E3
D
D
D
281
328
135
379
S
91, 235
5, 228
159, 262
207, 273, 281, 394
E2
91, 235

S
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379
E3
D
D
D
281, 394
E3
28, 197, 328

5, 228

135, 152, 368

160,
328,

E2
D
D
D
394
197
368
359
E2
235
228
159
273
S
28, 91, 160, 197, 235,
328
5, 135, 152, 228, 362,
368
E1
28, 91, 160, 197, 235,
328

E2
159, 262

E3
141, 359, 379

160,
328,

E1
5, 135, 152, 228, 362,
368

E2
207, 273, 281, 394

362
S
28, 91, 141, 159,
197, 235, 262,
359, 379
E3
28, 91, 141, 159,
197, 235, 262,
359, 379

n II
Algoritmos y Programacio

Facultad de Ingeniera

14

2.5

2.4.8.

Fase final

E1
D
D
D
D
28
152
141
E1
91
5
262
207
E1
160

E3
D
D
D
281
328
135
379
S
91, 235
5, 228
159, 262
207, 273, 281, 394
E2
91, 235

S
D
D
D
281, 394
28, 197, 328
135, 152, 368
141, 359, 379
E3
D
D
D
281, 394
E3
28, 197, 328

5, 228

135, 152, 368

160,
328,

E2
D
D
D
394
197
368
359
E2
235
228
159
273
S
28, 91, 160, 197, 235,
328
5, 135, 152, 228, 362,
368
E1
28, 91, 160, 197, 235,
328

E2
159, 262

E3
141, 359, 379

160,
328,

E1
5, 135, 152, 228, 362,
368

E2
207, 273, 281, 394

E1

E2

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E3
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

362
S
28, 91, 141, 159,
197, 235, 262,
359, 379
E3
28, 91, 141, 159,
197, 235, 262,
359, 379

2.5.

d. Selecci
on Natural

d. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 5.

2.5.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

2.6

e. Ejercicio de B-trees

15

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

28

152

197
135

Nada
135
141

Nada
135
141

281
135
141

328
135
141
91

Nada
135
141
91
235

Nada
135
141
91
235
5
359
135
141
91
235
5
368
135
141
91
235
5
379
135
141
91
235
5
394

p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394}


5
135
141
91
235
228

91
135
141
262
235
228

135
159
141
262
235
228

141
159
207
262
235
228

159
273
207
262
235
228

207
273

262
235
228
160

Nada
273
362
262
235
228
160

228
273
362
262
235

160

235
273
362
262

160

262
273
362

160

273

362

160

362
160

Nueva partici
on! Se cierra la partici
on p2 = {5, 91, 135, 141, 159, 207, 228, 235, 262, 273, 362}
160
Finaliza la u
ltima partici
on en p3 = {160}
b1
b2
b3
b4
b5

394

394
281

394
281
28

394
281
28
197

394
281
28
197
328
394
281
152
197
328
394
281
368
197
328
394
281
368

328
394
281
368

328
394
281
368
359
328
394
379
368
359
328
394
379
368
359

394
379
368
359

394
379
368
359

394
379
368

394
379

394

135
141
91
235
5
Nueva partici
on! Se cierra la partici
on

2.5.2.

Entra
394
281
28
197
328
152
368
135
141
359
379
91
235
5
Nada
Nada
Nada
Nada

228
262
159
207
273
160
362
Nada
Nada
Nada
Nada
Nada

Nada

Salida final

p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394};


p2 = {5, 91, 135, 141, 159, 207, 228, 235, 262, 273, 362};
p3 = {160}.

2.6.

e. 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:
235, 228 , 273
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.6.1.

Inserci
on

Inserto 5 elementos: 394, 281, 28, 197, 328.

n II
Algoritmos y Programacio

Facultad de Ingeniera

16

2.6

e. Ejercicio de B-trees

281
28197 328394

Inserto 3 elementos: 152, 368, 135.


281
28135152197

328368394

Inserto 1 elemento: 141.


141281
28135 152197 328368394

Inserto 2 elementos: 359, 379.


141281368
28135 152197 328359 379394

Inserto 5 elementos: 91, 235, 5, 228, 262.


141228281368
52891135

152197 235262 328359 379394

Inserto 2 elementos: 159, 207.


141228281368
52891135

152159197207 235262 328359 379394

Inserto 3 elementos: 273, 160, 362.


228
141160
52891135

2.6.2.

281368

152159 197207 235262273 328359362 379394

Eliminaci
on

Elimino 2 elementos: 235, 228.


141160281368
52891135

152159 197207262273 328359362 379394

Elimino 1 elemento: 273.


141160281368
52891135

Enrique P. Calot

152159 197207262 328359362 379394

n II
Algoritmos y Programacio

3 Resoluci
on explayada

3.

17

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
394
281
028
197
328
152
368
135
141
359
379
091
235
005
228
262
159
207
273
160
362

3.2.

Paso 1
359
379
159
028
328
368
228
197
207
135
235
005
394
273
152
262
362
281
141
091
160

Paso 2
197
394
091
281
379
273
368
262
362
160
359
159
152
141
135
235
028
328
228
207
005

Paso 3
394
379
368
362
359
328
281
273
262
235
228
207
197
160
159
152
141
135
091
028
005

Quick Sort completo

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.

Heap Sort

Desarrollo

Paso 1

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

Paso 2

362 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 394

Paso 3

207 281 28 197 328 152 160 135 141 359 273 91 235 5 228 262 159 362 379 368

Paso 4

91 159 28 197 5 152 160 135 141 207 273 359 235 328 228 262 281

Paso 5

28

5 91 197 159 152 160 135 141

228 262 235 273 328 359 281

Paso 6

28

228 262 235

141 159 152 160 135 197

Paso 7

135 141 152 160 159

Paso 8

152 160 159

Final

3.3.

368 379

281 328 359

235 262

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

Heap Sort

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

Arbol
inicial

3.3.1.

394
281

28

197
135
262

328
141

159

207

359

273

160

152
379

91

359

379

235

368
5

228

362

Vector:
394

281

28

197

Enrique P. Calot

328

152

368

135

141

91

235

228

262

159

207

273

160

n II
Algoritmos y Programacio

362

3.3

Heap Sort

3.3.2.

19

Heapfy paso 0

394
281

28

197

328

135
262

141

159

207

359

273

160

152
379

91

368

235

228

362

Vector:
394

281

3.3.3.

28

197

328

152

368

135

141

359

379

91

235

228

262

159

207

273

160

362

228

135

159

207

141

160

359

Heapfy paso 1

394
281

28

197
262
135

328
273

159

207

362

141

160

152

368

379

91

235

228

273

362

379

91

235

359

Vector:
394

281

28

197

328

152

368

n II
Algoritmos y Programacio

262

Facultad de Ingeniera

20

3.3

3.3.4.

Heap Sort

Heapfy paso 2

394
281

28

273
262
135

379
207

159

197

141

235

362
160

328

91

368

152

228

359

Vector:
394

281

3.3.5.

28

273

379

235

368

262

207

362

328

91

152

228

135

159

197

141

160

359

28

135

159

197

141

160

281

Heapfy paso 3

394
379

368

273
262
135

362
207

159

197

368

273

141

359
160

235
328

91

228

152

28

281

Vector:
394

379

Enrique P. Calot

362

235

228

262

207

359

328

91

152

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.6.

21

Heapfy paso 4

394
379

368

273

362

262
135

207

159

197

368

273

235

359

141

160

328

91

228

152

28

281

Vector:
394

379

3.3.7.

362

235

228

262

207

359

328

91

152

28

135

159

197

141

160

281

28

135

159

197

141

160

394

Paso 1: intercambio

281
379

368

273
262
135

159

362
207

197

359

141

160

235
328

91

228

152

91

152

28

394

Vector:
281

379

368

273

362

235

228

n II
Algoritmos y Programacio

262

207

359

328

Facultad de Ingeniera

22

3.3

3.3.8.

Heap Sort

Paso 1: swapdown

379
362

368

273

359

262
135

207

159

197

281

141

160

235
328

91

228

152

91

152

28

394

Vector:
379

362

3.3.9.

368

273

359

235

228

262

207

281

328

28

135

159

197

141

160

394

28

135

159

197

141

379

394

Paso 2: intercambio

160
362

368

273
262
135

159

359
207

197

281

141

379

235
328

91

228

152

28

394

Vector:
160

362

368

273

Enrique P. Calot

359

235

228

262

207

281

328

91

152

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.10.

23

Paso 2: swapdown

368
362

235

273

359

262
135

207

159

197

281

141

379

160
328

91

228

152

28

394

Vector:
368

362

3.3.11.

235

273

359

160

228

262

207

281

328

91

152

28

135

159

197

141

379

394

28

135

159

197

368

379

394

Paso 3: intercambio

141
362

235

273
262
135

159

359
207

197

281

368

379

160
328

91

228

152

28

394

Vector:
141

362

235

273

359

160

228

n II
Algoritmos y Programacio

262

207

281

328

91

152

Facultad de Ingeniera

24

3.3

3.3.12.

Heap Sort

Paso 3: swapdown

362
359

235

273

328

262
135

207

159

197

368

281
379

160
141

91

228

152

28

394

Vector:
362

359

3.3.13.

235

273

328

160

228

262

207

281

141

91

152

28

135

159

197

368

379

394

28

135

159

362

368

379

394

Paso 4: intercambio

197
359

235

273
262
135

159

235

273

328
207

362

368

281
379

160
141

91

228

152

28

394

Vector:
197

359

Enrique P. Calot

328

160

228

262

207

281

141

91

152

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.14.

25

Paso 4: swapdown

359
328

235

273

281

262

207

135

159

235

273

362

197

368

379

160
141

91

228

152

28

394

Vector:
359

328

3.3.15.

281

160

228

262

207

197

141

91

152

28

135

159

362

368

379

394

28

135

359

362

368

379

394

Paso 5: intercambio

159
328

235

273
262

281
207

135

359

362

235

273

281

197

368

379

160
141

91

228

152

28

394

Vector:
159

328

160

228

n II
Algoritmos y Programacio

262

207

197

141

91

152

Facultad de Ingeniera

26

3.3

3.3.16.

Heap Sort

Paso 5: swapdown

328
281

235

273

197

262

207

135

359

362

235

273

197

368

160

159
379

141

91

228

152

28

394

Vector:
328

281

3.3.17.

160

228

262

207

159

141

91

152

28

135

359

362

368

379

394

28

328

359

362

368

379

394

Paso 6: intercambio

135
281

235

273
262

197
207

328

359

362

235

273

197

368

159
379

160
141

91

228

152

28

394

Vector:
135

281

Enrique P. Calot

160

228

262

207

159

141

91

152

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.18.

27

Paso 6: swapdown

281
273

235

262

197

135

207

328

359

362

235

262

197

368

160

159
379

141

91

228

152

28

394

Vector:
281

273

3.3.19.

160

228

135

207

159

141

91

152

28

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 7: intercambio

28
273

235

262
135
328

197
207

359

362

262

197

368

159
379

160
141

91

228

152

281

394

Vector:
28

273

235

160

228

n II
Algoritmos y Programacio

135

207

159

141

91

152

Facultad de Ingeniera

28

3.3.20.

3.3

Heap Sort

Paso 7: swapdown

273
262

235

207

197

135
328

28

359

159

362

368

379

197

160

228

160
141

91

228

152

281

394

Vector:
273

262

3.3.21.

235

207

135

28

159

141

91

152

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 8: intercambio

5
262

235

207

197

135
328

28

359

160

159

362

368

197

160

379

141

91

228

152

273

281

394

Vector:
5

262

235

207

Enrique P. Calot

228

135

28

159

141

91

152

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.22.

29

Paso 8: swapdown

262
207

235

135

197

5
328

28
359

362

160

159
368

379

141

91

228

152

273

281

394

Vector:
262

207

3.3.23.

235

135

197

160

228

28

159

141

91

152

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 9: intercambio

152
207

235

135

197

5
328

28
359

362

159
368

379

160
141

91

228

262

273

281

394

Vector:
152

207

235

135

197

160

228

n II
Algoritmos y Programacio

28

159

141

91

262

273

Facultad de Ingeniera

30

3.3.24.

3.3

Heap Sort

Paso 9: swapdown

235
207

228

135

197

5
328

28
359

362

160

159
368

379

141

91

152

262

273

281

394

Vector:
235

207

3.3.25.

228

135

197

160

152

28

159

141

91

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 10: intercambio

91
207

228

135

197

5
328

28
359

362

159
368

379

160
141

235

152

262

273

281

394

Vector:
91

207

228

135

Enrique P. Calot

197

160

152

28

159

141

235

262

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.26.

31

Paso 10: swapdown

228
207

160

135

197

5
328

28
359

362

159
368

379

91
141

235

152
262

273

281

394

Vector:
228

207

3.3.27.

160

135

197

91

152

28

159

141

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 11: intercambio

141
207

160

135
5
328

197
28

359

362

159
368

379

91
228

235

152
262

273

281

394

Vector:
141

207

160

135

197

91

152

n II
Algoritmos y Programacio

28

159

228

235

262

273

Facultad de Ingeniera

32

3.3

3.3.28.

Heap Sort

Paso 11: swapdown

207
197

160

135

159

5
328

28
359

362

141
368

379

91
228

235

152
262

273

281

394

Vector:
207

197

3.3.29.

160

135

159

91

152

28

141

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 12: intercambio

141
197

160

135
5
328

159
28

359

362

207
368

379

91
228

235

152
262

273

281

394

Vector:
141

197

160

135

Enrique P. Calot

159

91

152

28

207

228

235

262

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.30.

33

Paso 12: swapdown

197
159

160

135

141

5
328

28
359

362

207
368

379

91
228

235

152
262

273

281

394

Vector:
197

159

3.3.31.

160

135

141

91

152

28

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 13: intercambio

28
159

160

135
5
328

141
197

359

362

207

368

379

91
228

235

152
262

273

281

394

Vector:
28

159

160

135

141

91

152

n II
Algoritmos y Programacio

197

207

228

235

262

273

Facultad de Ingeniera

34

3.3

3.3.32.

Heap Sort

Paso 13: swapdown

160
159

152

135

141

197

328

359

362

207

368

379

91
228

235

28
262

273

281

394

Vector:
160

159

3.3.33.

152

135

141

91

28

197

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 14: intercambio

5
159

152

135
160
328

359

141
197

362

207

368

379

91
228

235

28
262

273

281

394

Vector:
5

159

152

135

Enrique P. Calot

141

91

28

160

197

207

228

235

262

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.34.

35

Paso 14: swapdown

159
141

152

135

160
328

197

359

362

152

135

207

368

379

91
228

235

28
262

273

281

394

Vector:
159

141

3.3.35.

91

28

160

197

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 15: intercambio

28
141

152

135
160
328

359

5
197

362

207

368

379

394

159

160

91
228

235

159
262

273

281

Vector:
28

141

152

135

91

n II
Algoritmos y Programacio

197

207

228

235

262

273

Facultad de Ingeniera

36

3.3

3.3.36.

Heap Sort

Paso 15: swapdown

152
141

91

135

160
328

197

359

362

207

368

28
228

379

394

159

160

235

159
262

273

281

Vector:
152

141

3.3.37.

91

135

28

197

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 16: intercambio

28
141

91

135
160
328

359

5
197

362

207

368

152
228

379

394

159

160

235

262

159
273

281

Vector:
28

141

91

135

Enrique P. Calot

152

197

207

228

235

262

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.38.

37

Paso 16: swapdown

141
135

91

28

160
328

197

359

362

207

368

152
228

379

394

159

160

235

159

262

273

281

Vector:
141

135

3.3.39.

91

28

152

197

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 17: intercambio

5
135

91

28
160
328

141
197

359

362

207

368

379

152
228

235

262

159
273

281

394

Vector:
5

135

91

28

141

152

159

n II
Algoritmos y Programacio

160

197

207

228

235

262

273

Facultad de Ingeniera

38

3.3

3.3.40.

Heap Sort

Paso 17: swapdown

135
28

91

141

160
328

197

359

362

207

368

379

152
228

235

159

262

273

281

394

Vector:
135

28

3.3.41.

91

141

152

159

160

197

207

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 18: intercambio

5
28

91

135
160
328

359

141
197

362

207

368

379

152
228

235

197

207

262

159
273

281

394

Vector:
5

28

91

135

141

Enrique P. Calot

152

159

160

228

235

262

273

n II
Algoritmos y Programacio

3.3

Heap Sort

3.3.42.

39

Paso 18: swapdown

91
28

135

141

160
328

197

359

362

207

368

379

152
228

235

197

207

159

262

273

281

394

Vector:
91

28

3.3.43.

135

141

152

159

160

228

235

262

273

281

328

359

362

368

379

394

281

328

359

362

368

379

394

Paso 19: intercambio

5
28

91

135
160
328

359

141
197

362

207

368

379

152
228

235

262

159
273

281

394

Vector:
5

28

91

135

141

152

159

n II
Algoritmos y Programacio

160

197

207

228

235

262

273

Facultad de Ingeniera

40

3.3

3.3.44.

Heap Sort

Paso 19: swapdown

28
5

91

135

141

160
328

197

359

362

207

368

379

152
228

235

159

262

273

281

394

Vector:
28

3.3.45.

91

135

141

152

159

160

197

207

228

235

262

273

281

328

359

362

368

379

394

273

281

328

359

362

368

379

394

Paso 20: intercambio

5
28

91

135
160
328

359

141
197

362

207

368

379

152
228

235

262

159
273

281

394

Vector:
5

28

91

135

141

Enrique P. Calot

152

159

160

197

207

228

235

262

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.3.46.

41

Paso 20: swapdown

5
28

91

135
160
328

141
197

359

362

207

368

379

152
228

235

197

207

159

262

273

281

394

Vector:
5

28

91

3.4.

135

141

152

159

160

228

235

262

273

281

328

359

362

368

379

394

Heap Sort descendente

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

Arbol
inicial

3.4.1.

394
281

28

197
135
262

328
141

159

207

359

273

160

152
379

91

359

379

235

368
5

228

362

Vector:
394

281

28

197

328

152

368

n II
Algoritmos y Programacio

135

141

91

235

228

262

159

207

273

160

Facultad de Ingeniera

362

42

3.4

3.4.2.

Heap Sort descendente

Heapfy paso 0

394
281

28

197

328

135
262

141

159

207

359

273

160

152
379

91

368

235

228

362

Vector:
394

281

3.4.3.

28

197

328

152

368

135

141

359

379

91

235

228

262

159

207

273

160

362

228

262

159

207

273

359

362

Heapfy paso 1

394
281

28

197
135
262

328
141

159

207

160

273

359

152

368

379

91

235

228

141

160

379

91

235

362

Vector:
394

281

28

197

Enrique P. Calot

328

152

368

135

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.4.

43

Heapfy paso 2

394
281

28

135

160

159
262

141

197

207

273

28

135

160

328
359

91

379

152

235

141

328

379

368

228

362

Vector:
394

281

3.4.5.

91

159

152

235

368

228

262

197

207

273

359

362

368

228

262

197

281

273

359

362

Heapfy paso 3

394
135

141
159
262

160
207

197

281

273

141

160

328
359

91
379

28

152

235

368

328

379

152

228

362

Vector:
394

135

91

28

n II
Algoritmos y Programacio

159

207

235

Facultad de Ingeniera

44

3.4

3.4.6.

Heap Sort descendente

Heapfy paso 4

5
135

28

141

160

159
262

207

197

281

91

328

273

359

379

152

228
235

368

379

152

394

362

Vector:
5

135

3.4.7.

28

141

160

91

228

159

207

328

235

368

394

262

197

281

273

359

362

Paso 1: intercambio

362
135

28

141
159
262

197

160
207

281

328

273

359

91
379

152

228
235

368

394

235

368

Vector:
362

135

28

141

Enrique P. Calot

160

91

228

159

207

328

379

152

394

262

197

281

273

n II
Algoritmos y Programacio

359

3.4

Heap Sort descendente

3.4.8.

45

Paso 1: swapdown

28
135

91

141
159
262

160
207

197

281

152

328

273

359

379

362

228

235

368

394

235

368

Vector:
28

135

3.4.9.

91

141

160

152

228

159

207

328

379

362

394

262

197

281

273

359

28

Paso 2: intercambio

359
135

91

141
159
262

197

160
207

281

328

273

28

152
379

362

235

228
368

394

Vector:
359

135

91

141

160

152

228

n II
Algoritmos y Programacio

159

207

328

379

362

235

368

394

262

197

281

273

Facultad de Ingeniera

46

3.4

3.4.10.

Heap Sort descendente

Paso 2: swapdown

91
135

152

141
159
262

160
207

197

281

328

273

28

235
379

362

228

359

368

394

Vector:
91

135

3.4.11.

152

141

160

235

228

159

207

328

379

362

359

368

394

262

197

281

273

28

91

28

Paso 3: intercambio

273
135

152

141

160

159
262

197

207
281

328
91

28

235
379

362

359

207

328

379

228
368

394

Vector:
273

135

152

141

Enrique P. Calot

160

235

228

159

362

359

368

394

262

197

281

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.12.

47

Paso 3: swapdown

135
141

152

159

160

197
262

207

273

281

328
91

28

235

228

379

362

359

207

328

379

368

394

Vector:
135

141

3.4.13.

152

159

160

235

228

197

362

359

368

394

262

273

281

91

28

368

394

262

273

135

91

28

Paso 4: intercambio

281
141

152

159

160

197
262

273

152

159

207
135

328
91

28

235
379

362

359

328

379

228
368

394

Vector:
281

141

160

235

228

n II
Algoritmos y Programacio

197

207

362

359

Facultad de Ingeniera

48

3.4

3.4.14.

Heap Sort descendente

Paso 4: swapdown

141
159

152

197

160

262

207

281

273

152

197

135

328
91

28

235
379

228

362

359

328

379

368

394

Vector:
141

159

3.4.15.

160

235

228

262

207

362

359

368

394

281

273

135

91

28

368

394

281

141

135

91

28

Paso 5: intercambio

273
159

152

197

160

262

207

281

141

135

152

197

160

328
91

28

235
379

228

362

359

368

328

379

362

394

Vector:
273

159

Enrique P. Calot

235

228

262

207

359

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.16.

49

Paso 5: swapdown

152
159

228

197

160

262

207

281

141

135

228

197

160

328
91

28

235
379

273

362

359

368

328

379

362

394

Vector:
152

159

3.4.17.

235

273

262

207

359

368

394

281

141

135

91

28

368

394

152

141

135

91

28

Paso 6: intercambio

281
159

228

197
262

160
207

328

235
379

152

141

135

91

28

228

197

160

235

273

262

362

273

359

368

394

379

362

359

Vector:
281

159

n II
Algoritmos y Programacio

207

328

Facultad de Ingeniera

50

3.4

3.4.18.

Heap Sort descendente

Paso 6: swapdown

159
160

228

197
262

281
207

328

235
379

152

141

135

91

28

228

197

281

235

273

262

362

273

359

368

394

379

362

359

Vector:
159

160

3.4.19.

207

328

368

394

152

141

135

91

28

368

159

152

141

135

91

28

Paso 7: intercambio

394
160

228

197
262
152

281
207

328

141

135

91

28

197

281

235

273

235
379

362

273

359

368

159

362

359

Vector:
394

160

228

Enrique P. Calot

262

207

328

379

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.20.

51

Paso 7: swapdown

160
197

228

207
262
152

281
394

235

328

141

135

91

28

207

281

235

273

379

362

273

359

368

159

362

359

Vector:
160

197

3.4.21.

228

262

394

328

379

368

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 8: intercambio

368
197

228

207
262
152

281
394

141

328

135

91

281

235

28

235
379

362

273

359

160

159

362

359

Vector:
368

197

228

207

273

n II
Algoritmos y Programacio

262

394

328

379

Facultad de Ingeniera

52

3.4

3.4.22.

Heap Sort descendente

Paso 8: swapdown

197
207

228

262
368
152

281
394

141

328

135

91

281

235

28

235
379

362

273

359

160

159

362

359

Vector:
197

207

3.4.23.

228

262

273

368

394

328

379

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 9: intercambio

359
207

228

262
368
152

281
394

141

135

328
91

28

235
379

362

273

197

160

159

Vector:
359

207

228

262

Enrique P. Calot

281

235

273

368

394

328

379

362

197

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.24.

53

Paso 9: swapdown

207
262

228

359
368
152

281
394

141

135

328
91

28

235
379

362

273

197

160

159

Vector:
207

262

3.4.25.

228

359

281

235

273

368

394

328

379

362

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 10: intercambio

362
262

228

359
368
152

281
394

141

135

328
91

28

235
379

207

273

197

160

159

Vector:
362

262

228

359

281

235

273

n II
Algoritmos y Programacio

368

394

328

379

207

197

Facultad de Ingeniera

54

3.4

3.4.26.

Heap Sort descendente

Paso 10: swapdown

228
262

235

359
368
152

281
394

141

135

328
91

28

362
379

207

273

197

160

159

Vector:
228

262

3.4.27.

235

359

281

362

273

368

394

328

379

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 11: intercambio

379
262

235

359
368
152

281
394

141

135

328
91

28

362
228

207

273

197

160

159

Vector:
379

262

235

359

Enrique P. Calot

281

362

273

368

394

328

228

207

197

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.28.

55

Paso 11: swapdown

235
262

273

359
368
152

281
394

141

135

328
91

28

362
228

207

379

197

160

159

Vector:
235

262

3.4.29.

273

359

281

362

379

368

394

328

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 12: intercambio

328
262

273

359
368
152

281
394

141

135

235
91

28

362
228

207

379

197

160

159

Vector:
328

262

273

359

281

362

379

n II
Algoritmos y Programacio

368

394

235

228

207

197

Facultad de Ingeniera

56

3.4

3.4.30.

Heap Sort descendente

Paso 12: swapdown

262
281

273

359
368
152

328
394

141

135

235
91

28

362
228

207

379

197

160

159

Vector:
262

281

3.4.31.

273

359

328

362

379

368

394

235

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 13: intercambio

394
281

273

359
368
152

328
262

141

135

235
91

28

362
228

207

379

197

160

159

Vector:
394

281

273

359

Enrique P. Calot

328

362

379

368

262

235

228

207

197

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.32.

57

Paso 13: swapdown

273
281

362

359
368
152

328
262

141

135

235
91

28

394
228

207

379

197

160

159

Vector:
273

281

3.4.33.

362

359

328

394

379

368

262

235

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 14: intercambio

368
281

362

359

328

273
152

141

262
135

235
91

28

394
228

207

197

379
160

159

Vector:
368

281

362

359

328

394

379

n II
Algoritmos y Programacio

273

262

235

228

207

197

Facultad de Ingeniera

58

3.4

3.4.34.

Heap Sort descendente

Paso 14: swapdown

281
328

362

359

368

273
152

262

141

135

235
91

28

394
228

207

379

197

160

159

Vector:
281

328

3.4.35.

362

359

368

394

379

273

262

235

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 15: intercambio

379
328

362

359

368

273
152

141

262
135

235
91

28

394
228

207

197

281
160

159

Vector:
379

328

362

359

Enrique P. Calot

368

394

281

273

262

235

228

207

197

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.36.

59

Paso 15: swapdown

328
359

362

379

368

273
152

262

141

135

235
91

28

394
228

207

281

197

160

159

Vector:
328

359

3.4.37.

362

379

368

394

281

273

262

235

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 16: intercambio

394
359

362

379

368

273
152

141

262
135

235
91

28

328
228

207

197

281
160

159

Vector:
394

359

362

379

368

328

281

n II
Algoritmos y Programacio

273

262

235

228

207

197

Facultad de Ingeniera

60

3.4

3.4.38.

Heap Sort descendente

Paso 16: swapdown

359
368

362

379

394

273
152

262

141

135

235
91

28

328
228

207

281

197

160

159

Vector:
359

368

3.4.39.

362

379

394

328

281

273

262

235

228

207

197

160

159

152

141

135

91

28

160

159

152

141

135

91

28

Paso 17: intercambio

394
368

362

379

359

273
152

141

262
135

235
91

28

328
228

207

273

262

197

281
160

159

Vector:
394

368

362

379

Enrique P. Calot

359

328

281

235

228

207

197

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.40.

61

Paso 17: swapdown

362
368

394

379

359

273
152

262

141

135

235
91

28

328
228

207

273

262

281

197

160

159

Vector:
362

368

3.4.41.

394

379

359

328

281

235

228

207

197

160

159

152

141

135

91

28

197

160

159

152

141

135

91

28

Paso 18: intercambio

379
368

394

362

359

273
152

141

262
135

235
91

28

328
228

207

273

262

197

281
160

159

Vector:
379

368

394

362

359

328

281

n II
Algoritmos y Programacio

235

228

207

Facultad de Ingeniera

62

3.4

3.4.42.

Heap Sort descendente

Paso 18: swapdown

368
379

394

362

359

273
152

262

141

135

235
91

28

328
228

207

273

262

281

197

160

159

Vector:
368

379

3.4.43.

394

362

359

328

281

235

228

207

197

160

159

152

141

135

91

28

197

160

159

152

141

135

91

28

Paso 19: intercambio

394
379

368

362

359

273
152

141

262
135

235
91

28

328
228

207

197

273

262

235

281
160

159

Vector:
394

379

368

362

Enrique P. Calot

359

328

281

228

207

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.44.

63

Paso 19: swapdown

379
394

368

362

359

273
152

262

141

135

235
91

28

328

281

228

207

197

273

262

235

160

159

Vector:
379

394

3.4.45.

368

362

359

328

281

228

207

197

160

159

152

141

135

91

28

197

160

159

152

141

135

91

28

Paso 20: intercambio

394
379

368

362

359

273
152

141

262
135

235
91

28

328
228

207

197

262

235

281
160

159

Vector:
394

379

368

362

359

328

281

n II
Algoritmos y Programacio

273

228

207

Facultad de Ingeniera

64

3.5

3.4.46.

Merge Polif
asico de las salidas por selecci
on natural

Paso 20: swapdown


394
379

368

362

359

273
152

141

262
135

235
91

28

328
228

207

273

262

281

197

160

159

Vector:
394

379

3.5.

368

362

359

328

281

235

228

207

197

160

159

152

141

135

91

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.
Fases
0
1
3.5.2.

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<3
Si
No

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.5.3.

Fase 1

E1
28, 152, 197, 281,
328, 359, 368, 379,
394
Enrique P. Calot

E2
5, 91, 135, 141, 159,
207, 228, 235, 262,
273, 362

E3
160

n II
Algoritmos y Programacio

28

3.6

Merge Polif
asico de las particiones marcadas

3.5.4.

Fase final

E1
28, 152, 197, 281,
328, 359, 368, 379,
394

E2
5, 91, 135, 141, 159,
207, 228, 235, 262,
273, 362

E3
160

E2

E3

3.6.

65

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

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 = {28, 197, 281, 328, 394}; p2 = {135, 152, 368}; . . . ; p6 = {159, 207}; p7 = {160, 273, 362}.
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.
Fases
0
1
2
3
3.6.2.

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

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.6.3.

Fase 1

E1
D
135, 152, 368
5, 91, 228, 235, 262
160, 273, 362

E2
D
141
159, 207

n II
Algoritmos y Programacio

E3
28, 197, 281, 328, 394
359, 379

Facultad de Ingeniera

66

3.6

3.6.4.

Merge Polif
asico de las particiones marcadas

Fase 2

E1
D
135, 152, 368

E2
D
141

E3
28, 197, 281, 328, 394
359, 379

E1
5, 91, 228, 235, 262
160, 273, 362

E2
159, 207

E1
D
135, 152, 368

E2
D
141

E3
28, 197, 281, 328, 394
359, 379

E1
5, 91, 228, 235, 262

E2
159, 207

E1
160, 273, 362

S
5, 28, 91, 159,
207, 228, 235,
281, 328, 394
E2
5, 28, 91, 159,
207, 228, 235,
281, 328, 394

3.6.5.

S
28, 197, 281, 328, 394
135, 141, 152, 359,
368, 379
E3
28, 197, 281, 328, 394
135, 141, 152, 359,
368, 379

Fase 3

Enrique P. Calot

197,
262,

197,
262,

S
28, 197, 281, 328, 394
135, 141, 152, 359,
368, 379
E3
28, 197, 281, 328, 394

E3
135, 141, 152, 359,
368, 379

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.6.6.

Fase final

E1
D
135, 152, 368

E2
D
141

E3
28, 197, 281, 328, 394
359, 379

E1
5, 91, 228, 235, 262

E2
159, 207

E1
160, 273, 362

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

S
5, 28, 91, 159,
207, 228, 235,
281, 328, 394
E2
5, 28, 91, 159,
207, 228, 235,
281, 328, 394

3.7.

67

197,
262,

197,
262,

E2

S
28, 197, 281, 328, 394
135, 141, 152, 359,
368, 379
E3
28, 197, 281, 328, 394

E3
135, 141, 152, 359,
368, 379

E3

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 = {281, 394}; p2 = {28, 197}; . . . ; p10 = {160, 273}; p11 = {362}.
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
3.7.2.

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

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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

68

3.7

3.7.3.

Merge Polif
asico con particiones formadas de 2 elementos

Fase 1

E1
D
D
281, 394
135, 368
5, 235
159, 207
362

E2
D
D
28, 197
141, 359
228, 262
160, 273

E3
D
D
152, 328
91, 379

E1
D
D
281, 394

E2
D
D
28, 197

E3
D
D
152, 328

135, 368

141, 359

91, 379

E1
5, 235
159, 207
362

E2
228, 262
160, 273

S
D
D
28,
328,
91,
368,
E3
D
D
28,
328,
91,
368,

E1
D
D
281, 394

E2
D
D
28, 197

E3
D
D
152, 328

135, 368

141, 359

91, 379

E1
5, 235
159, 207
E1
362

E2
228, 262
160, 273
S

S
5, 228, 235, 262
159, 160, 207, 273
E2
5, 228, 235, 262

159, 160, 207, 273

3.7.4.

3.7.5.

Fase 2

152, 197, 281,


394
135, 141, 359,
379

152, 197, 281,


394
135, 141, 359,
379

Fase 3

Enrique P. Calot

S
D
D
28,
328,
91,
368,
E3
D
D
E3
28,
328,
91,
368,

152, 197, 281,


394
135, 141, 359,
379

152, 197, 281,


394
135, 141, 359,
379

n II
Algoritmos y Programacio

3.7

Merge Polif
asico con particiones formadas de 2 elementos

3.7.6.

Fase 4

E1
D
D
281, 394

E2
D
D
28, 197

E3
D
D
152, 328

135, 368

141, 359

91, 379

E1
5, 235
159, 207
E1
362

E2
228, 262
160, 273
S
5, 28, 152, 197,
235, 262, 281,
362, 394
E1
5, 28, 152, 197,
235, 262, 281,
362, 394

S
5, 228, 235, 262
159, 160, 207, 273
E2
5, 228, 235, 262

69

n II
Algoritmos y Programacio

228,
328,

228,
328,

E2
159, 160, 207, 273

S
D
D
28,
328,
91,
368,
E3
D
D
E3
28,
328,

152, 197, 281,


394
135, 141, 359,
379

152, 197, 281,


394

E3
91, 135, 141, 359,
368, 379

Facultad de Ingeniera

70

3.8

3.7.7.

Merge Polif
asico con particiones formadas de 3 elementos

Fase final

E1
D
D
281, 394

E2
D
D
28, 197

E3
D
D
152, 328

135, 368

141, 359

91, 379

E1
5, 235
159, 207
E1
362

E2
228, 262
160, 273
S
5, 28, 152, 197,
235, 262, 281,
362, 394
E1
5, 28, 152, 197,
235, 262, 281,
362, 394

S
5, 228, 235, 262
159, 160, 207, 273
E2
5, 228, 235, 262

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.8.

228,
328,

228,
328,

S
D
D
28,
328,
91,
368,
E3
D
D
E3
28,
328,

152, 197, 281,


394
135, 141, 359,
379

152, 197, 281,


394

E2
159, 160, 207, 273

E3
91, 135, 141, 359,
368, 379

E2

E3

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 = {28, 281, 394}; p2 = {152, 197, 328}; . . . ; p6 = {159, 207, 262}; p7 = {160, 273, 362}.

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.
Fases
0
1
2
3
Enrique P. Calot

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

3.8

Merge Polif
asico con particiones formadas de 3 elementos

3.8.2.

71

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.8.3.

Fase 1

E1
D
152, 197, 328
5, 228, 235
160, 273, 362

E2
D
135, 141, 368
159, 207, 262

E3
28, 281, 394
91, 359, 379

E1
D
152, 197, 328

E2
D
135, 141, 368

E3
28, 281, 394
91, 359, 379

E1
5, 228, 235
160, 273, 362

E2
159, 207, 262

S
28, 281, 394
91, 135, 141,
197, 328, 359,
379
E3
28, 281, 394
91, 135, 141,
197, 328, 359,
379

E1
D
152, 197, 328

E2
D
135, 141, 368

E3
28, 281, 394
91, 359, 379

E1
5, 228, 235

E2
159, 207, 262

E1
160, 273, 362

S
5, 28, 159, 207, 228,
235, 262, 281, 394
E2
5, 28, 159, 207, 228,
235, 262, 281, 394

3.8.4.

3.8.5.

Fase 2

152,
368,

152,
368,

Fase 3

n II
Algoritmos y Programacio

S
28, 281, 394
91, 135, 141, 152,
197, 328, 359, 368,
379
E3
28, 281, 394
E3
91, 135, 141, 152,
197, 328, 359, 368,
379
Facultad de Ingeniera

72

3.9

3.8.6.

Merge Polif
asico con particiones formadas de 4 elementos

Fase final

E1
D
152, 197, 328

E2
D
135, 141, 368

E3
28, 281, 394
91, 359, 379

E1
5, 228, 235

E2
159, 207, 262

E1
160, 273, 362

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

S
5, 28, 159, 207, 228,
235, 262, 281, 394
E2
5, 28, 159, 207, 228,
235, 262, 281, 394

3.9.

E2

S
28, 281, 394
91, 135, 141, 152,
197, 328, 359, 368,
379
E3
28, 281, 394
E3
91, 135, 141, 152,
197, 328, 359, 368,
379

E3

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 = {28, 197, 281, 394}; p2 = {135, 152, 328, 368}; p3 = {91, 141, 359, 379}; p4 =
{5, 228, 235, 262}; p5 = {159, 160, 207, 273}; p6 = {362}.
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.
Fases
0
1
2
3
3.9.2.

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

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

3.9.3.

73

Fase 1

E1
D
28, 197, 281, 394
5, 228, 235, 262
362

E2
D
135, 152, 328, 368
159, 160, 207, 273

E3
D
91, 141, 359, 379

E1
D
28, 197, 281, 394

E2
D
135, 152, 328, 368

E3
D
91, 141, 359, 379

E1
5, 228, 235, 262
362

E2
159, 160, 207, 273

S
D
28, 91, 135, 141,
197, 281, 328,
368, 379, 394
E3
D
28, 91, 135, 141,
197, 281, 328,
368, 379, 394

E1
D
28, 197, 281, 394

E2
D
135, 152, 328, 368

E3
D
91, 141, 359, 379

E1
5, 228, 235, 262

E2
159, 160, 207, 273

E1
362

S
5, 159, 160, 207, 228,
235, 262, 273
E2
5, 159, 160, 207, 228,
235, 262, 273

3.9.4.

3.9.5.

Fase 2

152,
359,

152,
359,

Fase 3

n II
Algoritmos y Programacio

S
D
28, 91, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394
E3
D
E3
28, 91, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394
Facultad de Ingeniera

74

3.10

3.9.6.

Selecci
on de reemplazo con buffer de tama
no 2

Fase final

E1
D
28, 197, 281, 394

E2
D
135, 152, 328, 368

E3
D
91, 141, 359, 379

E1
5, 228, 235, 262

E2
159, 160, 207, 273

E1
362

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

S
5, 159, 160, 207, 228,
235, 262, 273
E2
5, 159, 160, 207, 228,
235, 262, 273

3.10.

E2

S
D
28, 91, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394
E3
D
E3
28, 91, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394

E3

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.
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

75

b1
b2
Sale
Entra

Nada
394
394

Nada
281
394
281
281
28
394
28
394
197
197
28
Nueva partici
on! Se cierra la partici
on p1 = {281, 394}
28
328
197
328
197
152
152
328
328
368
152
368
368
135
152
135
Nueva partici
on! Se cierra la partici
on p2 = {28, 197, 328, 368}
135
141
152
141
141
359
152
359
152
379
379
359
359
91
379
91
379
235
235
91
Nueva partici
on! Se cierra la partici
on p3 = {135, 141, 152, 359, 379}
91
5
235
5
235
228
228
5
Nueva partici
on! Se cierra la partici
on p4 = {91, 235}
5
262
228
262
228
159
159
262
262
207
159
207
Nueva partici
on! Se cierra la partici
on p5 = {5, 228, 262}
159
273
273
207
207
160
273
160
273
362
362
160
362
Nada

160
Nueva partici
on! Se cierra la partici
on p6 = {159, 207, 273, 362}
160
Nada
Finaliza la u
ltima partici
on en p7 = {160}

3.10.2.

Salida final

p1 = {281, 394};
p2 = {28, 197, 328, 368};
p3 = {135, 141, 152, 359, 379};
p4 = {91, 235};
p5 = {5, 228, 262};
p6 = {159, 207, 273, 362};
p7 = {160}.

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

Facultad de Ingeniera

76

3.11

3.11.1.

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

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

3.11.2.

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

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.11.3.

Fase 1

E1
D
28, 197, 328, 368
5, 228, 262
160

3.11.4.

E2
D
135, 141, 152, 359,
379
159, 207, 273, 362

E3
281, 394
91, 235

S
281, 394
28, 91, 135, 141,
197, 235, 328,
368, 379
E3
281, 394
28, 91, 135, 141,
197, 235, 328,
368, 379

Fase 2

E1
D
28, 197, 328, 368

E2
D
135, 141, 152, 359,
379

E3
281, 394
91, 235

E1
5, 228, 262
160

E2
159, 207, 273, 362

Enrique P. Calot

152,
359,

152,
359,

n II
Algoritmos y Programacio

3.12

Selecci
on Natural con buffers de tama
no 2

3.11.5.

Fase 3

E1
D
28, 197, 328, 368

E2
D
135, 141, 152, 359,
379

E3
281, 394
91, 235

E1
5, 228, 262

E2
159, 207, 273, 362

E1
160

S
5, 159, 207, 228, 262,
273, 281, 362, 394
E2
5, 159, 207, 228, 262,
273, 281, 362, 394

3.11.6.

S
281, 394
28, 91, 135, 141, 152,
197, 235, 328, 359,
368, 379
E3
281, 394
E3
28, 91, 135, 141, 152,
197, 235, 328, 359,
368, 379

Fase final

E1
D
28, 197, 328, 368

E2
D
135, 141, 152, 359,
379

E3
281, 394
91, 235

E1
5, 228, 262

E2
159, 207, 273, 362

E1
160

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

S
5, 159, 207, 228, 262,
273, 281, 362, 394
E2
5, 159, 207, 228, 262,
273, 281, 362, 394

3.12.

77

E2

S
281, 394
28, 91, 135, 141, 152,
197, 235, 328, 359,
368, 379
E3
281, 394
E3
28, 91, 135, 141, 152,
197, 235, 328, 359,
368, 379

E3

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.12.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

78

3.13

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

a1
a2
Sale

Nada

Nada

281
28

Nada
28
197
394

Se cierra la partici
on p1 = {281, 394}
28
328
197

197
328

152

Nada
328
368
152

328

368
152
135
368
152
135

Nueva partici
on! Se cierra la partici
on p2 = {28, 197, 328, 368}
135
152
141

141
152
359

152
379
359

359
379

91

Nada
379

91
235
379
91
235

Nueva partici
on! Se cierra la partici
on p3 = {135, 141, 152, 359, 379}
91

235
5

Nada
228
235
5

228
262
235
5

235
262

5
159
262
5
159

Nueva partici
on! Se cierra la partici
on p4 = {91, 228, 235, 262}
5
207
159

159
207
273

207

273
160

Nada
362
273
160

273
362

160

362
160

Nueva partici
on! Se cierra la partici
on p5 = {5, 159, 207, 273, 362}
160
Finaliza la u
ltima partici
on en p6 = {160}
b1
b2

394

394
281
394

394

28
197
Nueva partici
on!

3.12.2.

Entra
394
281
28
197
Nada

328
152
368
135
Nada

141
359
379
91
235
Nada

5
228
262
159
Nada

207
273
160
362
Nada
Nada

Nada

Salida final

p1 = {281, 394};
p2 = {28, 197, 328, 368};
p3 = {135, 141, 152, 359, 379};
p4 = {91, 228, 235, 262};
p5 = {5, 159, 207, 273, 362};
p6 = {160}.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.13

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

3.13.1.

79

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

3.13.2.

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

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.3.

Fase 1

E1
D
281, 394

E2
D
28, 197, 328, 368

91, 228, 235, 262


160

5, 159, 207, 273, 362

3.13.4.

E3
D
135, 141, 152, 359,
379

Fase 2

E1
D
281, 394

E2
D
28, 197, 328, 368

E3
D
135, 141, 152, 359,
379

E1
91, 228, 235, 262
160

E2
5, 159, 207, 273, 362

n II
Algoritmos y Programacio

S
D
28,
197,
368,
E3
D
28,
197,
368,

135, 141, 152,


281, 328, 359,
379, 394

135, 141, 152,


281, 328, 359,
379, 394

Facultad de Ingeniera

80

3.14

3.13.5.

Selecci
on de reemplazo con buffer de tama
no 3

Fase 3

E1
D
281, 394

E2
D
28, 197, 328, 368

E3
D
135, 141, 152, 359,
379

E1
91, 228, 235, 262

E2
5, 159, 207, 273, 362

E1
160

S
5, 91, 159, 207, 228,
235, 262, 273, 362
E2
5, 91, 159, 207, 228,
235, 262, 273, 362

3.13.6.

E3
28, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394

Fase final

E1
D
281, 394

E2
D
28, 197, 328, 368

E3
D
135, 141, 152, 359,
379

E1
91, 228, 235, 262

E2
5, 159, 207, 273, 362

E1
160

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

S
5, 91, 159, 207, 228,
235, 262, 273, 362
E2
5, 91, 159, 207, 228,
235, 262, 273, 362

3.14.

S
D
28, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394
E3
D

E2

S
D
28, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394
E3
D
E3
28, 135, 141, 152,
197, 281, 328, 359,
368, 379, 394

E3

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.
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

81

b1
b2
b3
Sale
Entra

Nada
394
394

Nada
281
394
281

Nada
28
394
281
28
28
197
394
281
197
197
328
394
281
328
281
152
394
152
328
328
368
394
152
368
368
135
394
152
135
394
141
141
152
135
Nueva
partici
on!
Se
cierra
la
partici
on
p1
=
{28, 197, 281, 328, 368, 394}
135
359
141
152
359
141
379
379
152
359
152
91
379
91
359
359
235
379
91
235
379
5
5
91
235
Nueva partici
on! Se cierra la partici
on p2 = {135, 141, 152, 359, 379}
5
228
228
91
235
91
262
228
262
235
228
159
159
262
235
235
207
159
262
207
262
273
159
273
207
273
160
159
160
207
Nueva partici
on! Se cierra la partici
on p3 = {5, 91, 228, 235, 262, 273}
159
362
362
160
207
160
Nada
362

207
207
Nada
362

362
Nada
Finaliza la u
ltima partici
on en p4 = {159, 160, 207, 362}

3.14.2.

Salida final

p1 = {28, 197, 281, 328, 368, 394};


p2 = {135, 141, 152, 359, 379};
p3 = {5, 91, 228, 235, 262, 273};
p4 = {159, 160, 207, 362}.

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

Facultad de Ingeniera

82

3.15

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

Fases
0
1
2
3.15.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.15.3.

Fase 1

E1
D

E2
28, 197, 281, 328,
368, 394
159, 160, 207, 362

E3
135, 141, 152, 359,
379

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 359,
379

E1
5, 91, 228, 235, 262,
273

E2
159, 160, 207, 362

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 359,
379

E1
5, 91, 228, 235, 262,
273

E2
159, 160, 207, 362

E2

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

5, 91, 228, 235, 262,


273
3.15.4.

3.15.5.

Fase 2
S
28,
197,
368,
E3
28,
197,
368,

135, 141, 152,


281, 328, 359,
379, 394
135, 141, 152,
281, 328, 359,
379, 394

Fase final

Enrique P. Calot

S
28,
197,
368,
E3
28,
197,
368,

135, 141, 152,


281, 328, 359,
379, 394
135, 141, 152,
281, 328, 359,
379, 394

E3

n II
Algoritmos y Programacio

3.16

Selecci
on Natural con buffers de tama
no 3

3.16.

83

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.
b1
b2
b3
a1
a2
a3
Sale

Nada
394

Nada
394
281

Nada
394
281
28

28
394
281
197

197
394
281
328

281
394

328
152

Nada
394
368
328
152

328
394
368

152
135

Nada
394
368

152
135
141
368
394

152
135
141
394
152
135
141

Nueva partici
on! Se cierra la partici
on p1 = {28, 197, 281, 328, 368, 394}
135
152
359
141

141
152
359
379

152

359
379
91

Nada
235
359
379
91

235

359
379
91
5

Nada

359
379
91
5
228
359

379
91
5
228
379
91
5
228

Nueva partici
on! Se cierra la partici
on p2 = {135, 141, 152, 235, 359, 379}
5
91
262
228

91
159
262
228

159
207
262
228

207
273
262
228

228
273
262

160

Nada
273
262
362
160

262
273

362
160

273

362
160

362
160

Nueva partici
on! Se cierra la partici
on p3 = {5, 91, 159, 207, 228, 262, 273, 362}
160
Finaliza la u
ltima partici
on en p4 = {160}

3.16.2.

Entra
394
281
28
197
328
152
368
135
141
Nada
Nada

359
379
91
235
5
228
Nada
Nada

262
159
207
273
160
362
Nada
Nada
Nada

Nada

Salida final

p1 = {28, 197, 281, 328, 368, 394};


p2 = {135, 141, 152, 235, 359, 379};
p3 = {5, 91, 159, 207, 228, 262, 273, 362};
p4 = {160}.
n II
Algoritmos y Programacio

Facultad de Ingeniera

84

3.17

3.17.

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

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.
Fases
0
1
2

3.17.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
28, 197, 281, 328,
368, 394
160

E3
135, 141, 152, 235,
359, 379

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 235,
359, 379

E1
5, 91, 159, 207, 228,
262, 273, 362

E2
160

S
28,
197,
359,
E3
28,
197,
359,

5, 91, 159, 207, 228,


262, 273, 362

3.17.4.

Fase 2

Enrique P. Calot

135, 141, 152,


235, 281, 328,
368, 379, 394
135, 141, 152,
235, 281, 328,
368, 379, 394

n II
Algoritmos y Programacio

3.18

Selecci
on de reemplazo con buffer de tama
no 4

3.17.5.

Fase final

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 235,
359, 379

E1
5, 91, 159, 207, 228,
262, 273, 362

E2
160

E2

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.18.

85

S
28,
197,
359,
E3
28,
197,
359,

135, 141, 152,


235, 281, 328,
368, 379, 394
135, 141, 152,
235, 281, 328,
368, 379, 394

E3

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

Facultad de Ingeniera

86

3.19

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

b1
b2
b3
b4
Sale

Nada
394

Nada
394
281

Nada
394
281
28

Nada
394
281
28
197
28
394
281
328
197
197
394
281
328
152
281
394
368
328
152
328
394
368
135
152
368
394
141
135
152
394
359
141
135
152
Nueva
partici
on!
Se
cierra
la
{28, 197, 281, 328, 368, 394}
135
359
141
379
152
141
359
91
379
152
152
359
91
379
235
235
359
91
379
5
359
228
91
379
5
379
228
91
262
5
Nueva
partici
on!
Se
cierra
la
{135, 141, 152, 235, 359, 379}
5
228
91
262
159
91
228
207
262
159
159
228
207
262
273
207
228
160
262
273
228
362
160
262
273
262
362
160

273
273
362
160

362

160

Nueva
partici
on!
Se
cierra
la
{5, 91, 159, 207, 228, 262, 273, 362}
160
Finaliza la u
ltima partici
on en p4 = {160}

3.18.2.

Entra
394
281
28
197
328
152
368
135
141
359
partici
on

p1

p2

p3

379
91
235
5
228
262
partici
on
159
207
273
160
362
Nada
Nada
Nada
partici
on
Nada

Salida final

p1 = {28, 197, 281, 328, 368, 394};


p2 = {135, 141, 152, 235, 359, 379};
p3 = {5, 91, 159, 207, 228, 262, 273, 362};
p4 = {160}.

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

Fases
0
1
2
3.19.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

87

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
28, 197, 281, 328,
368, 394
160

E3
135, 141, 152, 235,
359, 379

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 235,
359, 379

E1
5, 91, 159, 207, 228,
262, 273, 362

E2
160

S
28,
197,
359,
E3
28,
197,
359,

E1
D

E2
28, 197, 281, 328,
368, 394

E3
135, 141, 152, 235,
359, 379

E1
5, 91, 159, 207, 228,
262, 273, 362

E2
160

E2

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

5, 91, 159, 207, 228,


262, 273, 362
3.19.4.

3.19.5.

Fase 2
135, 141, 152,
235, 281, 328,
368, 379, 394
135, 141, 152,
235, 281, 328,
368, 379, 394

Fase final

n II
Algoritmos y Programacio

S
28,
197,
359,
E3
28,
197,
359,

135, 141, 152,


235, 281, 328,
368, 379, 394
135, 141, 152,
235, 281, 328,
368, 379, 394

E3

Facultad de Ingeniera

88

3.20

3.20.

Selecci
on Natural con buffers de tama
no 4

Selecci
on Natural con buffers de tama
no 4

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 4.
3.20.1.

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
394

Nada
281

Nada
28

Nada
197

28
328

197
152

Nada
368

281
135
135

Nada
141
135
141

Nada
359
135
141

328
379
135
141

359
91
135
141
91
368
Nada
135
141
91
379
Nada
135
141
91
394
Nada

p1 = {28, 197, 281, 328, 359, 368, 379, 394}


91
235
152
135
141
235

135
5
152

141
235
5

Nada
228
152
228
141
235
5

141
262
152
228
262
235
5

152
159
159
228
262
235
5

159
207
207
228
262
235
5

207
273
273
228
262
235
5

228
160
273

262
235
5
160

Nada
362
273
362
262
235
5
160

235
Nada
273
362
262

5
160

262
Nada
273
362

5
160

273
Nada

362

5
160

362
Nada
5
160

Nueva partici
on! Se cierra la partici
on p2 = {91, 135, 141, 152, 159, 207, 228, 235, 262, 273, 362}
5
Nada

160

160
Nada
Finaliza la u
ltima partici
on en p3 = {5, 160}
b1
b2
b3
b4
a1

394

394
281

394
281
28

394
281
28
197

394
281
328
197

394
281
328

152
394
281
328
368
152
394

328
368
152
394

328
368
152
394
359
328
368
152
394
359
379
368
152
394

379
368
152
394

379

152
394

152
152
135
141
91

Nueva partici
on! Se cierra la partici
on

3.20.2.

Salida final

p1 = {28, 197, 281, 328, 359, 368, 379, 394};


p2 = {91, 135, 141, 152, 159, 207, 228, 235, 262, 273, 362};
p3 = {5, 160}.

3.21.

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.
Enrique P. Calot

n II
Algoritmos y Programacio

3.22

Selecci
on de reemplazo con buffer de tama
no 5

3.21.1.

89

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
3.21.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.3.

Fase 1

E1
28, 197, 281, 328,
359, 368, 379, 394

E2
91, 135, 141, 152,
159, 207, 228, 235,
262, 273, 362

E3
5, 160

E1
28, 197, 281, 328,
359, 368, 379, 394

E2
91, 135, 141, 152,
159, 207, 228, 235,
262, 273, 362

E3
5, 160

E2

E3

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.21.4.

3.22.

Fase final

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.22.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

90

3.23

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

b1
b2
b3
b4
b5
Sale

Nada
394

Nada
394
281

Nada
394
281
28

Nada
394
281
28
197

Nada
394
281
28
197
328
28
394
281
152
197
328
152
394
281
368
197
328
197
394
281
368
135
328
281
394
141
368
135
328
328
394
141
368
135
359
359
394
141
368
135
379
368
394
141
91
135
379
379
394
141
91
135
235
394
5
141
91
135
235
Nueva
partici
on!
Se
cierra
la
partici
on
{28, 152, 197, 281, 328, 359, 368, 379, 394}
5
228
141
91
135
235
91
228
141
262
135
235
135
228
141
262
159
235
141
228
207
262
159
235
159
228
207
262
273
235
207
228
160
262
273
235
228
362
160
262
273
235
235
362
160
262
273

262
362
160

273

273
362
160

362

160

Nueva
partici
on!
Se
cierra
la
partici
on
{5, 91, 135, 141, 159, 207, 228, 235, 262, 273, 362}
160
Finaliza la u
ltima partici
on en p3 = {160}

3.22.2.

Entra
394
281
28
197
328
152
368
135
141
359
379
91
235
5
p1

228
262
159
207
273
160
362
Nada
Nada
Nada
Nada
p2

Nada

Salida final

p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394};


p2 = {5, 91, 135, 141, 159, 207, 228, 235, 262, 273, 362};
p3 = {160}.

3.23.

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.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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.24

Selecci
on de reemplazo con buffer de tama
no 6

3.23.2.

91

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.3.

Fase 1

E1
28, 152, 197, 281,
328, 359, 368, 379,
394

E2
5, 91, 135, 141, 159,
207, 228, 235, 262,
273, 362

E3
160

E1
28, 152, 197, 281,
328, 359, 368, 379,
394

E2
5, 91, 135, 141, 159,
207, 228, 235, 262,
273, 362

E3
160

E2

E3

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.23.4.

3.24.

Fase final

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

Facultad de Ingeniera

92

3.25

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

Sale
Nada
Nada
Nada
Nada
Nada
Nada
28
152
197
281
328
359
368
379
394

b1
b2
b3
b4
b5
b6

394

394
281

394
281
28

394
281
28
197

394
281
28
197
328

394
281
28
197
328
152
394
281
368
197
328
152
394
281
368
197
328
135
394
281
368
141
328
135
394
359
368
141
328
135
394
359
368
141
379
135
394
91
368
141
379
135
394
91
235
141
379
135
394
91
235
141
5
135
228
91
235
141
5
135
Nueva
partici
on!
Se
cierra
la
{28, 152, 197, 281, 328, 359, 368, 379, 394}

Entra
394
281
28
197
328
152
368
135
141
359
379
91
235
5
228

partici
on

5
228
91
235
141
262
135
91
228
159
235
141
262
135
135
228
159
235
141
262
207
141
228
159
235
273
262
207
159
228
160
235
273
262
207
160
228
362
235
273
262
207
207
228
362
235
273
262

228

362
235
273
262

235

362

273
262

262

362

273

273

362

362
Finaliza
la
u
ltima
partici
on
en
{5, 91, 135, 141, 159, 160, 207, 228, 235, 262, 273, 362}

3.24.2.

p1

262
159
207
273
160
362
Nada
Nada
Nada
Nada
Nada
Nada
p2

Salida final

p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394};


p2 = {5, 91, 135, 141, 159, 160, 207, 228, 235, 262, 273, 362}.

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.
Fases
0
1
Enrique P. Calot

c1
1
1

c2
0
1

c3
0
1

P3

i=1 ci

1
3

<2
Si
No
n II
Algoritmos y Programacio

3.26

Selecci
on Natural con buffers de tama
no 6

3.25.2.

93

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.25.3.

Fase 1

E1
D

E2
28, 152, 197, 281,
328, 359, 368, 379,
394

E3
5, 91, 135, 141, 159,
160, 207, 228, 235,
262, 273, 362

E1
D

E2
28, 152, 197, 281,
328, 359, 368, 379,
394

E3
5, 91, 135, 141, 159,
160, 207, 228, 235,
262, 273, 362

E2

E3

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.25.4.

3.26.

Fase final

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

Facultad de Ingeniera

94

3.27

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

b1
b2
b3
b4
b5
b6
a1
a2
a3
a4
a5
a6

394

394
281

394
281
28

394
281
28
197

394
281
28
197
328

394
281
28
197
328
152

394
281
368
197
328
152

394
281
368
197
328

135

394
281
368
197
328

135
141

394
281
368
197
328
359
135
141

394
281
368
379
328
359
135
141

394

368
379
328
359
135
141
91

394

368
379
328
359
135
141
91
235

394

368
379
328
359
135
141
91
235
5

394

368
379
328
359
135
141
91
235
5
228
394

368
379

359
135
141
91
235
5
228
394

368
379

135
141
91
235
5
228
394

379

135
141
91
235
5
228
394

135
141
91
235
5
228
135
141
91
235
5
228

Nueva partici
on! Se cierra la partici
on p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394}
135
135
207
207
207
207

Finaliza

3.26.2.

141
91
235
141
159
235
141
159
235
273
159
235
273
160
235
273
362
235
273
362
235
273
362
235
273
362

273
362

362

la u
ltima partici
on en

262
228

262
228

262
228

262
228

262
228

262
228

262
228

262

262

p2 = {5, 91, 135, 141, 159, 160, 207, 228, 235, 262, 273, 362}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
28
152
Nada
Nada
197
281
Nada
Nada
Nada
328
359
368
379
394

Entra
394
281
28
197
328
152
368
135
141
359
379
91
235
5
228
Nada
Nada
Nada
Nada
Nada

5
91
135
141
159
160
207
228
235
262
273
362

262
159
207
273
160
362
Nada
Nada
Nada
Nada
Nada
Nada

Salida final

p1 = {28, 152, 197, 281, 328, 359, 368, 379, 394};


p2 = {5, 91, 135, 141, 159, 160, 207, 228, 235, 262, 273, 362}.

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.
P3
<2
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
Enrique P. Calot

n II
Algoritmos y Programacio

3.27

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

3.27.2.

95

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.3.

Fase 1

E1
D

E2
28, 152, 197, 281,
328, 359, 368, 379,
394

E3
5, 91, 135, 141, 159,
160, 207, 228, 235,
262, 273, 362

E1
D

E2
28, 152, 197, 281,
328, 359, 368, 379,
394

E3
5, 91, 135, 141, 159,
160, 207, 228, 235,
262, 273, 362

E2

E3

S
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394
E1
5, 28, 91, 135, 141,
152, 159, 160, 197,
207, 228, 235, 262,
273, 281, 328, 359,
362, 368, 379, 394

3.27.4.

Fase final

n II
Algoritmos y Programacio

Facultad de Ingeniera

96

3.28

3.28.

Bubble Sort ascendente

3.28.1.

Desarrollo

Bubble Sort ascendente

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

20/20

281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362 394

16/19

28 197 281 152 328 135 141 359 368 91 235 5 228 262 159 207 273 160 362 379 394

13/18

28 197 152 281 135 141 328 359 91 235 5 228 262 159 207 273 160 362 368 379 394

12/17

28 152 197 135 141 281 328 91 235 5 228 262 159 207 273 160 359 362 368 379 394

11/16

28 152 135 141 197 281 91 235 5 228 262 159 207 273 160 328 359 362 368 379 394

11/15

28 135 141 152 197 91 235 5 228 262 159 207 273 160 281 328 359 362 368 379 394

6/14

28 135 141 152 91 197 5 228 235 159 207 262 160 273 281 328 359 362 368 379 394

5/13

28 135 141 91 152 5 197 228 159 207 235 160 262 273 281 328 359 362 368 379 394

5/12

28 135 91 141 5 152 197 159 207 228 160 235 262 273 281 328 359 362 368 379 394

4/11

10

28 91 135 5 141 152 159 197 207 160 228 235 262 273 281 328 359 362 368 379 394

2/10

11

28 91

5 135 141 152 159 197 160 207 228 235 262 273 281 328 359 362 368 379 394

2/9

12

28

91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

1/8

13

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/7

14

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/6

15

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/5

16

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/4

17

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/3

18

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/2

19

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/1

20

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort descendente

3.29.

Bubble Sort descendente

3.29.1.

Desarrollo

97

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

17/20

394 281 197 328 152 368 135 141 359 379 91 235 28 228 262 159 207 273 160 362 5

13/19

394 281 328 197 368 152 141 359 379 135 235 91 228 262 159 207 273 160 362 28

12/18

394 328 281 368 197 152 359 379 141 235 135 228 262 159 207 273 160 362 91 28

11/17

394 328 368 281 197 359 379 152 235 141 228 262 159 207 273 160 362 135 91 28

11/16

394 368 328 281 359 379 197 235 152 228 262 159 207 273 160 362 141 135 91 28

10/15

394 368 328 359 379 281 235 197 228 262 159 207 273 160 362 152 141 135 91 28

8/14

394 368 359 379 328 281 235 228 262 197 207 273 160 362 159 152 141 135 91 28

5/13

394 368 379 359 328 281 235 262 228 207 273 197 362 160 159 152 141 135 91 28

4/12

394 379 368 359 328 281 262 235 228 273 207 362 197 160 159 152 141 135 91 28

2/11

10

394 379 368 359 328 281 262 235 273 228 362 207 197 160 159 152 141 135 91 28

2/10

11

394 379 368 359 328 281 262 273 235 362 228 207 197 160 159 152 141 135 91 28

2/9

12

394 379 368 359 328 281 273 262 362 235 228 207 197 160 159 152 141 135 91 28

1/8

13

394 379 368 359 328 281 273 362 262 235 228 207 197 160 159 152 141 135 91 28

1/7

14

394 379 368 359 328 281 362 273 262 235 228 207 197 160 159 152 141 135 91 28

1/6

15

394 379 368 359 328 362 281 273 262 235 228 207 197 160 159 152 141 135 91 28

1/5

16

394 379 368 359 362 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

1/4

17

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/3

18

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/2

19

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/1

20

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

98

3.30

3.30.

Bilateral Bubble Sort ascendente

3.30.1.

Desarrollo

Bilateral Bubble Sort ascendente

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

20/20

281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362 394

16/20

5 281 28 197 328 152 368 135 141 359 379 91 235 159 228 262 160 207 273 362 394

15/18

28 197 281 152 328 135 141 359 368 91 235 159 228 262 160 207 273 362 379 394

11/18

28 91 197 281 152 328 135 141 359 368 159 235 160 228 262 207 273 362 379 394

11/16

28 91 197 152 281 135 141 328 359 159 235 160 228 262 207 273 362 368 379 394

8/16

28 91 135 197 152 281 141 159 328 359 160 235 207 228 262 273 362 368 379 394

9/14

28 91 135 152 197 141 159 281 328 160 235 207 228 262 273 359 362 368 379 394

5/14

28 91 135 141 152 197 159 160 281 328 207 235 228 262 273 359 362 368 379 394

7/12

28 91 135 141 152 159 160 197 281 207 235 228 262 273 328 359 362 368 379 394

2/12

10

28 91 135 141 152 159 160 197 207 281 228 235 262 273 328 359 362 368 379 394

4/10

11

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/10

12

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/8

13

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/8

14

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/6

15

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/6

16

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/4

17

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/4

18

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/2

19

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/2

20

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.31

Bilateral Bubble Sort descendente

3.31.

Bilateral Bubble Sort descendente

3.31.1.

Desarrollo

99

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

17/20

394 281 197 328 152 368 135 141 359 379 91 235 28 228 262 159 207 273 160 362 5

17/20

394 379 281 197 328 152 368 135 141 359 362 91 235 28 228 262 159 207 273 160 5

12/18

394 379 281 328 197 368 152 141 359 362 135 235 91 228 262 159 207 273 160 28

13/18

394 379 368 281 328 197 362 152 141 359 273 135 235 91 228 262 159 207 160 28

10/16

394 379 368 328 281 362 197 152 359 273 141 235 135 228 262 159 207 160 91 28

9/16

394 379 368 362 328 281 359 197 152 273 262 141 235 135 228 207 159 160 91 28

8/14

394 379 368 362 328 359 281 197 273 262 152 235 141 228 207 159 160 135 91 28

5/14

394 379 368 362 359 328 281 273 197 262 235 152 228 141 207 160 159 135 91 28

6/12

394 379 368 362 359 328 281 273 262 235 197 228 152 207 160 159 141 135 91 28

2/12

10

394 379 368 362 359 328 281 273 262 235 228 197 207 152 160 159 141 135 91 28

3/10

11

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/10

12

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/8

13

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/8

14

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/6

15

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/6

16

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/4

17

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/4

18

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/2

19

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/2

20

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

100

3.32

3.32.

Selection Sort ascendente

3.32.1.

Desarrollo

Selection Sort ascendente

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

1/20

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

1/19

394 379 28 197 328 152 368 135 141 359 281 91 235 5 228 262 159 207 273 160 362

1/18

394 379 368 197 328 152 28 135 141 359 281 91 235 5 228 262 159 207 273 160 362

1/17

394 379 368 362 328 152 28 135 141 359 281 91 235 5 228 262 159 207 273 160 197

1/16

394 379 368 362 359 152 28 135 141 328 281 91 235 5 228 262 159 207 273 160 197

1/15

394 379 368 362 359 328 28 135 141 152 281 91 235 5 228 262 159 207 273 160 197

1/14

394 379 368 362 359 328 281 135 141 152 28 91 235 5 228 262 159 207 273 160 197

1/13

394 379 368 362 359 328 281 273 141 152 28 91 235 5 228 262 159 207 135 160 197

1/12

394 379 368 362 359 328 281 273 262 152 28 91 235 5 228 141 159 207 135 160 197

1/11

10

394 379 368 362 359 328 281 273 262 235 28 91 152 5 228 141 159 207 135 160 197

1/10

11

394 379 368 362 359 328 281 273 262 235 228 91 152 5

28 141 159 207 135 160 197

1/9

12

394 379 368 362 359 328 281 273 262 235 228 207 152 5

28 141 159 91 135 160 197

1/8

13

394 379 368 362 359 328 281 273 262 235 228 207 197 5

28 141 159 91 135 160 152

1/7

14

394 379 368 362 359 328 281 273 262 235 228 207 197 160 28 141 159 91 135 5 152

1/6

15

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 141 28 91 135 5 152

1/5

16

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 28 91 135 5 141

1/4

17

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 91 135 5

28

1/3

18

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91

28

1/2

19

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91

28

1/1

20

394 379 368 362 359 328 281 273 262 235 228 207 197 160 159 152 141 135 91 28

1/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.33

Selection Sort descendente

3.33.

Selection Sort descendente

3.33.1.

Desarrollo

101

394 281 28 197 328 152 368 135 141 359 379 91 235 5 228 262 159 207 273 160 362

1/20

5 281 28 197 328 152 368 135 141 359 379 91 235 394 228 262 159 207 273 160 362

1/19

28 281 197 328 152 368 135 141 359 379 91 235 394 228 262 159 207 273 160 362

1/18

28 91 197 328 152 368 135 141 359 379 281 235 394 228 262 159 207 273 160 362

1/17

28 91 135 328 152 368 197 141 359 379 281 235 394 228 262 159 207 273 160 362

1/16

28 91 135 141 152 368 197 328 359 379 281 235 394 228 262 159 207 273 160 362

1/15

28 91 135 141 152 368 197 328 359 379 281 235 394 228 262 159 207 273 160 362

1/14

28 91 135 141 152 159 197 328 359 379 281 235 394 228 262 368 207 273 160 362

1/13

28 91 135 141 152 159 160 328 359 379 281 235 394 228 262 368 207 273 197 362

1/12

28 91 135 141 152 159 160 197 359 379 281 235 394 228 262 368 207 273 328 362

1/11

10

28 91 135 141 152 159 160 197 207 379 281 235 394 228 262 368 359 273 328 362

1/10

11

28 91 135 141 152 159 160 197 207 228 281 235 394 379 262 368 359 273 328 362

1/9

12

28 91 135 141 152 159 160 197 207 228 235 281 394 379 262 368 359 273 328 362

1/8

13

28 91 135 141 152 159 160 197 207 228 235 262 394 379 281 368 359 273 328 362

1/7

14

28 91 135 141 152 159 160 197 207 228 235 262 273 379 281 368 359 394 328 362

1/6

15

28 91 135 141 152 159 160 197 207 228 235 262 273 281 379 368 359 394 328 362

1/5

16

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 368 359 394 379 362

1/4

17

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 368 394 379 362

1/3

18

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 394 379 368

1/2

19

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

1/1

20

28 91 135 141 152 159 160 197 207 228 235 262 273 281 328 359 362 368 379 394

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-08-04
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:
394, 281, 28, 197, 328 , 152, 368, 135 , 141 , 359, 379 , 91, 235, 5, 228, 262 , 159,
207 , 273, 160, 362
Se pide:
a. En el algoritmo de Quick Sort, suponiendo que existen 220 elementos, cu
al es el n
umero aproximado de
ejecuciones recursivas anidadas que pueden llegar a ser ejecutadas en el mejor de los casos?
b. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Quick Sort (hasta haber completado dos niveles de recursividad).
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. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 5.
e. Procesar el B-tree de m = 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminar
los siguientes:
235, 228 , 273

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

Resolucion Teorica Oficial de la Evaluacion Integradora tomada


el 22 de Diciembre de 2008
Enrique P. Calot*
Catedra de Algoritmos y Programacion II
Facultad de Ingeniera
Universidad de Buenos Aires
2008-12-22

* 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.2.2. Heapfy paso 0 . . . . . . . . . . . . . . . . . . . . .
2.2.3. Heapfy paso 1 . . . . . . . . . . . . . . . . . . . . .
2.2.4. Heapfy paso 2 . . . . . . . . . . . . . . . . . . . . .
2.2.5. Heapfy paso 3 . . . . . . . . . . . . . . . . . . . . .
2.2.6. Heapfy paso 4 . . . . . . . . . . . . . . . . . . . . .
2.2.7. Paso 1: intercambio . . . . . . . . . . . . . . . . .
2.2.8. Paso 1: swapdown . . . . . . . . . . . . . . . . . .
2.2.9. Paso 2: intercambio . . . . . . . . . . . . . . . . .
2.2.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .
2.2.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
2.2.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
2.2.13. Paso 4: u
ltimo congelado pedido antes del corte . .
2.3. b. Pregunta teorica . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Respuesta . . . . . . . . . . . . . . . . . . . . . . .
2.4. c. Seleccion Natural . . . . . . . . . . . . . . . . . . . . .
2.4.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . .
2.4.2. Salida final . . . . . . . . . . . . . . . . . . . . . .
2.5. d. Ejercicio de B-trees . . . . . . . . . . . . . . . . . . . .
2.5.1. Inserci
on . . . . . . . . . . . . . . . . . . . . . . .
2.5.2. Eliminacion . . . . . . . . . . . . . . . . . . . . . .
2.6. e. Merge Polif
asico . . . . . . . . . . . . . . . . . . . . . .
2.6.1. C
alculo de la distribuci
on de columnas y dummies
2.6.2. Distribucion inicial . . . . . . . . . . . . . . . . . .
2.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8
8
9
9
9
10
10
11
11
12
12
13
13
14
14
15
15
15
15
16
16
16
17
17
17
18
18
18
18
19
19

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.3.2. Heapfy paso 0 . . . .
3.3.3. Heapfy paso 1 . . . .
3.3.4. Heapfy paso 2 . . . .
3.3.5. Heapfy paso 3 . . . .
3.3.6. Heapfy paso 4 . . . .
3.3.7. Paso 1: intercambio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19
20
20
20
21
21
21
22
22
23
23
24
24

Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

n II
Algoritmos y Programacio


INDICE

3.3.8. Paso 1: swapdown .


3.3.9. Paso 2: intercambio
3.3.10. Paso 2: swapdown .
3.3.11. Paso 3: intercambio
3.3.12. Paso 3: swapdown .
3.3.13. Paso 4: intercambio
3.3.14. Paso 4: swapdown .
3.3.15. Paso 5: intercambio
3.3.16. Paso 5: swapdown .
3.3.17. Paso 6: intercambio
3.3.18. Paso 6: swapdown .
3.3.19. Paso 7: intercambio
3.3.20. Paso 7: swapdown .
3.3.21. Paso 8: intercambio
3.3.22. Paso 8: swapdown .
3.3.23. Paso 9: intercambio
3.3.24. Paso 9: swapdown .
3.3.25. Paso 10: intercambio
3.3.26. Paso 10: swapdown .
3.3.27. Paso 11: intercambio
3.3.28. Paso 11: swapdown .
3.3.29. Paso 12: intercambio
3.3.30. Paso 12: swapdown .
3.3.31. Paso 13: intercambio
3.3.32. Paso 13: swapdown .
3.3.33. Paso 14: intercambio
3.3.34. Paso 14: swapdown .
3.3.35. Paso 15: intercambio
3.3.36. Paso 15: swapdown .
3.3.37. Paso 16: intercambio
3.3.38. Paso 16: swapdown .
3.3.39. Paso 17: intercambio
3.3.40. Paso 17: swapdown .
3.3.41. Paso 18: intercambio
3.3.42. Paso 18: swapdown .
3.3.43. Paso 19: intercambio
3.3.44. Paso 19: swapdown .
3.3.45. Paso 20: intercambio
3.3.46. Paso 20: swapdown .
3.4. Heap Sort descendente . . .

3.4.1. Arbol
inicial . . . .
3.4.2. Heapfy paso 0 . . . .
3.4.3. Heapfy paso 1 . . . .
3.4.4. Heapfy paso 2 . . . .
3.4.5. Heapfy paso 3 . . . .
3.4.6. Heapfy paso 4 . . . .
3.4.7. Paso 1: intercambio
3.4.8. Paso 1: swapdown .
3.4.9. Paso 2: intercambio
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
44
45
45
46
46
47
47
48
48

Facultad de Ingeniera


INDICE

3.4.10. Paso 2: swapdown . . . . . . . . . . . . . . . . . .


3.4.11. Paso 3: intercambio . . . . . . . . . . . . . . . . .
3.4.12. Paso 3: swapdown . . . . . . . . . . . . . . . . . .
3.4.13. Paso 4: intercambio . . . . . . . . . . . . . . . . .
3.4.14. Paso 4: swapdown . . . . . . . . . . . . . . . . . .
3.4.15. Paso 5: intercambio . . . . . . . . . . . . . . . . .
3.4.16. Paso 5: swapdown . . . . . . . . . . . . . . . . . .
3.4.17. Paso 6: intercambio . . . . . . . . . . . . . . . . .
3.4.18. Paso 6: swapdown . . . . . . . . . . . . . . . . . .
3.4.19. Paso 7: intercambio . . . . . . . . . . . . . . . . .
3.4.20. Paso 7: swapdown . . . . . . . . . . . . . . . . . .
3.4.21. Paso 8: intercambio . . . . . . . . . . . . . . . . .
3.4.22. Paso 8: swapdown . . . . . . . . . . . . . . . . . .
3.4.23. Paso 9: intercambio . . . . . . . . . . . . . . . . .
3.4.24. Paso 9: swapdown . . . . . . . . . . . . . . . . . .
3.4.25. Paso 10: intercambio . . . . . . . . . . . . . . . . .
3.4.26. Paso 10: swapdown . . . . . . . . . . . . . . . . . .
3.4.27. Paso 11: intercambio . . . . . . . . . . . . . . . . .
3.4.28. Paso 11: swapdown . . . . . . . . . . . . . . . . . .
3.4.29. Paso 12: intercambio . . . . . . . . . . . . . . . . .
3.4.30. Paso 12: swapdown . . . . . . . . . . . . . . . . . .
3.4.31. Paso 13: intercambio . . . . . . . . . . . . . . . . .
3.4.32. Paso 13: swapdown . . . . . . . . . . . . . . . . . .
3.4.33. Paso 14: intercambio . . . . . . . . . . . . . . . . .
3.4.34. Paso 14: swapdown . . . . . . . . . . . . . . . . . .
3.4.35. Paso 15: intercambio . . . . . . . . . . . . . . . . .
3.4.36. Paso 15: swapdown . . . . . . . . . . . . . . . . . .
3.4.37. Paso 16: intercambio . . . . . . . . . . . . . . . . .
3.4.38. Paso 16: swapdown . . . . . . . . . . . . . . . . . .
3.4.39. Paso 17: intercambio . . . . . . . . . . . . . . . . .
3.4.40. Paso 17: swapdown . . . . . . . . . . . . . . . . . .
3.4.41. Paso 18: intercambio . . . . . . . . . . . . . . . . .
3.4.42. Paso 18: swapdown . . . . . . . . . . . . . . . . . .
3.4.43. Paso 19: intercambio . . . . . . . . . . . . . . . . .
3.4.44. Paso 19: swapdown . . . . . . . . . . . . . . . . . .
3.4.45. Paso 20: intercambio . . . . . . . . . . . . . . . . .
3.4.46. Paso 20: swapdown . . . . . . . . . . . . . . . . . .
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.5.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.5. Fase final . . . . . . . . . . . . . . . . . . . . . . .
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.6.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

49
49
50
50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
63
64
64
65
65
66
66
67
67
67
67
67
68
68
68
68
69
69
69
69

n II
Algoritmos y Programacio


INDICE

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.7.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7. Fase 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.8. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.8.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.6. Fase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.7. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.9.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.10.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.12.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.14.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
n II
Algoritmos y Programacio

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

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

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

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

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

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

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

69
70
70
70
71
71
72
73
74
74
74
75
75
75
76
76
77
77
77
78
78
78
78
79
79
79
79
80
80
80
81
81
81
82
82
83
83
83
83
84
84
84
84
85
85
86
86
86
86

Facultad de Ingeniera


INDICE

3.14.5. Fase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14.6. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.16.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.18.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.4. Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18.5. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.20.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.22.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.24.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . .
Enrique P. Calot

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

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

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

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

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

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

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

87
87
87
87
88
88
88
89
89
89
90
90
90
91
91
91
92
92
92
92
93
93
93
93
94
94
94
94
94
94
95
95
95
96
96
96
96
96
97
97
97
98
98
98
98
98
99
99
99

n II
Algoritmos y Programacio


INDICE

3.26.2. Distribucion inicial . . . . . . . . . . . . . . . . . . . .


3.26.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . .
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.28.3. Fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.28.4. Fase final . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . .

n II
Algoritmos y Programacio

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
tama
no 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

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

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

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

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

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

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

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

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

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

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

100
100
100
100
100
101
101
101
102
102
102
103
103
104
104
105
105
106
106
107
107
108
108

Facultad de Ingeniera

1 Enunciado

1.

Enunciado
Dado el siguiente lote de datos:
153, 311, 304, 369, 31 , 110, 345, 60 , 86 , 329, 367 , 29, 277, 178,
186, 57 , 155, 120 , 296, 337, 136
Se pide:

a. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente (hacer al menos 4 swapdown).
b. que es mejor: seleccion de reemplazo con un buffer de tama
no 10 o seleccion natural con sus dos
buffers de tama
no 5? Defina ser mejor.
c. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 3.
d. Procesar el B-tree de orden 2 resultante de ingresar los elementos del lote en el orden dado y luego
eliminar los siguientes:
186, 178 , 296
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
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. Radix Sort

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


Enrique P. Calot

n II
Algoritmos y Programacio

2.2

a. Heap Sort

2.1.1.

Desarrollo

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


Paso 0
153
311
304
369
031
110
345
060
086
329
367
029
277
178
186
057
155
120
296
337
136

2.2.

Paso 1
110
060
120
311
031
153
304
345
155
086
186
296
136
367
277
057
337
178
369
329
029

Paso 2
304
110
311
120
329
029
031
136
337
345
153
155
057
060
367
369
277
178
086
186
296

Paso 3
029
031
057
060
086
110
120
136
153
155
178
186
277
296
304
311
329
337
345
367
369

a. Heap Sort

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

Arbol
inicial

2.2.1.

153
311

304

369
60

31
86

57

155

120

304

369

31

329
296

337

110
367

29

329

367

277

345
178

186

136

Vector:
153

311

110

345

n II
Algoritmos y Programacio

60

86

29

277

178

186

57

155

120

296

337

Facultad de Ingeniera

136

10

2.2

2.2.2.

a. Heap Sort

Heapfy paso 0

153
311

304

369

31

60
57

86

155

110

329

120

296

337

31

110

345

367

29

345

277

178

186

277

178

136

Vector:
153

311

2.2.3.

304

369

60

86

329

367

29

186

57

155

120

296

337

136

86

329

136

Heapfy paso 1

153
311

304

369
155
57

60

31
296

120

337
86

329

110
367

29

345

277

178

186

136

Vector:
153

311

304

369

Enrique P. Calot

31

110

345

155

296

337

367

29

277

178

186

57

60

120

n II
Algoritmos y Programacio

2.2

a. Heap Sort

2.2.4.

11

Heapfy paso 2

153
311

304

369
155

367
296

337

57

60

120

86

329

136

311

304

369

367

277

345

277

345

31

29

110

178

155

296

337

31

186

Vector:
153

2.2.5.

29

110

178

186

57

60

120

86

329

136

110

178

186

57

60

120

86

329

136

Heapfy paso 3

153
369

345

311
155
57

367
296

60

120

337
86

329

277
31

29

304

110

178

186

136

Vector:
153

369

345

311

367

277

304

n II
Algoritmos y Programacio

155

296

337

31

29

Facultad de Ingeniera

12

2.2

2.2.6.

a. Heap Sort

Heapfy paso 4

369
367

345

311
155
57

337
296

60

120

277

329
86

153

31

29

304

110

178

186

136

Vector:
369

367

2.2.7.

345

311

337

277

304

155

296

329

31

29

110

178

186

57

60

120

86

153

136

186

57

60

120

86

153

369

Paso 1: intercambio

136
367

345

311
155
57

60

337
296

120

329
86

153

277
31

29

304

110

178

186

369

Vector:
136

367

345

311

Enrique P. Calot

337

277

304

155

296

329

31

29

110

178

n II
Algoritmos y Programacio

2.2

a. Heap Sort

2.2.8.

13

Paso 1: swapdown

367
337

345

311

329

155
57

296

60

120

153
86

136

277
31

29

304

110

178

186

369

Vector:
367

337

2.2.9.

345

311

329

277

304

155

296

153

31

29

110

178

186

57

60

120

86

136

369

186

57

60

120

86

367

369

Paso 2: intercambio

136
337

345

311
155
57

329
296

153

60

120

86

367

311

329

277

304

277
31

29

110

304
178

186

369

Vector:
136

337

345

n II
Algoritmos y Programacio

155

296

153

31

29

110

178

Facultad de Ingeniera

14

2.2

2.2.10.

a. Heap Sort

Paso 2: swapdown

345
337

304

311

329

155
57

296

153

60

120

86

367

311

329

277

186

277
31

29

186

110

178

136

369

Vector:
345

337

2.2.11.

304

155

296

153

31

29

110

178

136

57

60

120

86

367

369

345

367

369

Paso 3: intercambio

86
337

304

311
155

329
296

57

60

120

345

304

311

329

277

153
367

277
31

29

186

110

178

136

369

Vector:
86

337

Enrique P. Calot

186

155

296

153

31

29

110

178

136

57

60

120

n II
Algoritmos y Programacio

2.3

b. Pregunta te
orica

2.2.12.

15

Paso 3: swapdown
337
329

304

311

153

155
57

296

60

86

120

345

367

153

277

186

277
31

29

186

110

178

136

369

Vector:
337

329

2.2.13.

304

311

155

296

86

31

29

110

178

136

57

60

120

345

367

369

136

57

60

337

345

367

369

Paso 4: u
ltimo congelado pedido antes del corte
120
329

304

311
155
57

153
296

60

337

86

277
31

345

367

369

277

186

155

29

186

110

178

136

Vector:
120

2.3.

329

304

311

153

296

86

31

29

110

178

b. Pregunta te
orica

que es mejor: seleccion de reemplazo con un buffer de tama


no 10 o seleccion natural con sus dos
buffers de tama
no 5? Defina ser mejor.
2.3.1.

Respuesta

Si ser mejor es tener la capacidad de producir menos particiones de mayor tama


no, un algoritmo
de seleccion de reemplazo con un buffer de tama
no 10 es mejor ya que tiene la capacidad para congelar
hasta 10 elementos antes de cerrar la particion contra 5 en la seleccion natural.
n II
Algoritmos y Programacio

Facultad de Ingeniera

16

2.4

2.4.

c. Selecci
on Natural

c. Selecci
on Natural

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 3.
2.4.1.

Desarrollo

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

Nada

Nada

Nada

153

304

Nada

Nada

311
60
345
60
369

= {153, 304, 311, 345, 369}


31
86
110
60

60
86
110
329

86
367
110
329

110
367

329
29

Nada
367
277
329
29

277
367

329
29
178

Nada
367

329
29
178
186
329
367

29
178
186
367
29
178
186

Nueva partici
on! Se cierra la partici
on p2 = {31, 60, 86, 110, 277, 329, 367}
29
57
178
186

57
155
178
186

155

178
186
120

Nada
296
178
186
120

178
296
337
186
120

186
296
337

120
136

296

337

120
136

337
120
136

Nueva partici
on! Se cierra la partici
on p3 = {29, 57, 155, 178, 186, 296, 337}
120

136

136
Finaliza la u
ltima partici
on en p4 = {120, 136}
b1
b2
b3
a1
a2

153

153
311

153
311
304

369
311
304

369
311

31

369
311

31
110
369
311
345
31
110
369

345
31
110
369

31
110
31
110
60

Nueva partici
on! Se cierra la partici
on p1

2.4.2.

Entra
153
311
304
369
31
110
345
60
Nada
Nada

86
329
367
29
277
178
186
Nada
Nada

57
155
120
296
337
136
Nada
Nada

Nada
Nada

Salida final

p1 = {153, 304, 311, 345, 369};


p2 = {31, 60, 86, 110, 277, 329, 367};
p3 = {29, 57, 155, 178, 186, 296, 337};
p4 = {120, 136}.
Enrique P. Calot

n II
Algoritmos y Programacio

2.5

d. Ejercicio de B-trees

2.5.

17

d. 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:
186, 178 , 296
Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
2.5.1.

Inserci
on

Inserto 5 elementos: 153, 311, 304, 369, 31.


304
31153 311369

Inserto 3 elementos: 110, 345, 60.


304
3160110153

311345369

Inserto 1 elemento: 86.


86304
3160 110153 311345369

Inserto 2 elementos: 329, 367.


86304345
3160 110153 311329 367369

Inserto 5 elementos: 29, 277, 178, 186, 57.


86178304345
29315760

110153 186277 311329 367369

Inserto 2 elementos: 155, 120.


86178304345
29315760

110120153155 186277 311329 367369

Inserto 3 elementos: 296, 337, 136.


178
86136
29315760

2.5.2.

304345

110120 153155 186277296 311329337 367369

Eliminaci
on

Elimino 2 elementos: 186, 178.

n II
Algoritmos y Programacio

Facultad de Ingeniera

18

2.6

e. Merge Polif
asico

86136304345
29315760

110120 153155277296 311329337 367369

Elimino 1 elemento: 296.


86136304345
29315760

2.6.

110120 153155277 311329337 367369

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.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.
P3
< 21
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
Si
2
2
2
1
5
Si
3
4
3
2
9
Si
4
7
6
4
17
Si
5
13 11 7
31
No
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.6.3.

Fase 1

E1
D
D
D
D
304
110
86
29
178
57
120
337
136
Enrique P. Calot

E2
D
D
D
153
369
345
329
277
186
155
296

E3
D
D
D
311
31
60
367

n II
Algoritmos y Programacio

3 Resoluci
on explayada

2.6.4.

Fase 2

E1
D
D
D
D
304
110
86
E1
29
178
57
120
337
136

2.6.5.

E2
D
D
D
153
369
345
329
E2
277
186
155
296

E3
D
D
D
311
31
60
367
S

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367

E2
D
D
D
153
369
345
329
E2
277
186
155
296
S

E3
D
D
D
311
31
60
367
S
29, 277
178, 186
57, 155
120, 153, 296, 311
E2
29, 277
178, 186
57, 155
120, 153, 296, 311

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
E3
31, 304, 369
60, 110, 345
86, 329, 367

Fase 3

E1
D
D
D
D
304
110
86
E1
29
178
57
120
E1
337
136

3.

19

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

Facultad de Ingeniera

20

3.1

3.1.

Radix Sort descendente

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
153
311
304
369
031
110
345
060
086
329
367
029
277
178
186
057
155
120
296
337
136

3.2.

Paso 1
369
329
029
178
367
277
057
337
086
186
296
136
345
155
304
153
311
031
110
060
120

Paso 2
296
086
186
178
277
369
367
060
057
155
153
345
337
136
031
329
029
120
311
110
304

Paso 3
369
367
345
337
329
311
304
296
277
186
178
155
153
136
120
110
086
060
057
031
029

Quick Sort

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.

21

Desarrollo

Paso 1

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

Paso 2

86 136 120 57 31 110 29 60 153 329 367 345 277 178 186 369 155 304 296 337 311

Paso 3

31 60 29 57 86 110 120 136

155 311 296 277 178 186 304 329 369 345 337 367

Paso 4

29 31 60 57

110 120 136

155 311 296 277 178 186 304

Paso 5

57 60

120 136

304 296 277 178 186 311

337 345 367

Paso 6

186 296 277 178 304

337 345

Paso 7

178 186 277 296

Final

367 345 337 369

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

3.3.

Heap Sort completo

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

Arbol
inicial

3.3.1.

153
311

304

369
60

31
86

57

155

120

304

369

31

329
296

337

110
367

29

329

367

277

345
178

186

136

Vector:
153

311

110

345

n II
Algoritmos y Programacio

60

86

29

277

178

186

57

155

120

296

337

Facultad de Ingeniera

136

22

3.3

3.3.2.

Heap Sort completo

Heapfy paso 0

153
311

304

369

31

60
57

86

155

110

329

120

296

337

31

110

345

367

29

345

277

178

186

277

178

136

Vector:
153

311

3.3.3.

304

369

60

86

329

367

29

186

57

155

120

296

337

136

86

329

136

Heapfy paso 1

153
311

304

369
155
57

60

31
296

120

337
86

329

110
367

29

345

277

178

186

136

Vector:
153

311

304

369

Enrique P. Calot

31

110

345

155

296

337

367

29

277

178

186

57

60

120

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.4.

23

Heapfy paso 2

153
311

304

369
155

367
296

337

57

60

120

86

329

136

311

304

369

367

277

345

277

345

31

29

110

178

155

296

337

31

186

Vector:
153

3.3.5.

29

110

178

186

57

60

120

86

329

136

110

178

186

57

60

120

86

329

136

Heapfy paso 3

153
369

345

311
155
57

367
296

60

120

337
86

329

277
31

29

304

110

178

186

136

Vector:
153

369

345

311

367

277

304

n II
Algoritmos y Programacio

155

296

337

31

29

Facultad de Ingeniera

24

3.3

3.3.6.

Heap Sort completo

Heapfy paso 4

369
367

345

311
155
57

337
296

60

120

277

329
86

153

31

29

304

110

178

186

136

Vector:
369

367

3.3.7.

345

311

337

277

304

155

296

329

31

29

110

178

186

57

60

120

86

153

136

186

57

60

120

86

153

369

Paso 1: intercambio

136
367

345

311
155
57

60

337
296

120

329
86

153

277
31

29

304

110

178

186

369

Vector:
136

367

345

311

Enrique P. Calot

337

277

304

155

296

329

31

29

110

178

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.8.

25

Paso 1: swapdown

367
337

345

311

329

155
57

296

60

120

153
86

136

277
31

29

304

110

178

186

369

Vector:
367

337

3.3.9.

345

311

329

277

304

155

296

153

31

29

110

178

186

57

60

120

86

136

369

186

57

60

120

86

367

369

Paso 2: intercambio

136
337

345

311
155
57

329
296

153

60

120

86

367

311

329

277

304

277
31

29

110

304
178

186

369

Vector:
136

337

345

n II
Algoritmos y Programacio

155

296

153

31

29

110

178

Facultad de Ingeniera

26

3.3

3.3.10.

Heap Sort completo

Paso 2: swapdown

345
337

304

311

329

155
57

296

153

60

120

86

367

311

329

277

186

277
31

29

186

110

178

136

369

Vector:
345

337

3.3.11.

304

155

296

153

31

29

110

178

136

57

60

120

86

367

369

345

367

369

Paso 3: intercambio

86
337

304

311
155

329
296

57

60

120

345

304

311

329

277

153
367

277
31

29

186

110

178

136

369

Vector:
86

337

Enrique P. Calot

186

155

296

153

31

29

110

178

136

57

60

120

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.12.

27

Paso 3: swapdown

337
329

304

311

153

155
57

296

60

86

120

345

367

153

277

186

277
31

29

186

110

178

136

369

Vector:
337

329

3.3.13.

304

311

155

296

86

31

29

110

178

136

57

60

120

345

367

369

136

57

60

337

345

367

369

Paso 4: intercambio

120
329

304

311
155
57

153
296

60

337

86

277
31

345

367

369

277

186

155

29

186

110

178

136

Vector:
120

329

304

311

153

n II
Algoritmos y Programacio

296

86

31

29

110

178

Facultad de Ingeniera

28

3.3

3.3.14.

Heap Sort completo

Paso 4: swapdown

329
311

304

296
155
57

153
120

60

337

86

277
31

345

367

369

277

186

155

29

186

110

178

136

Vector:
329

311

3.3.15.

304

296

153

120

86

31

29

110

178

136

57

60

337

345

367

369

329

337

345

367

369

Paso 5: intercambio

60
311

304

296
155
57

153
120

329

337

345

296

153

277

86
367

277
31

29

186

110

178

136

369

Vector:
60

311

304

Enrique P. Calot

186

155

120

86

31

29

110

178

136

57

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.16.

29

Paso 5: swapdown

311
296

304

155
60
57

153
120

329

337

277

86

345

367

277

186

31

29

186

110

178

136

369

Vector:
311

296

3.3.17.

304

155

153

60

120

86

31

29

110

178

136

57

329

337

345

367

369

311

329

337

345

367

369

Paso 6: intercambio

57
296

304

155
60
311

153
120

329

337

345

155

153

277

277

86
367

31

29

186

110

178

136

110

178

369

Vector:
57

296

304

186

n II
Algoritmos y Programacio

60

120

86

31

29

136

Facultad de Ingeniera

30

3.3

3.3.18.

Heap Sort completo

Paso 6: swapdown

304
296

277

155

153

60
311

120
329

337

345

155

153

110

110

86
367

31

29

186

57

178

136

369

Vector:
304

296

3.3.19.

277

186

60

120

86

31

29

57

178

136

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 7: intercambio

136
296

277

155
60
311

153
120

329

86

337

345

367

153

110

186

110
31

29

186

57

178

304

57

178

369

Vector:
136

296

277

155

Enrique P. Calot

60

120

86

31

29

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.20.

31

Paso 7: swapdown

296
155

277

136

153

60
311

120
329

86

337

345

367

153

110

186

110
31

29

186

57

178

304

57

178

369

Vector:
296

155

3.3.21.

277

136

60

120

86

31

29

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 8: intercambio

178
155

277

136
60
311

153
120

329

337

86

345

367

110

186

110
31

29

186

57

296

304

369

Vector:
178

155

277

136

153

n II
Algoritmos y Programacio

60

120

86

31

29

57

296

Facultad de Ingeniera

32

3.3

3.3.22.

Heap Sort completo

Paso 8: swapdown

277
155

186

136

153

60
311

120
329

337

110

86

345

367

110

178

31

29

178

57

296

304

369

Vector:
277

155

3.3.23.

186

136

153

60

120

86

31

29

57

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 9: intercambio

57
155

186

136
60
311

153
120

329

337

86

345

367

110

178

110
31

29

178

277

296

304

369

Vector:
57

155

186

136

Enrique P. Calot

153

60

120

86

31

29

277

296

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.24.

33

Paso 9: swapdown

186
155

178

136

153

60
311

120
329

337

110

86

345

367

31

29

57

277

296

304

369

Vector:
186

155

3.3.25.

178

136

153

110

57

60

120

86

31

29

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 10: intercambio

29
155

178

136
60
311

153
120

329

337

86

345

367

110
31

186

57

277

296

304

277

296

369

Vector:
29

155

178

136

153

110

57

n II
Algoritmos y Programacio

60

120

86

31

186

Facultad de Ingeniera

34

3.3

3.3.26.

Heap Sort completo

Paso 10: swapdown

178
155

110

136

153

60
311

120
329

337

29

86

345

367

31

186

57
277

296

304

277

296

369

Vector:
178

155

3.3.27.

110

136

153

29

57

60

120

86

31

186

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 11: intercambio

31
155

110

136
60
311

153
120

329

337

86

345

367

29
178

186

57
277

296

304

277

296

369

Vector:
31

155

110

136

Enrique P. Calot

153

29

57

60

120

86

178

186

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.28.

35

Paso 11: swapdown

155
153

110

136

86

60
311

120
329

337

29

31

345

367

178

186

57
277

296

304

277

296

369

Vector:
155

153

3.3.29.

110

136

86

29

57

60

120

31

178

186

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 12: intercambio

31
153

110

136
60
311

86
120

329

337

155

345

367

29
178

186

57
277

296

304

277

296

369

Vector:
31

153

110

136

86

29

57

n II
Algoritmos y Programacio

60

120

155

178

186

Facultad de Ingeniera

36

3.3

3.3.30.

Heap Sort completo

Paso 12: swapdown

153
136

110

120

86

60
311

31
329

337

155
345

367

29
178

186

57
277

296

304

277

296

369

Vector:
153

136

3.3.31.

110

120

86

29

57

60

31

155

178

186

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 13: intercambio

31
136

110

120
60
311

86
153

329

337

155

345

367

29
178

186

57
277

296

304

369

Vector:
31

136

110

120

Enrique P. Calot

86

29

57

60

153

155

178

186

277

296

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.32.

37

Paso 13: swapdown

136
120

110

60

86

31

153

311

329

337

155

345

367

29
178

186

57
277

296

304

369

Vector:
136

120

3.3.33.

110

60

86

29

57

31

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 14: intercambio

31
120

110

60

86

136
311

329

153
337

155

345

367

29
178

186

57
277

296

304

369

Vector:
31

120

110

60

86

29

57

136

n II
Algoritmos y Programacio

153

155

178

186

277

296

Facultad de Ingeniera

38

3.3

3.3.34.

Heap Sort completo

Paso 14: swapdown

120
86

110

60

31

136
311

153

329

337

155

345

367

29
178

186

57
277

296

304

369

Vector:
120

86

3.3.35.

110

60

31

29

57

136

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 15: intercambio

57
86

110

60

31

136
311

329

153
337

155

345

367

29
178

186

120
277

296

304

369

Vector:
57

86

110

60

Enrique P. Calot

31

29

120

136

153

155

178

186

277

296

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.36.

39

Paso 15: swapdown

110
86

57

60

31

136
311

153

329

337

155

345

367

29
178

186

120
277

296

304

369

Vector:
110

86

3.3.37.

57

60

31

29

120

136

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 16: intercambio

29
86

57

60
136
311

31
153

329

337

155

345

367

110
178

186

120

277

296

304

369

Vector:
29

86

57

60

31

110

120

136

n II
Algoritmos y Programacio

153

155

178

186

277

296

Facultad de Ingeniera

40

3.3

3.3.38.

Heap Sort completo

Paso 16: swapdown

86
60

57

29

31

136
311

153

329

337

155

345

367

110
178

186

120

277

296

304

369

Vector:
86

60

57

3.3.39.

29

31

110

120

136

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 17: intercambio

31
60

57

29
136
311

86
153

329

337

155

345

367

369

110

120

136

110
178

186

120

277

296

304

Vector:
31

60

57

29

86

Enrique P. Calot

153

155

178

186

277

296

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.40.

41

Paso 17: swapdown

60
31

57

29

86

136
311

153

329

337

155

345

367

369

110

120

136

110
178

186

120

277

296

304

Vector:
60

31

3.3.41.

57

29

86

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 18: intercambio

29
31

57

60

86

136
311

329

153
337

155

345

367

369

120

136

110
178

186

120

277

296

304

Vector:
29

31

57

60

86

110

n II
Algoritmos y Programacio

153

155

178

186

277

296

Facultad de Ingeniera

42

3.3

3.3.42.

Heap Sort completo

Paso 18: swapdown

57
31

29

60

86

136
311

153

329

337

155

345

367

369

120

136

110
178

186

120

277

296

304

Vector:
57

31

3.3.43.

29

60

86

110

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 19: intercambio

29
31

57

60

86

136
311

153

329

337

155

345

367

369

120

136

110
178

186

277

120
296

304

Vector:
29

31

57

60

86

Enrique P. Calot

110

153

155

178

186

277

296

n II
Algoritmos y Programacio

3.3

Heap Sort completo

3.3.44.

43

Paso 19: swapdown

31
29

57

60

86

136
311

153

329

337

155

345

367

369

120

136

110
178

186

120

277

296

304

Vector:
31

29

3.3.45.

57

60

86

110

153

155

178

186

277

296

304

311

329

337

345

367

369

304

311

329

337

345

367

369

Paso 20: intercambio

29
31

57

60

86

136
311

153

329

337

155

345

367

110
178

186

277

120
296

304

369

Vector:
29

31

57

60

86

110

120

136

n II
Algoritmos y Programacio

153

155

178

186

277

296

Facultad de Ingeniera

44

3.4

3.3.46.

Heap Sort descendente

Paso 20: swapdown

29
31

57

60

86

136
311

153

329

337

110

155

345

178

367

369

120

136

186

120

277

296

304

Vector:
29

31

3.4.

57

60

86

110

153

155

178

186

277

296

304

311

329

337

345

367

369

Heap Sort descendente

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

Arbol
inicial

3.4.1.

153
311

304

369
60

31
86

57

155

120

304

369

31

329
296

337

110
367

29

329

367

277

345
178

186

136

Vector:
153

311

Enrique P. Calot

110

345

60

86

29

277

178

186

57

155

120

296

337

n II
Algoritmos y Programacio

136

3.4

Heap Sort descendente

3.4.2.

45

Heapfy paso 0

153
311

304

369

31

60
57

86

155

110

329

120

296

337

31

110

345

367

29

345

277

178

186

277

178

186

57

155

120

296

337

136

178

186

60

155

120

296

337

329

136

Vector:
153

311

3.4.3.

304

369

60

86

329

367

29

Heapfy paso 1

153
311

304

369
57

31
86

60

155

120

311

304

369

136
296

337

110
367

29

277

86

136

367

345
178

186

329

Vector:
153

31

110

345

n II
Algoritmos y Programacio

57

29

277

Facultad de Ingeniera

46

3.4

3.4.4.

Heap Sort descendente

Heapfy paso 2

153
311

304

57

31

60
369

86
155

120

136
296

337

29
367

110

178
277

345

186

329

Vector:
153

311

3.4.5.

304

57

31

29

178

60

86

136

367

110

277

345

186

369

155

120

296

337

329

345

186

369

155

120

296

337

329

Heapfy paso 3

153
31

29

57

136

60
369

86
155

120

311
296

337

110
367

304

277

178
345

186

329

Vector:
153

31

29

57

Enrique P. Calot

136

110

178

60

86

311

367

304

277

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.6.

47

Heapfy paso 4

29
31

110

57

136

60
369

86
155

120

153

311
296

337

178

367

304

277

86

311

367

345

186

329

Vector:
29

31

3.4.7.

110

57

136

153

178

60

304

277

345

186

369

155

120

296

337

329

Paso 1: intercambio

329
31

110

57

136

60
369

86
155

120

311
296

337

153
367

304

311

367

277

178
345

186

29

Vector:
329

31

110

57

136

153

178

n II
Algoritmos y Programacio

60

86

304

277

345

186

369

155

120

296

337

Facultad de Ingeniera

29

48

3.4

3.4.8.

Heap Sort descendente

Paso 1: swapdown

31
57

110

60

136

155
369

86

329

120

311
296

337

153
367

304

311

367

178

277

345

186

29

Vector:
31

57

3.4.9.

110

60

136

153

178

155

86

304

277

345

186

369

329

120

296

337

29

31

29

Paso 2: intercambio

337
57

110

60

136

155
369

329

86
120

311
296

31

153
367

304

178

277

345

186

304

277

345

29

Vector:
337

57

110

60

Enrique P. Calot

136

153

178

155

86

311

367

186

369

329

120

296

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.10.

49

Paso 2: swapdown

57
60

110

86

136

155
369

120

329

337

153

311

296

31

367

304

178

277

345

186

304

277

345

29

Vector:
57

60

3.4.11.

110

86

136

153

178

155

120

311

367

186

369

329

337

296

31

29

57

31

29

Paso 3: intercambio

296
60

110

86

136

155
369

329

120
337

311
57

31

153
367

304

178

277

345

186

29

Vector:
296

60

110

86

136

153

178

n II
Algoritmos y Programacio

155

120

311

367

304

277

345

186

369

329

337

Facultad de Ingeniera

50

3.4

3.4.12.

Heap Sort descendente

Paso 3: swapdown

60
86

110

120

136

155
369

296

329

337

153

311
57

31

367

304

178

277

345

186

29

Vector:
60

86

3.4.13.

110

120

136

153

178

155

296

311

367

304

277

345

186

369

329

337

57

31

29

60

57

31

29

Paso 4: intercambio

337
86

110

120

136

155
369

329

296
60

57

311
31

29

178

155

153
367

304

296

311

277

178
345

186

Vector:
337

86

110

120

Enrique P. Calot

136

153

367

304

277

345

186

369

329

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.14.

51

Paso 4: swapdown

86
120

110

155

136

329
369

296

337

60

57

153

311
31

29

178

329

367

304

296

311

178

277

345

186

Vector:
86

120

3.4.15.

110

155

136

153

367

304

277

345

186

369

337

60

57

31

29

86

60

57

31

29

Paso 5: intercambio

337
120

110

155
329

136
296

369

86

60

110

155

136

311

57

31

153
367

304

178

277

345

186

367

304

277

29

Vector:
337

120

153

178

n II
Algoritmos y Programacio

329

296

311

345

186

369

Facultad de Ingeniera

52

3.4

3.4.16.

Heap Sort descendente

Paso 5: swapdown

110
120

153

155

136

329

296

369

86

60

153

155

136

277

311

57

31

367

304

178

337

345

186

367

304

337

29

Vector:
110

120

3.4.17.

277

178

329

296

311

345

186

369

86

60

57

31

29

345

186

110

86

60

57

31

29

Paso 6: intercambio

369
120

153

155
329

136
296

110

86

153

155

60

311

57

31

277
367

304

178

337

345

186

304

337

29

Vector:
369

120

Enrique P. Calot

136

277

178

329

296

311

367

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.18.

53

Paso 6: swapdown

120
136

153

155

311

329

296

110

86

153

155

60

277

369

57

31

367

304

178

337

345

186

304

337

29

Vector:
120

136

3.4.19.

311

277

178

329

296

369

367

345

186

110

86

60

57

31

29

345

120

110

86

60

57

31

29

Paso 7: intercambio

186
136

153

155
329
110

311
296

86

60

369

57

31

277
367

304

178

337

345

120

29

Vector:
186

136

153

155

311

277

178

n II
Algoritmos y Programacio

329

296

369

367

304

337

Facultad de Ingeniera

54

3.4

3.4.20.

Heap Sort descendente

Paso 7: swapdown

136
155

153

186

311

329
110

296
86

60

277

369

57

31

367

304

178

337

345

120

29

Vector:
136

155

3.4.21.

153

186

311

277

178

329

296

369

367

304

337

345

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 8: intercambio

345
155

153

186
329
110

311
296

86

60

369

57

31

277
367

304

178

337

136

120

29

Vector:
345

155

153

186

Enrique P. Calot

311

277

178

329

296

369

367

304

337

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.22.

55

Paso 8: swapdown

153
155

178

186

311

329
110

296
86

60

277

369

57

31

367

304

345

337

136

120

29

Vector:
153

155

3.4.23.

178

186

311

277

345

329

296

369

367

304

337

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 9: intercambio

337
155

178

186
329
110

311
296

86

60

369

57

31

277
367

304

345

153

136

120

29

Vector:
337

155

178

186

311

277

345

n II
Algoritmos y Programacio

329

296

369

367

304

153

Facultad de Ingeniera

56

3.4

3.4.24.

Heap Sort descendente

Paso 9: swapdown

155
186

178

296

311

329
110

337
86

60

277

369

57

31

367

304

345

153

136

120

29

Vector:
155

186

3.4.25.

178

296

311

277

345

329

337

369

367

304

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 10: intercambio

304
186

178

296
329
110

311
337

86

60

57

369
31

277
367

155

345

153

136

120

29

Vector:
304

186

178

296

Enrique P. Calot

311

277

345

329

337

369

367

155

153

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.26.

57

Paso 10: swapdown

178
186

277

296

311

329
110

337
86

60

57

304

369
31

367

155

345

153

136

120

29

Vector:
178

186

3.4.27.

277

296

311

304

345

329

337

369

367

155

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 11: intercambio

367
186

277

296
329
110

311
337

86

60

57

369
31

304
178

155

345

153

136

120

29

Vector:
367

186

277

296

311

304

345

n II
Algoritmos y Programacio

329

337

369

178

155

153

Facultad de Ingeniera

58

3.4

3.4.28.

Heap Sort descendente

Paso 11: swapdown

186
296

277

329

311

367
110

337
86

60

57

304

369
31

178

155

345

153

136

120

29

Vector:
186

296

3.4.29.

277

329

311

304

345

367

337

369

178

155

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 12: intercambio

369
296

277

329
367
110

311
337

86

60

57

186
31

304
178

155

153

345
136

120

29

Vector:
369

296

277

329

Enrique P. Calot

311

304

345

367

337

186

178

155

153

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.30.

59

Paso 12: swapdown

277
296

304

329

311

367
110

337
86

60

57

369

186
31

178

155

345

153

136

120

29

Vector:
277

296

3.4.31.

304

329

311

369

345

367

337

186

178

155

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 13: intercambio

337
296

304

329

311

367
110

277
86

60

57

186
31

369
178

155

153

345
136

120

29

Vector:
337

296

304

329

311

369

345

n II
Algoritmos y Programacio

367

277

186

178

155

153

Facultad de Ingeniera

60

3.4

3.4.32.

Heap Sort descendente

Paso 13: swapdown

296
311

304

329

337

367
110

277
86

60

57

369

186
31

178

155

345

153

136

120

29

Vector:
296

311

3.4.33.

304

329

337

369

345

367

277

186

178

155

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 14: intercambio

367
311

304

329

337

296
110

277
86

60

57

186
31

369
178

155

153

345
136

120

29

Vector:
367

311

304

329

Enrique P. Calot

337

369

345

296

277

186

178

155

153

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.34.

61

Paso 14: swapdown

304
311

345

329

337

296
110

277
86

60

57

369

186
31

178

155

367

153

136

120

29

Vector:
304

311

3.4.35.

345

329

337

369

367

296

277

186

178

155

153

136

120

110

86

60

57

31

29

136

120

110

86

60

57

31

29

Paso 15: intercambio

367
311

345

329

337

296
110

277
86

60

57

186
31

29

369

304

369
178

155

296

277

153

304
136

120

Vector:
367

311

345

329

337

n II
Algoritmos y Programacio

186

178

155

153

Facultad de Ingeniera

62

3.4

3.4.36.

Heap Sort descendente

Paso 15: swapdown

311
329

345

367

337

296
110

277
86

60

57

369

186
31

29

369

304

178

155

296

277

304

153

136

120

Vector:
311

329

3.4.37.

345

367

337

186

178

155

153

136

120

110

86

60

57

31

29

153

136

120

110

86

60

57

31

29

Paso 16: intercambio

369
329

345

367

337

296
110

277
86

60

186

57

31

29

337

311

304

311
178

155

296

277

153

304
136

120

Vector:
369

329

345

367

Enrique P. Calot

186

178

155

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.38.

63

Paso 16: swapdown

329
337

345

367

369

296
110

277
86

60

311

186

57

31

29

369

311

304

178

155

296

277

304

153

136

120

Vector:
329

337

3.4.39.

345

367

186

178

155

153

136

120

110

86

60

57

31

29

153

136

120

110

86

60

57

31

29

Paso 17: intercambio

369
337

345

367

329

296
110

277
86

186

60

57

31

367

329

311

311
178

155

153

296

277

186

304
136

120

29

Vector:
369

337

345

304

n II
Algoritmos y Programacio

178

155

Facultad de Ingeniera

64

3.4

3.4.40.

Heap Sort descendente

Paso 17: swapdown

337
367

345

369

329

296
110

277
86

311

186

60

57

31

369

329

311

304

178

155

153

296

277

186

136

120

29

Vector:
337

367

3.4.41.

345

304

178

155

153

136

120

110

86

60

57

31

29

153

136

120

110

86

60

57

31

29

Paso 18: intercambio

369
367

345

337
296
110

329
277

86

186

60

57

31

337

329

311

311
178

155

153

277

186

304
136

120

29

Vector:
369

367

345

Enrique P. Calot

304

296

178

155

n II
Algoritmos y Programacio

3.4

Heap Sort descendente

3.4.42.

65

Paso 18: swapdown

345
367

369

337

329

296
110

277
86

311

186

60

57

31

337

329

311

178

304

155

153

277

186

136

120

29

Vector:
345

367

3.4.43.

369

304

296

178

155

153

136

120

110

86

60

57

31

29

153

136

120

110

86

60

57

31

29

Paso 19: intercambio

369
367

345

337
296
110

329
277

86

60

57

345

337

329

186
31

311
178

155

153

304
136

120

29

Vector:
369

367

311

304

n II
Algoritmos y Programacio

296

277

186

178

155

Facultad de Ingeniera

66

3.4

3.4.44.

Heap Sort descendente

Paso 19: swapdown

367
369

345

337

329

296
110

277
86

60

57

345

337

329

311

186
31

178

155

304

153

136

120

29

Vector:
367

369

3.4.45.

311

304

296

277

186

178

155

153

136

120

110

86

60

57

31

29

153

136

120

110

86

60

57

31

29

Paso 20: intercambio

369
367

345

337
296
110

329
277

86

60

345

337

186

57

31

311
178

304

155

153

136

277

186

178

120

29

Vector:
369

367

Enrique P. Calot

329

311

304

296

155

n II
Algoritmos y Programacio

3.5

Merge Polif
asico de las salidas por selecci
on natural

3.4.46.

67

Paso 20: swapdown


369
367

345

337
296
110

329
277

86

60

57

345

337

329

186
31

311
178

304

155

153

277

186

136

120

29

Vector:
369

367

3.5.

311

304

296

178

155

153

136

120

110

86

60

57

31

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.
P3
<4
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
Si
2
2
2
1
5
No
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.5.3.

Fase 1

E1
D
29, 57, 155, 178, 186,
296, 337

E2
153, 304, 311, 345,
369
120, 136

n II
Algoritmos y Programacio

E3
31, 60, 86, 110, 277,
329, 367

Facultad de Ingeniera

29

68

3.6

3.5.4.

Merge Polif
asico de las particiones marcadas

Fase 2

E1
D

E2
153, 304, 311, 345,
369

E3
31, 60, 86, 110, 277,
329, 367

E1
29, 57, 155, 178, 186,
296, 337

E2
120, 136

E1
D

E2
153, 304, 311, 345,
369

E3
31, 60, 86, 110, 277,
329, 367

E1
29, 57, 155, 178, 186,
296, 337

E2
120, 136

E2

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.5.5.

3.6.

S
31, 60, 86, 110,
277, 304, 311,
345, 367, 369
E3
31, 60, 86, 110,
277, 304, 311,
345, 367, 369

153,
329,

153,
329,

Fase final
S
31, 60, 86, 110,
277, 304, 311,
345, 367, 369
E3
31, 60, 86, 110,
277, 304, 311,
345, 367, 369

153,
329,

153,
329,

E3

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 = {31, 153, 304, 311, 369}; p2 = {60, 110, 345}; . . . ; p6 = {120, 155}; p7 = {136, 296, 337}.
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.
Fases
0
1
2
3
Enrique P. Calot

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

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

3.6.2.

69

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.6.3.

Fase 1

E1
D
60, 110, 345
29, 57, 178, 186, 277
136, 296, 337

E2
D
86
120, 155

E3
31, 153, 304, 311, 369
329, 367

E1
D
60, 110, 345

E2
D
86

E3
31, 153, 304, 311, 369
329, 367

E1
29, 57, 178, 186, 277
136, 296, 337

E2
120, 155

S
31, 153, 304, 311, 369
60, 86, 110, 329, 345,
367
E3
31, 153, 304, 311, 369
60, 86, 110, 329, 345,
367

E1
D
60, 110, 345

E2
D
86

E3
31, 153, 304, 311, 369
329, 367

E1
29, 57, 178, 186, 277

E2
120, 155

E1
136, 296, 337

S
29, 31, 57, 120,
155, 178, 186,
304, 311, 369
E2
29, 31, 57, 120,
155, 178, 186,
304, 311, 369

3.6.4.

3.6.5.

3.7.

Fase 2

Fase 3

153,
277,

153,
277,

S
31, 153, 304, 311, 369
60, 86, 110, 329, 345,
367
E3
31, 153, 304, 311, 369

E3
60, 86, 110, 329, 345,
367

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

70

3.7

3.7.1.

Merge Polif
asico completo con particiones formadas de 1 elemento

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
5

3.7.2.

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

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.3.

Fase 1

E1
D
D
D
D
304
110
86
29
178
57
120
337
136
Enrique P. Calot

E2
D
D
D
153
369
345
329
277
186
155
296

E3
D
D
D
311
31
60
367

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

3.7.4.

Fase 2

E1
D
D
D
D
304
110
86
E1
29
178
57
120
337
136

3.7.5.

71

E2
D
D
D
153
369
345
329
E2
277
186
155
296

E3
D
D
D
311
31
60
367
S

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367

E2
D
D
D
153
369
345
329
E2
277
186
155
296
S

E3
D
D
D
311
31
60
367
S
29, 277
178, 186
57, 155
120, 153, 296, 311
E2
29, 277
178, 186
57, 155
120, 153, 296, 311

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
E3
31, 304, 369
60, 110, 345
86, 329, 367

Fase 3

E1
D
D
D
D
304
110
86
E1
29
178
57
120
E1
337
136

n II
Algoritmos y Programacio

Facultad de Ingeniera

72

3.7

3.7.6.

Merge Polif
asico completo con particiones formadas de 1 elemento

Fase 4

E1
D
D
D
D
304
110
86
E1
29
178
57
120
E1
337
136
S

Enrique P. Calot

E2
D
D
D
153
369
345
329
E2
277
186
155
296
S
29, 31, 277, 304,
369
60, 110, 136,
186, 345
E1
29, 31, 277, 304,
369
60, 110, 136,
186, 345

337,

E3
D
D
D
311
31
60
367
S
29, 277
178, 186
57, 155
120, 153, 296, 311
E2
29, 277

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
E3
31, 304, 369

178,

178, 186

60, 110, 345

337,

E2
57, 155

E3
86, 329, 367

178,

120, 153, 296, 311

n II
Algoritmos y Programacio

3.7

Merge Polif
asico completo con particiones formadas de 1 elemento

3.7.7.

73

Fase 5

E1
D
D
D
D
304
110
86
E1
29
178
57
120
E1
337

E3
D
D
D
311
31
60
367
S
29, 277
178, 186
57, 155
120, 153, 296, 311
E2
29, 277

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
E3
31, 304, 369

178, 186

60, 110, 345

155,
337,

E2
D
D
D
153
369
345
329
E2
277
186
155
296
S
29, 31, 277, 304, 337,
369
60, 110, 136, 178,
186, 345
E1
29, 31, 277, 304, 337,
369

E2
57, 155

E3
86, 329, 367

155,
337,

E1
60, 110, 136, 178,
186, 345

E2
120, 153, 296, 311

136
S
29, 31, 57, 86,
277, 304, 329,
367, 369
E3
29, 31, 57, 86,
277, 304, 329,
367, 369

n II
Algoritmos y Programacio

Facultad de Ingeniera

74

3.8

3.7.8.

Fase final

E1
D
D
D
D
304
110
86
E1
29
178
57
120
E1
337

E3
D
D
D
311
31
60
367
S
29, 277
178, 186
57, 155
120, 153, 296, 311
E2
29, 277

S
D
D
D
153, 311
31, 304, 369
60, 110, 345
86, 329, 367
E3
D
D
D
153, 311
E3
31, 304, 369

178, 186

60, 110, 345

155,
337,

E2
D
D
D
153
369
345
329
E2
277
186
155
296
S
29, 31, 277, 304, 337,
369
60, 110, 136, 178,
186, 345
E1
29, 31, 277, 304, 337,
369

E2
57, 155

E3
86, 329, 367

155,
337,

E1
60, 110, 136, 178,
186, 345

E2
120, 153, 296, 311

E1

E2

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E3
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

136
S
29, 31, 57, 86,
277, 304, 329,
367, 369
E3
29, 31, 57, 86,
277, 304, 329,
367, 369

3.8.

Merge Polif
asico con particiones formadas de 2 elementos

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 = {153, 311}; p2 = {304, 369}; . . . ; p10 = {296, 337}; p11 = {136}.
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

Fases
0
1
2
3
4

3.8.2.

c1
1
1
2
4
7

c2
0
1
2
3
6

P3

i=1 ci

c3
0
1
1
2
4

1
3
5
9
17

75

< 11
Si
Si
Si
Si
No

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.3.

Fase 1

E1
D
D
153, 311
60, 345
178, 277
120, 155
136

E2
D
D
304, 369
86, 329
57, 186
296, 337

E3
D
D
31, 110
29, 367

E1
D
D
153, 311

E2
D
D
304, 369

E3
D
D
31, 110

60, 345

86, 329

29, 367

E1
178, 277
120, 155
136

E2
57, 186
296, 337

S
D
D
31, 110, 153,
311, 369
29, 60, 86, 329,
367
E3
D
D
31, 110, 153,
311, 369
29, 60, 86, 329,
367

3.8.4.

Fase 2

n II
Algoritmos y Programacio

304,
345,

304,
345,

Facultad de Ingeniera

76

3.8

3.8.5.

Merge Polif
asico con particiones formadas de 2 elementos

Fase 3

E1
D
D
153, 311

E2
D
D
304, 369

E3
D
D
31, 110

60, 345

86, 329

29, 367

E1
178, 277
120, 155
E1
136

E2
57, 186
296, 337
S

S
57, 178, 186, 277
120, 155, 296, 337
E2
57, 178, 186, 277

120, 155, 296, 337

E1
D
D
153, 311

E2
D
D
304, 369

E3
D
D
31, 110

60, 345

86, 329

29, 367

E1
178, 277
120, 155
E1
136

E2
57, 186
296, 337
S
31, 57, 110, 136,
178, 186, 277,
311, 369
E1
31, 57, 110, 136,
178, 186, 277,
311, 369

S
57, 178, 186, 277
120, 155, 296, 337
E2
57, 178, 186, 277

3.8.6.

S
D
D
31, 110, 153,
311, 369
29, 60, 86, 329,
367
E3
D
D
E3
31, 110, 153,
311, 369
29, 60, 86, 329,
367

304,
345,

304,
345,

Fase 4

Enrique P. Calot

153,
304,

153,
304,

E2
120, 155, 296, 337

S
D
D
31, 110, 153, 304,
311, 369
29, 60, 86, 329, 345,
367
E3
D
D
E3
31, 110, 153, 304,
311, 369
E3
29, 60, 86, 329, 345,
367

n II
Algoritmos y Programacio

3.9

Merge Polif
asico con particiones formadas de 3 elementos

3.8.7.

Fase final

E1
D
D
153, 311

E2
D
D
304, 369

E3
D
D
31, 110

60, 345

86, 329

29, 367

E1
178, 277
120, 155
E1
136

E2
57, 186
296, 337
S
31, 57, 110, 136,
178, 186, 277,
311, 369
E1
31, 57, 110, 136,
178, 186, 277,
311, 369

S
57, 178, 186, 277
120, 155, 296, 337
E2
57, 178, 186, 277

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.9.

77

153,
304,

153,
304,

S
D
D
31, 110, 153, 304,
311, 369
29, 60, 86, 329, 345,
367
E3
D
D
E3
31, 110, 153, 304,
311, 369

E2
120, 155, 296, 337

E3
29, 60, 86, 329, 345,
367

E2

E3

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 = {153, 304, 311}; p2 = {31, 110, 369}; . . . ; p6 = {57, 120, 155}; p7 = {136, 296, 337}.

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.
Fases
0
1
2
3
n II
Algoritmos y Programacio

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
Facultad de Ingeniera

78

3.9

3.9.2.

Merge Polif
asico con particiones formadas de 3 elementos

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.3.

Fase 1

E1
D
31, 110, 369
178, 186, 277
136, 296, 337

E2
D
60, 86, 345
57, 120, 155

E3
153, 304, 311
29, 329, 367

E1
D
31, 110, 369

E2
D
60, 86, 345

E3
153, 304, 311
29, 329, 367

E1
178, 186, 277
136, 296, 337

E2
57, 120, 155

S
153, 304, 311
29, 31, 60, 86, 110,
329, 345, 367, 369
E3
153, 304, 311
29, 31, 60, 86, 110,
329, 345, 367, 369

E1
D
31, 110, 369

E2
D
60, 86, 345

E3
153, 304, 311
29, 329, 367

E1
178, 186, 277

E2
57, 120, 155

E1
136, 296, 337

S
57,
178,
311
E2
57,
178,
311

3.9.4.

3.9.5.

Fase 2

Fase 3

Enrique P. Calot

120, 153, 155,


186, 277, 304,

120, 153, 155,


186, 277, 304,

S
153, 304, 311
29, 31, 60, 86, 110,
329, 345, 367, 369
E3
153, 304, 311

E3
29, 31, 60, 86, 110,
329, 345, 367, 369

n II
Algoritmos y Programacio

3.10

Merge Polif
asico con particiones formadas de 4 elementos

3.9.6.

Fase final

E1
D
31, 110, 369

E2
D
60, 86, 345

E3
153, 304, 311
29, 329, 367

E1
178, 186, 277

E2
57, 120, 155

E1
136, 296, 337

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

S
57,
178,
311
E2
57,
178,
311

3.10.

79

120, 153, 155,


186, 277, 304,

120, 153, 155,


186, 277, 304,

E2

S
153, 304, 311
29, 31, 60, 86, 110,
329, 345, 367, 369
E3
153, 304, 311

E3
29, 31, 60, 86, 110,
329, 345, 367, 369

E3

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 = {153, 304, 311, 369}; p2 = {31, 60, 110, 345}; p3 = {29, 86, 329, 367}; p4 =
{57, 178, 186, 277}; p5 = {120, 155, 296, 337}; p6 = {136}.
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.
Fases
0
1
2
3
3.10.2.

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

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.

n II
Algoritmos y Programacio

Facultad de Ingeniera

80

3.10

3.10.3.

Merge Polif
asico con particiones formadas de 4 elementos

Fase 1

E1
D
153, 304, 311, 369
57, 178, 186, 277
136

E2
D
31, 60, 110, 345
120, 155, 296, 337

E3
D
29, 86, 329, 367

E1
D
153, 304, 311, 369

E2
D
31, 60, 110, 345

E3
D
29, 86, 329, 367

E1
57, 178, 186, 277
136

E2
120, 155, 296, 337

S
D
29, 31, 60, 86,
153, 304, 311,
345, 367, 369
E3
D
29, 31, 60, 86,
153, 304, 311,
345, 367, 369

E1
D
153, 304, 311, 369

E2
D
31, 60, 110, 345

E3
D
29, 86, 329, 367

E1
57, 178, 186, 277

E2
120, 155, 296, 337

E1
136

S
57,
186,
E2
57,
186,

3.10.4.

3.10.5.

Fase 2

110,
329,

110,
329,

Fase 3

Enrique P. Calot

120, 155, 178,


277, 296, 337
120, 155, 178,
277, 296, 337

S
D
29, 31, 60, 86, 110,
153, 304, 311, 329,
345, 367, 369
E3
D
E3
29, 31, 60, 86, 110,
153, 304, 311, 329,
345, 367, 369

n II
Algoritmos y Programacio

3.11

Selecci
on de reemplazo con buffer de tama
no 2

3.10.6.

Fase final

E1
D
153, 304, 311, 369

E2
D
31, 60, 110, 345

E3
D
29, 86, 329, 367

E1
57, 178, 186, 277

E2
120, 155, 296, 337

E1
136

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

S
57,
186,
E2
57,
186,

3.11.

81

120, 155, 178,


277, 296, 337
120, 155, 178,
277, 296, 337

E2

S
D
29, 31, 60, 86, 110,
153, 304, 311, 329,
345, 367, 369
E3
D
E3
29, 31, 60, 86, 110,
153, 304, 311, 329,
345, 367, 369

E3

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

82

3.12

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

b1
b2
Sale
Entra

Nada
153
153

Nada
311
153
311
153
304
304
311
304
369
369
311
311
31
369
31
369
110
110
31
Nueva partici
on! Se cierra la partici
on p1 = {153, 304, 311, 369}
31
345
110
345
110
60
60
345
345
86
60
86
Nueva partici
on! Se cierra la partici
on p2 = {31, 110, 345}
60
329
329
86
86
367
329
367
329
29
29
367
367
277
29
277
Nueva partici
on! Se cierra la partici
on p3 = {60, 86, 329, 367}
29
178
178
277
178
186
186
277
186
57
57
277
277
155
57
155
Nueva partici
on! Se cierra la partici
on p4 = {29, 178, 186, 277}
57
120
120
155
120
296
296
155
155
337
296
337
296
136
136
337
337
Nada
136

Nueva partici
on! Se cierra la partici
on p5 = {57, 120, 155, 296, 337}
136
Nada
Finaliza la u
ltima partici
on en p6 = {136}

3.11.2.

Salida final

p1 = {153, 304, 311, 369};


p2 = {31, 110, 345};
p3 = {60, 86, 329, 367};
p4 = {29, 178, 186, 277};
p5 = {57, 120, 155, 296, 337};
p6 = {136}.

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.12

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

3.12.1.

83

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

3.12.2.

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

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.3.

Fase 1

E1
D
153, 304, 311, 369
29, 178, 186, 277
136

E2
D
31, 110, 345
57, 120, 155, 296, 337

E3
D
60, 86, 329, 367

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277
136

E2
57, 120, 155, 296, 337

S
D
31, 60, 86, 110,
304, 311, 329,
367, 369
E3
D
31, 60, 86, 110,
304, 311, 329,
367, 369

3.12.4.

Fase 2

n II
Algoritmos y Programacio

153,
345,

153,
345,

Facultad de Ingeniera

84

3.13

3.12.5.

Selecci
on Natural con buffers de tama
no 2

Fase 3

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277

E2
57, 120, 155, 296, 337

E1
136

S
29, 57, 120, 155, 178,
186, 277, 296, 337
E2
29, 57, 120, 155, 178,
186, 277, 296, 337

3.12.6.

E3
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369

Fase final

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277

E2
57, 120, 155, 296, 337

E1
136

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

S
29, 57, 120, 155, 178,
186, 277, 296, 337
E2
29, 57, 120, 155, 178,
186, 277, 296, 337

3.13.

S
D
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369
E3
D

E2

S
D
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369
E3
D
E3
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369

E3

Selecci
on Natural con buffers de tama
no 2

Desarrollar el algoritmo de seleccion natural con buffers de tama


no 2.
3.13.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.14

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

a1
a2
Sale

Nada

Nada

153

304

311
31

Nada
31
110
369

Se cierra la partici
on p1 = {153, 304, 311, 369}
31
345
110

110
345

60

Nada
345

60
86
345
60
86

Nueva partici
on! Se cierra la partici
on p2 = {31, 110, 345}
60
329
86

86
329
367

329

367
29

Nada

367
29
277
367
29
277

Nueva partici
on! Se cierra la partici
on p3 = {60, 86, 329, 367}
29
178
277

178
186
277

186

277
57

Nada

277
57
155
277
57
155

Nueva partici
on! Se cierra la partici
on p4 = {29, 178, 186, 277}
57
120
155

120
296
155

155
296
337

296

337
136

337
136

Nueva partici
on! Se cierra la partici
on p5 = {57, 120, 155, 296, 337}
136
Finaliza la u
ltima partici
on en p6 = {136}
b1
b2

153

153
311
304
311
369
311
369

369

31
110
Nueva partici
on!

3.13.2.

85

Entra
153
311
304
369
31
110
Nada

345
60
86
Nada

329
367
29
277
Nada

178
186
57
155
Nada

120
296
337
136
Nada

Nada

Salida final

p1 = {153, 304, 311, 369};


p2 = {31, 110, 345};
p3 = {60, 86, 329, 367};
p4 = {29, 178, 186, 277};
p5 = {57, 120, 155, 296, 337};
p6 = {136}.

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

Facultad de Ingeniera

86

3.14

3.14.1.

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

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

3.14.2.

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

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.3.

Fase 1

E1
D
153, 304, 311, 369
29, 178, 186, 277
136

E2
D
31, 110, 345
57, 120, 155, 296, 337

E3
D
60, 86, 329, 367

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277
136

E2
57, 120, 155, 296, 337

S
D
31, 60, 86, 110,
304, 311, 329,
367, 369
E3
D
31, 60, 86, 110,
304, 311, 329,
367, 369

3.14.4.

Fase 2

Enrique P. Calot

153,
345,

153,
345,

n II
Algoritmos y Programacio

3.15

Selecci
on de reemplazo con buffer de tama
no 3

3.14.5.

Fase 3

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277

E2
57, 120, 155, 296, 337

E1
136

S
29, 57, 120, 155, 178,
186, 277, 296, 337
E2
29, 57, 120, 155, 178,
186, 277, 296, 337

3.14.6.

S
D
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369
E3
D
E3
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369

Fase final

E1
D
153, 304, 311, 369

E2
D
31, 110, 345

E3
D
60, 86, 329, 367

E1
29, 178, 186, 277

E2
57, 120, 155, 296, 337

E1
136

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

S
29, 57, 120, 155, 178,
186, 277, 296, 337
E2
29, 57, 120, 155, 178,
186, 277, 296, 337

3.15.

87

E2

S
D
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369
E3
D
E3
31, 60, 86, 110, 153,
304, 311, 329, 345,
367, 369

E3

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

88

3.16

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

b1
b2
b3
Sale
Entra

Nada
153
153

Nada
311
153
311

Nada
304
153
311
304
153
369
369
311
304
304
31
369
311
31
311
110
369
110
31
369
345
345
110
31
Nueva partici
on! Se cierra la partici
on p1 = {153, 304, 311, 369}
31
60
345
110
60
60
86
345
110
86
86
329
345
110
329
110
367
345
367
329
329
29
345
367
29
345
277
277
367
29
367
178
277
178
29
Nueva
partici
on!
Se
cierra
la
partici
on
p2
=
{31, 60, 86, 110, 329, 345, 367}
29
186
277
178
186
178
57
277
57
186
186
155
277
57
155
277
120
120
57
155
Nueva partici
on! Se cierra la partici
on p3 = {29, 178, 186, 277}
57
296
120
296
155
120
337
337
296
155
155
136
337
296
136
296
Nada
337

136
337
Nada

136
Nueva partici
on! Se cierra la partici
on p4 = {57, 120, 155, 296, 337}
136
Nada
Finaliza la u
ltima partici
on en p5 = {136}

3.15.2.

Salida final

p1 = {153, 304, 311, 369};


p2 = {31, 60, 86, 110, 329, 345, 367};
p3 = {29, 178, 186, 277};
p4 = {57, 120, 155, 296, 337};
p5 = {136}.

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.16

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

Fases
0
1
2

3.16.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

89

<5
Si
Si
No

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.16.3.

Fase 1

E1
153, 304, 311, 369

E2
31, 60, 86, 110, 329,
345, 367
136

E3
29, 178, 186, 277

E1
153, 304, 311, 369

E2
31, 60, 86, 110, 329,
345, 367

E3
29, 178, 186, 277

E1
57, 120, 155, 296, 337

E2
136

S
29, 31, 60, 86,
153, 178, 186,
304, 311, 329,
367, 369
E3
29, 31, 60, 86,
153, 178, 186,
304, 311, 329,
367, 369

57, 120, 155, 296, 337

3.16.4.

Fase 2

n II
Algoritmos y Programacio

110,
277,
345,

110,
277,
345,

Facultad de Ingeniera

90

3.17

3.16.5.

Selecci
on de reemplazo con buffer de tama
no 4

Fase final

E1
153, 304, 311, 369

E2
31, 60, 86, 110, 329,
345, 367

E3
29, 178, 186, 277

E1
57, 120, 155, 296, 337

E2
136

E2

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.17.

S
29, 31, 60, 86,
153, 178, 186,
304, 311, 329,
367, 369
E3
29, 31, 60, 86,
153, 178, 186,
304, 311, 329,
367, 369

110,
277,
345,

110,
277,
345,

E3

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.
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

91

b2
b3
b4
Sale
Entra

Nada
153

Nada
311
311

Nada
304
311
304

Nada
369
311
304
369
153
31
311
304
369
304
110
311
110
369
311
345
345
110
369
345
60
60
110
369
369
86
60
110
86
partici
on! Se cierra la partici
on p1 = {153, 304, 311, 345, 369}
31
329
329
60
110
86
60
367
329
367
110
86
86
29
329
367
110
29
110
277
329
367
277
29
277
178
329
367
178
29
329
186
186
367
178
29
367
57
186
57
178
29
Nueva
partici
on!
Se
cierra
la
partici
on
p2
=
{31, 60, 86, 110, 277, 329, 367}
29
155
186
57
178
155
57
120
186
120
178
155
120
296
186
296
178
155
155
337
186
296
178
337
178
136
186
296
136
337
186
Nada

296
136
337
296
Nada

136
337
337
Nada

136

Nueva
partici
on!
Se
cierra
la
partici
on
p3
=
{29, 57, 120, 155, 178, 186, 296, 337}
136
Nada
Finaliza la u
ltima partici
on en p4 = {136}
b1

153
153
153
153
31
31
31
31
31
Nueva

3.17.2.

Salida final

p1 = {153, 304, 311, 345, 369};


p2 = {31, 60, 86, 110, 277, 329, 367};
p3 = {29, 57, 120, 155, 178, 186, 296, 337};
p4 = {136}.

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

Facultad de Ingeniera

92

3.18

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

Fases
0
1
2
3.18.2.

c1
1
1
2

c2
0
1
2

P3

i=1 ci

c3
0
1
1

1
3
5

<4
Si
Si
No

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.3.

Fase 1

E1
D

E2
153, 304, 311, 345,
369
136

E3
31, 60, 86, 110, 277,
329, 367

E1
D

E2
153, 304, 311, 345,
369

E3
31, 60, 86, 110, 277,
329, 367

E1
29, 57, 120, 155, 178,
186, 296, 337

E2
136

S
31, 60, 86, 110,
277, 304, 311,
345, 367, 369
E3
31, 60, 86, 110,
277, 304, 311,
345, 367, 369

E1
D

E2
153, 304, 311, 345,
369

E3
31, 60, 86, 110, 277,
329, 367

E1
29, 57, 120, 155, 178,
186, 296, 337

E2
136

E2

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

29, 57, 120, 155, 178,


186, 296, 337
3.18.4.

3.18.5.

Fase 2
153,
329,

153,
329,

Fase final

Enrique P. Calot

S
31, 60, 86, 110,
277, 304, 311,
345, 367, 369
E3
31, 60, 86, 110,
277, 304, 311,
345, 367, 369

153,
329,

153,
329,

E3

n II
Algoritmos y Programacio

3.19

Selecci
on Natural con buffers de tama
no 4

3.19.

93

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.
a2
a3
a4
Sale

Nada

Nada

Nada

Nada

153

Nada
110

Nada
110

304
110
60

Nada
110
60
86
311
110
60
86
345
110
60
86
369

p1 = {153, 304, 311, 345, 369}


31
329
110
60
86

60
329
110
367
86

86
329
110
367

29

Nada
329
110
367
277
29

110
329
178
367
277
29

178
329
186
367
277
29

186
329

367
277
29
57

Nada
329

367
277
29
57
155

Nada
329

367
277
29
57
155
120
277
329

367

29
57
155
120
329

367

29
57
155
120
367
29
57
155
120

Nueva partici
on! Se cierra la partici
on p2 = {31, 60, 86, 110, 178, 186, 277, 329, 367}
29
296
57
155
120

57
296
337
155
120

120
296
337
155
136

136
296
337
155

155
296
337

296

337

337
Finaliza la u
ltima partici
on en p3 = {29, 57, 120, 136, 155, 296, 337}
b1
b2
b3
b4
a1

153

153
311

153
311
304

153
311
304
369

311
304
369
31

311
304
369
31
345
311
304
369
31
345
311

369
31
345
311

369
31
345

369
31

369
31
31
110
60
86

Nueva partici
on! Se cierra la partici
on

3.19.2.

Entra
153
311
304
369
31
110
345
60
86
Nada
Nada
Nada

329
367
29
277
178
186
57
155
120
Nada
Nada
Nada

296
337
136
Nada
Nada
Nada
Nada

Salida final

p1 = {153, 304, 311, 345, 369};


p2 = {31, 60, 86, 110, 178, 186, 277, 329, 367};
p3 = {29, 57, 120, 136, 155, 296, 337}.

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

Facultad de Ingeniera

94

3.21

3.20.1.

Selecci
on de reemplazo con buffer de tama
no 5

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

3.20.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.3.

Fase 1

E1
153, 304, 311, 345,
369

E2
31, 60, 86, 110, 178,
186, 277, 329, 367

E3
29, 57, 120, 136, 155,
296, 337

E1
153, 304, 311, 345,
369

E2
31, 60, 86, 110, 178,
186, 277, 329, 367

E3
29, 57, 120, 136, 155,
296, 337

E2

E3

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.20.4.

3.21.

Fase final

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.22

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

b1
b2
b3
b4
b5
Sale

Nada
153

Nada
153
311

Nada
153
311
304

Nada
153
311
304
369

Nada
153
311
304
369
31
31
153
311
304
369
110
110
153
311
304
369
345
153
60
311
304
369
345
304
60
311
86
369
345
311
60
329
86
369
345
329
60
367
86
369
345
345
60
367
86
369
29
367
60
277
86
369
29
369
60
277
86
178
29
Nueva
partici
on!
Se
cierra
la
partici
on
{31, 110, 153, 304, 311, 329, 345, 367, 369}
29
60
277
86
178
186
60
57
277
86
178
186
86
57
277
155
178
186
155
57
277
120
178
186
178
57
277
120
296
186
186
57
277
120
296
337
277
57
136
120
296
337
296
57
136
120

337
337
57
136
120

Nueva
partici
on!
Se
cierra
la
partici
on
{29, 60, 86, 155, 178, 186, 277, 296, 337}
57

136
120

120

136

136
Finaliza la u
ltima partici
on en p3 = {57, 120, 136}

3.21.2.

95

Entra
153
311
304
369
31
110
345
60
86
329
367
29
277
178
p1

186
57
155
120
296
337
136
Nada
Nada
p2

Nada
Nada
Nada

Salida final

p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369};


p2 = {29, 60, 86, 155, 178, 186, 277, 296, 337};
p3 = {57, 120, 136}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

96

3.23

3.22.2.

Selecci
on Natural con buffers de tama
no 5

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.3.

Fase 1

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 60, 86, 155, 178,
186, 277, 296, 337

E3
57, 120, 136

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 60, 86, 155, 178,
186, 277, 296, 337

E3
57, 120, 136

E2

E3

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.22.4.

3.23.

Fase final

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.24

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

a1
a2
a3
a4
a5
Sale

Nada

Nada

Nada

Nada

Nada

31

110

153
60

Nada
60
86

Nada
60
86

304
60
86

311
60
86
29

Nada
60
86
29
277

Nada
60
86
29
277
178
329
60
86
29
277
178
345
60
86
29
277
178
367
60
86
29
277
178
369

p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369}


29
60
86
186
277
178

60

86
186
277
178
57

Nada
155
86
186
277
178
57

86
155
120
186
277
178
57

120
155
296
186
277
178
57

155
337
296
186
277
178
57

178
337
296
186
277

57
136

186
337
296

277

57
136

277
337
296

57
136

296
337

57
136

337
57
136

Nueva partici
on! Se cierra la partici
on p2 = {29, 60, 86, 120, 155, 178, 186, 277, 296, 337}
57

136

136
Finaliza la u
ltima partici
on en p3 = {57, 136}
b1

153
153
153
153
153
153
153

329
329
329
329
329

60
Nueva

3.23.2.

b2
b3
b4
b5

311

311
304

311
304
369

311
304
369
31
311
304
369
110
311
304
369
345
311
304
369
345
311
304
369
345
311
304
369
345
311
367
369
345

367
369
345

367
369
345

367
369
345

367
369
345

367
369

369

86
29
277
178
partici
on! Se cierra la partici
on

97

Entra
153
311
304
369
31
110
345
60
86
329
367
29
277
178
Nada
Nada
Nada
Nada

186
57
155
120
296
337
136
Nada
Nada
Nada
Nada

Nada
Nada

Salida final

p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369};


p2 = {29, 60, 86, 120, 155, 178, 186, 277, 296, 337};
p3 = {57, 136}.

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

Facultad de Ingeniera

98

3.25

Fases
0
1

3.24.2.

c1
1
1

Selecci
on de reemplazo con buffer de tama
no 6

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.3.

Fase 1

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 60, 86, 120, 155,
178, 186, 277, 296,
337

E3
57, 136

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 60, 86, 120, 155,
178, 186, 277, 296,
337

E3
57, 136

E2

E3

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.24.4.

3.25.

Fase final

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.26

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

b1
b2
b3
b4
b5
b6

153

153
311

153
311
304

153
311
304
369

153
311
304
369
31

153
311
304
369
31
110
153
311
304
369
345
110
153
311
304
369
345
60
86
311
304
369
345
60
86
311
329
369
345
60
86
367
329
369
345
60
86
367
29
369
345
60
86
367
29
369
277
60
86
178
29
369
277
60
86
178
29
186
277
60
Nueva
partici
on!
Se
cierra
la
{31, 110, 153, 304, 311, 329, 345, 367, 369}

Sale
Nada
Nada
Nada
Nada
Nada
Nada
31
110
153
304
311
329
345
367
369
partici
on

29
86
178
57
186
277
60
57
86
178
155
186
277
60
60
86
178
155
186
277
120
86
296
178
155
186
277
120
120
296
178
155
186
277
337
155
296
178
136
186
277
337
178
296

136
186
277
337
186
296

136

277
337
277
296

136

337
296

136

337
337

136

Nueva
partici
on!
Se
cierra
la
partici
on
{29, 57, 60, 86, 120, 155, 178, 186, 277, 296, 337}
136
Finaliza la u
ltima partici
on en p3 = {136}

3.25.2.

99

Entra
153
311
304
369
31
110
345
60
86
329
367
29
277
178
186
=

p1
57
155
120
296
337
136
Nada
Nada
Nada
Nada
Nada

p2
Nada

Salida final

p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369};


p2 = {29, 57, 60, 86, 120, 155, 178, 186, 277, 296, 337};
p3 = {136}.

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.
P3
<3
Fases c1 c2 c3
i=1 ci
0
1
0
0
1
Si
1
1
1
1
3
No
n II
Algoritmos y Programacio

Facultad de Ingeniera

100

3.27

3.26.2.

Selecci
on Natural con buffers de tama
no 6

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.26.3.

Fase 1

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 57, 60, 86, 120,
155, 178, 186, 277,
296, 337

E3
136

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 57, 60, 86, 120,
155, 178, 186, 277,
296, 337

E3
136

E2

E3

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.26.4.

3.27.

Fase final

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.28

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

b1

153
153
153
153
153
153
153
153
153
153
367
367
367
367
367
367
367
367

60
Nueva

b2
b3
b4
b5
b6
a1
a2
a3
a4
a5

311

311
304

311
304
369

311
304
369
31

311
304
369
31
110

311
304
369
345
110

311
304
369
345

60

311
304
369
345

60
86

311
304
369
345
329
60
86

311
304
369
345
329
60
86

311

369
345
329
60
86
29

311

369
345
329
60
86
29
277

311

369
345
329
60
86
29
277
178
311

369
345
329
60
86
29
277
178

369
345
329
60
86
29
277
178

369
345

60
86
29
277
178

369

60
86
29
277
178

369

60
86
29
277
178
86
29
277
178
186

partici
on! Se cierra la partici
on p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369}

60
60
120
120
337
337
337
337
337
337
136
Nueva

86
57
277
178
86
155
277
178
86
155
277
178
296
155
277
178
296
155
277
178
296

277
178
296

277

296

277

296

partici
on! Se cierra la partici
on

a6

186
186
186
186
186

186

186

186

186

186

186
136

186
136

136

136

136

p2 = {29, 57, 60, 86, 120, 155, 178, 186, 277, 296, 337}

101

Sale
Nada
Nada
Nada
Nada
Nada
Nada
31
110
Nada
Nada
153
304
Nada
Nada
Nada
311
329
345
367
369

Entra
153
311
304
369
31
110
345
60
86
329
367
29
277
178
186
Nada
Nada
Nada
Nada
Nada

29
57
60
86
120
155
178
186
277
296
337

57
155
120
296
337
136
Nada
Nada
Nada
Nada
Nada

136

Nada

Finaliza la u
ltima partici
on en p3 = {136}

3.27.2.

Salida final

p1 = {31, 110, 153, 304, 311, 329, 345, 367, 369};


p2 = {29, 57, 60, 86, 120, 155, 178, 186, 277, 296, 337};
p3 = {136}.

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

Facultad de Ingeniera

102

3.28

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

Fases
0
1

3.28.2.

c1
1
1

c2
0
1

P3

i=1 ci

c3
0
1

1
3

<3
Si
No

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.28.3.

Fase 1

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 57, 60, 86, 120,
155, 178, 186, 277,
296, 337

E3
136

E1
31, 110, 153, 304,
311, 329, 345, 367,
369

E2
29, 57, 60, 86, 120,
155, 178, 186, 277,
296, 337

E3
136

E2

E3

S
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369
E1
29, 31, 57, 60, 86,
110, 120, 136, 153,
155, 178, 186, 277,
296, 304, 311, 329,
337, 345, 367, 369

3.28.4.

Fase final

Enrique P. Calot

n II
Algoritmos y Programacio

3.29

Bubble Sort ascendente

3.29.

Bubble Sort ascendente

3.29.1.

Desarrollo

103

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

18/20

153 304 311 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136 369

15/19

153 304 31 110 311 60 86 329 345 29 277 178 186 57 155 120 296 337 136 367 369

14/18

153 31 110 304 60 86 311 329 29 277 178 186 57 155 120 296 337 136 345 367 369

13/17

31 110 153 60 86 304 311 29 277 178 186 57 155 120 296 329 136 337 345 367 369

11/16

31 110 60 86 153 304 29 277 178 186 57 155 120 296 311 136 329 337 345 367 369

11/15

31 60 86 110 153 29 277 178 186 57 155 120 296 304 136 311 329 337 345 367 369

7/14

31 60 86 110 29 153 178 186 57 155 120 277 296 136 304 311 329 337 345 367 369

5/13

31 60 86 29 110 153 178 57 155 120 186 277 136 296 304 311 329 337 345 367 369

5/12

31 60 29 86 110 153 57 155 120 178 186 136 277 296 304 311 329 337 345 367 369

4/11

10

31 29 60 86 110 57 153 120 155 178 136 186 277 296 304 311 329 337 345 367 369

4/10

11

29 31 60 86 57 110 120 153 155 136 178 186 277 296 304 311 329 337 345 367 369

2/9

12

29 31 60 57 86 110 120 153 136 155 178 186 277 296 304 311 329 337 345 367 369

2/8

13

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/7

14

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/6

15

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/5

16

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/4

17

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/3

18

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/2

19

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/1

20

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

104

3.30

3.30.

Bubble Sort descendente

3.30.1.

Desarrollo

Bubble Sort descendente

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

18/20

311 304 369 153 110 345 60 86 329 367 31 277 178 186 57 155 120 296 337 136 29

14/19

311 369 304 153 345 110 86 329 367 60 277 178 186 57 155 120 296 337 136 31 29

12/18

369 311 304 345 153 110 329 367 86 277 178 186 60 155 120 296 337 136 57 31 29

11/17

369 311 345 304 153 329 367 110 277 178 186 86 155 120 296 337 136 60 57 31 29

11/16

369 345 311 304 329 367 153 277 178 186 110 155 120 296 337 136 86 60 57 31 29

10/15

369 345 311 329 367 304 277 178 186 153 155 120 296 337 136 110 86 60 57 31 29

7/14

369 345 329 367 311 304 277 186 178 155 153 296 337 136 120 110 86 60 57 31 29

3/13

369 345 367 329 311 304 277 186 178 155 296 337 153 136 120 110 86 60 57 31 29

3/12

369 367 345 329 311 304 277 186 178 296 337 155 153 136 120 110 86 60 57 31 29

2/11

10

369 367 345 329 311 304 277 186 296 337 178 155 153 136 120 110 86 60 57 31 29

2/10

11

369 367 345 329 311 304 277 296 337 186 178 155 153 136 120 110 86 60 57 31 29

2/9

12

369 367 345 329 311 304 296 337 277 186 178 155 153 136 120 110 86 60 57 31 29

1/8

13

369 367 345 329 311 304 337 296 277 186 178 155 153 136 120 110 86 60 57 31 29

1/7

14

369 367 345 329 311 337 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

1/6

15

369 367 345 329 337 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

1/5

16

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/4

17

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/3

18

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/2

19

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/1

20

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

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

105

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

18/20

153 304 311 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136 369

16/20

29 153 304 311 31 110 345 60 86 329 367 57 277 178 186 120 155 136 296 337 369

14/18

29 153 304 31 110 311 60 86 329 345 57 277 178 186 120 155 136 296 337 367 369

12/18

29 31 153 304 57 110 311 60 86 329 345 120 277 178 186 136 155 296 337 367 369

12/16

29 31 153 57 110 304 60 86 311 329 120 277 178 186 136 155 296 337 345 367 369

8/16

29 31 57 153 60 110 304 86 120 311 329 136 277 178 186 155 296 337 345 367 369

10/14

29 31 57 60 110 153 86 120 304 311 136 277 178 186 155 296 329 337 345 367 369

7/14

29 31 57 60 86 110 153 120 136 304 311 155 277 178 186 296 329 337 345 367 369

7/12

29 31 57 60 86 110 120 136 153 304 155 277 178 186 296 311 329 337 345 367 369

2/12

10

29 31 57 60 86 110 120 136 153 155 304 178 277 186 296 311 329 337 345 367 369

4/10

11

29 31 57 60 86 110 120 136 153 155 178 277 186 296 304 311 329 337 345 367 369

1/10

12

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/8

13

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/8

14

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/6

15

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/6

16

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/4

17

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/4

18

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/2

19

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/2

20

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

0/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

106

3.32

3.32.

Bilateral Bubble Sort descendente

3.32.1.

Desarrollo

Bilateral Bubble Sort descendente

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

18/20

311 304 369 153 110 345 60 86 329 367 31 277 178 186 57 155 120 296 337 136 29

16/20

369 311 304 367 153 110 345 60 86 329 337 31 277 178 186 57 155 120 296 136 29

13/18

369 311 367 304 153 345 110 86 329 337 60 277 178 186 57 155 120 296 136 31 29

13/18

369 367 311 345 304 153 337 110 86 329 296 60 277 178 186 57 155 120 136 31 29

10/16

369 367 345 311 304 337 153 110 329 296 86 277 178 186 60 155 120 136 57 31 29

8/16

369 367 345 337 311 304 329 153 110 296 277 86 186 178 155 60 136 120 57 31 29

8/14

369 367 345 337 311 329 304 153 296 277 110 186 178 155 86 136 120 60 57 31 29

4/14

369 367 345 337 329 311 304 296 153 277 186 110 178 155 136 86 120 60 57 31 29

6/12

369 367 345 337 329 311 304 296 277 186 153 178 155 136 110 120 86 60 57 31 29

2/12

10

369 367 345 337 329 311 304 296 277 186 178 153 155 136 120 110 86 60 57 31 29

1/10

11

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/10

12

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/8

13

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/8

14

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/6

15

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/6

16

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/4

17

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/4

18

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/2

19

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/2

20

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

0/0

Enrique P. Calot

n II
Algoritmos y Programacio

3.33

Selection Sort ascendente

3.33.

Selection Sort ascendente

3.33.1.

Desarrollo

107

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

1/20

369 311 304 153 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

1/19

369 367 304 153 31 110 345 60 86 329 311 29 277 178 186 57 155 120 296 337 136

1/18

369 367 345 153 31 110 304 60 86 329 311 29 277 178 186 57 155 120 296 337 136

1/17

369 367 345 337 31 110 304 60 86 329 311 29 277 178 186 57 155 120 296 153 136

1/16

369 367 345 337 329 110 304 60 86 31 311 29 277 178 186 57 155 120 296 153 136

1/15

369 367 345 337 329 311 304 60 86 31 110 29 277 178 186 57 155 120 296 153 136

1/14

369 367 345 337 329 311 304 60 86 31 110 29 277 178 186 57 155 120 296 153 136

1/13

369 367 345 337 329 311 304 296 86 31 110 29 277 178 186 57 155 120 60 153 136

1/12

369 367 345 337 329 311 304 296 277 31 110 29 86 178 186 57 155 120 60 153 136

1/11

10

369 367 345 337 329 311 304 296 277 186 110 29 86 178 31 57 155 120 60 153 136

1/10

11

369 367 345 337 329 311 304 296 277 186 178 29 86 110 31 57 155 120 60 153 136

1/9

12

369 367 345 337 329 311 304 296 277 186 178 155 86 110 31 57 29 120 60 153 136

1/8

13

369 367 345 337 329 311 304 296 277 186 178 155 153 110 31 57 29 120 60 86 136

1/7

14

369 367 345 337 329 311 304 296 277 186 178 155 153 136 31 57 29 120 60 86 110

1/6

15

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 57 29 31 60 86 110

1/5

16

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 29 31 60 86 57

1/4

17

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 31 60 29 57

1/3

18

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 31 29 57

1/2

19

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 29 31

1/1

20

369 367 345 337 329 311 304 296 277 186 178 155 153 136 120 110 86 60 57 31 29

1/0

n II
Algoritmos y Programacio

Facultad de Ingeniera

108

3.34

3.34.

Selection Sort descendente

3.34.1.

Desarrollo

Selection Sort descendente

153 311 304 369 31 110 345 60 86 329 367 29 277 178 186 57 155 120 296 337 136

1/20

29 311 304 369 31 110 345 60 86 329 367 153 277 178 186 57 155 120 296 337 136

1/19

29 31 304 369 311 110 345 60 86 329 367 153 277 178 186 57 155 120 296 337 136

1/18

29 31 57 369 311 110 345 60 86 329 367 153 277 178 186 304 155 120 296 337 136

1/17

29 31 57 60 311 110 345 369 86 329 367 153 277 178 186 304 155 120 296 337 136

1/16

29 31 57 60 86 110 345 369 311 329 367 153 277 178 186 304 155 120 296 337 136

1/15

29 31 57 60 86 110 345 369 311 329 367 153 277 178 186 304 155 120 296 337 136

1/14

29 31 57 60 86 110 120 369 311 329 367 153 277 178 186 304 155 345 296 337 136

1/13

29 31 57 60 86 110 120 136 311 329 367 153 277 178 186 304 155 345 296 337 369

1/12

29 31 57 60 86 110 120 136 153 329 367 311 277 178 186 304 155 345 296 337 369

1/11

10

29 31 57 60 86 110 120 136 153 155 367 311 277 178 186 304 329 345 296 337 369

1/10

11

29 31 57 60 86 110 120 136 153 155 178 311 277 367 186 304 329 345 296 337 369

1/9

12

29 31 57 60 86 110 120 136 153 155 178 186 277 367 311 304 329 345 296 337 369

1/8

13

29 31 57 60 86 110 120 136 153 155 178 186 277 367 311 304 329 345 296 337 369

1/7

14

29 31 57 60 86 110 120 136 153 155 178 186 277 296 311 304 329 345 367 337 369

1/6

15

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 345 367 337 369

1/5

16

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 345 367 337 369

1/4

17

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 345 367 337 369

1/3

18

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 367 345 369

1/2

19

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

1/1

20

29 31 57 60 86 110 120 136 153 155 178 186 277 296 304 311 329 337 345 367 369

1/0

Enrique P. Calot

n II
Algoritmos y Programacio

Algoritmos y Programaci
on II C
atedra Lic. Gustavo Carolo
Evaluaci
on Integradora 2008-12-22
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:
153, 311, 304, 369, 31 , 110, 345, 60 , 86 , 329, 367 , 29, 277, 178, 186, 57 , 155,
120 , 296, 337, 136
Se pide:
a. Desarrollar los algoritmos de Radix Sort en orden ascendente (entero) y Heap Sort en orden ascendente
(hacer al menos 4 swapdown).
b. que es mejor: seleccion de reemplazo con un buffer de tama
no 10 o seleccion natural con sus dos buffers
de tama
no 5? Defina ser mejor.
c. Desarrollar el algoritmo de seleccion natural con buffers de tama
no 3.
d. Procesar el B-tree de orden 2 resultante de ingresar los elementos del lote en el orden dado y luego eliminar
los siguientes:
186, 178 , 296

Mostrar los resultados parciales tras insertar o eliminar un elemento marcado con .
e. Desarrollar 2 fases del algoritmo de merge polif
asico para 3 vas de entrada con 21 particiones ordenadas
tomadas del lote de datos.

También podría gustarte