Documentos de Académico
Documentos de Profesional
Documentos de Cultura
diseño de algoritmos
Ecuaciones de recurrencia
Iterativa....ciclo
for, while
programas
recursivos
Recurrencias
Método de iteración
Método maestro*
Método de sustitución
Recurrencias
Método de iteración
2da expansión
3ra expansión
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
Recurrencias
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
n + 3*n/4 + 32*n/42 + 33n/43 + … + 3log4nT(1)
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33T(n/43)
n + 3*n/4 + 32*n/42 + 33n/43 + … + 3log4nT(1)
T(n) = n + 3T(n/4⎦)
n + 3 ( n/4⎦ + 3T(n/16⎦))
n + 3 ( n/4⎦ + 3(n/16⎦ + 3T(n/64⎦) ))
n + 3*n/4⎦ + 32*n/42⎦ + 33(n/43⎦) + … + 3log4nΘ(1)
≤ n + 3n/4 + 32n/42 + 33n/43 + … + 3log4nΘ(1)
Recurrencias
T(n) = n + 3T(n/4)
n + 3 ( n/4 + 3T(n/16))
n + 3 ( n/4 + 3(n/16 + 3T(n/64) ))
n + 3*n/4 + 32*n/42 + 33(n/43) + … + 3log4nΘ(1)
≤ n + 3n/4 + 32n/42 + 33n/43 + … + 3log4nΘ(1)
=
= O(n)
Recurrencias
T(n/2) T(n/2)
Recurrencias
n2
(n/2)2 (n/2)2
...
Recurrencias
n2
(n/2)2 (n/2)2
...
T(n/8) T(n/8)
Recurrencias
n2
(n/2)2 (n/2)2
???
...
T(n/8) T(n/8)
(n/2)2 (n/2)2
???
(n/2i)2=1
(n/4)2 T(n/4) T(n/4) T(n/4)
(n/2i)=1
n=2i
...
log n=i
T(n/8) T(n/8)
(n/2)2 (n/2)2
lg n
...
T(n/8) T(n/8)
...
T(n/8) T(n/8)
...
T(n/8) T(n/8)
Método maestro
2.
Si para algún
3.
Si para algún si a*f(n/b)
≤c*f(n)
Recurrencias
Dado T(n) = 9T(n/3) + n
Vs
Es ?
Es ?
Recurrencias
Dado T(n) = 9T(n/3) + n
Vs
Es ?
Es ?
Si se cumple que , por lo tanto, se
cumple que:
Recurrencias
T(n) = T(2n/3) + 1
Vs
Es ?
Es ?
No existe
Recurrencias
T(n) = T(2n/3) + 1
Vs
Es ?
Es ?
Si, por lo tanto, se cumple que:
Recurrencias
T(n) =3 T(n/4) + nlgn
Vs
Es ?
Es ?
Es ?
Si, y además, af(n/b)≤cf(n)
3(n/4)lg(n/4) ≤ cnlgn
3(n/4)lgn - 3(n/4)*2 ≤ cnlgn
(3/4)nlgn ≤ cnlgn → c=3/4 y se concluye que
Recurrencias
T(n) =2T(n/2) + nlgn
T(n) =4T(n/2) + n
T(n) =4T(n/2) + n2
T(n) =4T(n/2) + n3
Recurrencias
Método de sustitución
T(n)=2T(⌊n/2⎦)+n, T(1)=1
T(n)=2T(⌊n/2⎦)+n, T(1)=1
T(n)=2T(⌊n/2⎦)+n, T(1)=1
T(1) ≤ 1*1lg 1 ?
1 ≤ 0?
No, se debe escoger otro valor para c
Recurrencias
T(n)=2T(⌊n/2⎦)+n, T(1)=1
T(1) ≤ 2*1lg 1 ?
1 ≤ 0?
No, se puede variar k.
Para esto, se calcula T(2) y se toma como valor inicial
Recurrencias
T(2) ≤ 1*2lg 2 ?
4 ≤ 2?
No, se puede variar c.
Recurrencias
T(2) ≤ 3*2lg 2 ?
4 ≤ 6?
Si, se termina la demostración
Recurrencias
Próximo tema:
Divide y vencerás