Академический Документы
Профессиональный Документы
Культура Документы
int fact(int n)
{ if (n == 0)
1 if n=0
return 1; f ( n) =
else n * f (n 1) otherwise
return(n * fact(n-1));
}
Tcnicas para la Solucin de Recurrencias
Cmo resolverla?
Primera idea, construir una tabulacin de los valores que
toma la recurrencia para diferentes valores de n
TIP: note que la recurrencia solo queda definida para n
potencias de 2, es decir, para n = 2k, donde k es un entero
positivo
Ejemplo
n T(n)
21 3T(1)+2 = 3x1+2
22 3T(2)+22 = 3[3x1+2]+22 = 32x1 + 3x2 + 22
23 3T(4)+23 = 3[32x1 + 3x2 + 22] + 23 = 33x1 + 32x2 +
31x22 + 23
24 3T(8)+24 = 3[33x1 + 32x2 + 31x22 + 23]+24 =
34x1+33x2+32x22+3x23+24
k
T (2 k ) = 3k 20 + 3k 121 + ... + 30 2 k = 3k i 2i
i =0
Ejemplo
3 2 = 3
i =0
k i i k
(
i =0
2 / 3) i
= 3 k +1
2 k +1
Por tanto:
T(2k) = 3k+1-2k+1
Como sabemos que n = 2k log2n = k, con
lo cual se obtiene una T en trminos de n:
T(n) = 3log n +1 2log n +1
Recurrencias Homogneas
Introduccin
fn = fn-1 + fn-2
Polinomio Caracterstico
i =1
Ejemplo 1
c1 + c2 = 0
r1c1 + r2 c2 = 1
1 1
c1 = , c2 =
5 5
Por tanto, se concluye lo siguiente:
1 1 + 5 1 5
n n
fn =
5 2 2
Ejemplo 2
Considere la recurrencia:
0 si n = 0
t n = 5 si n = 1
3t + 4t otro caso
n 1 n2
Polinomio caracterstico:
x2 + 3x + - 4 = 0
Races: r1 = -1, r2 = 4
Solucin general: tn = c1(-1)n + c24n
Ejemplo 2
c1 + c2 = 0 n=0
c1 + 4c2 = 5 n =1
tn = 4n (-1)n
Solucin de Recurrencias con Races
Mltiples
Si la recurrencia a solucionar tiene races
mltiples, entonces la solucin vara por lo
siguiente:
s mi 1
t n = cij n j ri n
i =1 j = 0
Ejemplo
Considere la recurrencia:
n si n = 0, n = 1, n = 2
tn =
5t n 1 8t n 2 + 4t n 3 otro caso
Su polinomio caracterstico es:
tn 5tn-1 + 8tn-2 4tn-3 = 0
El polinomio caracterstico es:
p(x) = x3 5x2 + 8x 4 = 0
Por lo tanto:
r1 = 1, m1 = 1
r2 = 2, m2 = 2
Ejemplo
Estrategia general
Transformar la recurrencia a una expresin homognea
Resolver la expresin, tomando en cuenta que la expresin
homognea no es idntica a la expresin original
Ejemplo 1
Considere la recurrencia:
tn 2tn-1 = 3n
b = 3, p(n) = 1
Para transformar la recurrencia, se sigue el
siguiente proceso:
3(tn 2tn-1 = 3n) 3tn 6tn-1 = 3n+1
Sustituyendo n n 1 se tiene
3tn-1 6tn-2 = 3n
Ejemplo 1
Considere la recurrencia:
tn 2tn-1 = (n+5)3n
Dado que se desea una combinacin lineal
de esta igualdad que sumadas den cero, se
observa lo siguiente:
(n+5)3n, -2 (3/3) (n+5)3n, (32/32) (n+5)3n
De lo anterior se obtienen las siguientes
recurrencias, las cuales son sumadas:
Ejemplo 2
tn 2t n 1 = (n + 5)3n
6t n 1 + 12t n 2 = 6(n + 4)3n 1
9t n 2 18t n 3 = 9(n + 3)3n 2
tn = 2n -1
Cambio de Variable
Ejemplo
1 si n = 1
T ( n) =
3T (n / 2) + n si n > 1, potencia de 2
Consideremos que n = 2i
La recurrencia resultante ahora queda en trminos de i
Por tanto, ti = T(2i)
Ejemplo