Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Soluciones
Solución:
La definición de O es:
n o
O(g(n)) = f (n) : ∃ c > 0 y n0 > 0 / 0 ≤ f (n) ≤ c · g(n), ∀n ≥ n0
Por tanto, tenemos que ver si es posible encontrar una pareja de constantes c > 0 y
n0 > 0 de forma que se cumpla la definición. Empezamos analizando:
5n ≤ cn log(n)
La fórmula para considerar todas las operaciones que se llevan a cabo en un bucle
de tipo FOR o WHILE es:
n
X
Tbucle = 1inicialización + (1comparación + Tcuerpo + 1incremento ) + 1última comparación
Solución:
El código consta de 2 bucles, que podemos descomponer de la siguiente manera:
n−1
X
T (n) = 1 + (1 + TWhile interno + 1) + 1
i=0
n
X
TWhile interno = 1 + (1 + 1 + 1) + 1 = 2 + 3(n − i + 1)
j=i
n−1
X n(n − 1)
= 2 + 7n + 3n2 − 3 i = 2 + 7n + 3n2 − 3
2
i=0
Finalmente:
3 3 3 17
T (n) = 2 + 7n + 3n2 − n2 + n = n2 + n + 2
2 2 2 2
3
Ejercicio 3 [3 puntos]
T (n) = 4T (n/2) + n
Solución:
Procedemos a expandir la recurrencia:
T (n) = 4T (n/2) + n
h ni
= 4 4T (n/22 ) + + n = 42 T (n/22 ) + 2n + n
2
h ni
= 42 4T (n/23 ) + 2 + 2n + n = 43 T (n/23 ) + 4n + 2n + n
2 i
h n
= 4 4T (n/2 ) + 3 + 4n + 2n + n = 44 T (n/24 ) + 8n + 4n + 2n + n
3 4
2
..
.
i−1
X
i i
= 4 T (n/2 ) + n 2j = 4i T (n/2i ) + (2i − 1)n
j=0
T (n) = n2 + n2 − n = 2n2 − n
4
Ejercicio 4 [3 puntos]
Halla una expresión no recursiva para la siguiente recurrencia por el método general
de resolución recurrencias:
Solución:
Para poder aplicar el método primero tenemos que hacer el cambio de variable
n = 2k (donde k = log2 n):
t(k) = C1 1k + C2 k1k + C3 k 2 1k = C1 + C2 k + C3 k 2
Para hallar las constantes necesitamos dos casos base adicionales. Procedemos a
calcular T (2) = T (1) + log2 2 = 2, y T (4) = T (2) + log2 4 = 4. Los correspondientes
casos base para t(k) son: