Tarea 2 de Análisis y Diseño de Algoritmos
Trimestre 2018 Primavera
Entrega: 25 de mayo de 2018 en clase.
- Demuestra que f(n) = 9999n+635 está en O(2n).
- Demuestra que f(n) = 2n está en O(n!).
- Resuelve exactamente la recurrencia T(1) = 4 y, para toda n ≥
2 que sea una potencia de 2, T(n) = 2T(n/2) + 3n + 2.
- Resuelve exactamente la recurrencia T(1) = 2 y, para toda n ≥
3 que sea una potencia de 3, T(n) = 4T(n/3) + 3n - 5.
- Demuestra que el siguiente algoritmo iterativo de
exponenciación es correcto, es decir, debe regresar yz:
power(y,z)
x := 1
while (z > 0) do
if (z es impar) then x := x*y
z := z/2
y := y2
return (x)
- Demuestra que el siguiente algoritmo recursivo de
exponenciación es correcto, es decir, debe regresar yz:
power(y,z)
if (z = 0) return (1)
if (z es impar) then return (power(y2,z/2)*y)
else return (power(y2,z/2))
- Analiza el algoritmo iterativo de exponenciación de la
pregunta 5. ¿Cuántas veces se hace la multiplicación x :=
x*y en el peor de los casos?
- Analiza el algoritmo recursivo de exponenciación de la
pregunta 6. ¿Cuántas veces se hace la multiplicación power(y2,z/2)*y
en el peor de los casos?
Nota 1: En las preguntas 5 y 6, la división z/2 es la
división entera.