Algoritmos 2021 2 Taller 1
Algoritmos 2021 2 Taller 1
Algoritmos 2021 2 Taller 1
nn = ω(n2 )
n3 = Ω(n2 + 3n)
n log n = o(n)
n4 − 1 = Θ(n5 )
n2 + 3n = O(n3 )
2. Use el método del árbol de recursión para obtener una posible cota
superior ajustada para los siguientes numerales. Pruebe dicha cota con
el método de la sustitución. Debe mostrar un bosquejo del árbol de
1
recursión, la información obtenida de dicho árbol, la suma en la que se
muestre el costo de la parte base y de la parte recursiva del árbol, la
suposición y la prueba de sustitución clara y organizada.
def misterio(n)
1. if n <= 1 then
2. return 1
3. a =misterio(n/3)
4. b = 2∗misterio(n/4)
5. i=1
6. while i <= 5 do
7. i=i+1
8. b = b + 5∗misterio(n/4)
9. for j in range (1, n)
10. k=n
11. while k > 1
12. print(“Nada”)
13. k = k/3
14. return a + b
2
a) Muestre el pseudocódigo del algoritmo.
b) Plantee una ecuación de recurrencia que describa el comporta-
miento del algoritmo.
c) Determine el comportamiento asintótico de T (n) justificándolo de
manera detallada.
d ) Implemente el algoritmo en Python y pruébelo con diferentes
ejemplos. Mostrar código.
3
c) Hacer una gráfica de la mediana de los tiempos de ejecución de
los 100 experimentos para cada n.
d ) Encuentre las constantes c1 y n0 que demuestren que el tiempo
de ejecución experimental de merge-sort es T (n) = O(n log n).
Sobre la gráfica de los resultados experimentales también graficar
la función f (n) = c1 n log n. Debe especificar cuál es c1 y n0 . Las
gráficas deben ser claras. Se debe poder distinguir claramente las
lı́neas y se debe especificar cuál es cada una.
e) Debe repetir los numerales (a)-(d) para bubble-sort cambiando
la función del numeral por la correspondiente a su complejidad en
tiempo.
f ) En una misma gráfica mostrar el tiempo experimental de bubble-sort
y merge-sort para los diferentes valores de n trabajados.
g) Debe anexar el código especificando qué hace cada función.