Beruflich Dokumente
Kultur Dokumente
Generalmente, nos bastar con clasicar la funcin recurrente en una a o notacin asinttica. o o
ww
Cuando analizamos algoritmos recursivos es util describir la funcin de o coste como una recurrencia. Una recurrencia es una ecuacin que describe una funcin en trminos del o o e propio valor de la funcin para argumentos ms cercanos a algn caso o a u bsico, para el que la funcin est denida expl a o a citamente. Resolver una recurrencia signica encontrar la expresin expl o cita que dene la funcin recurrente. o
w.
at em
at
ic
a1
.c
om
Repita la sustitucin correspondiente alguna vez ms, hasta que sea o a capaz de adivinar un expresin patrn que generalice todas las o o sustituciones sucesivas. As : T (n) = T (n/22 ) + b + b = T (n/23 ) + b + b + b = . . . = T (n/2i ) + ib
ww
Sustituya cada aparicin del valor de la funcin por la expresin o o o especicada por la recurrencia. De T (n/2) = T (n/22 ) + b obtenemos T (n) = T (n/22 ) + b + b
w.
Sustituya i por su valor y obtendr una expresin. a o i ) + ib = T (1) + b lg n = a + b lg n As T (n) = T (n/2 : 2 2 Para ser rigurosos, deber demostrarse por induccin que esa es la a o solucin. o
ww w.
at em
at
Lleve el argumento de la funcin hasta algn caso bsico y calcule o u a as el valor de i. As n/2i = 1 entonces i = lg2 n :
ic a1
.c om
ces o En ambos casos, lo primero es calcular las ra de la ecuacin caracter stica an x k + an1 x k1 + . . . + ank = 0
at
ic
.c
om
Para las recurrencias no homogneas, adems aparece la ra b (de la parte e a z derecha de la ecuacin) con multiplicidad d + 1 siendo d el grado del o polinomio p(n). Cuando hay una ra mltiple rj , de multiplicidad m, entonces en la z u solucin deben aparecer los sumandos siguientes: o . . . + d0 rjn + d1 nrjn + d2 n2 rjn . . . + dm1 nm1 rjn
ww w.
at em
at
Para encontrar los valores de las constantes c1 , . . . , ck hay que establecer un sistema de ecuaciones con k casos particulares.
ic a1
.c om
Teorema Si siendo a, c y k constantes con c 1 y k 0, entonces si a < 1 (nk ) k+1 ) si a = 1 (n T (n) = (an/c ) si a > 1
ww w.
at em
at
ic
a1
T (n) = a T (n c) + (nk )
.c om
Teorema Si siendo a, b y k constantes con b > 1 y k 0, entonces si a < b k (nk ) (nk lg n) si a = b k T (n) = (nlgb a ) si a > b k
ww w.
at em
at
ic
a1