Professional Documents
Culture Documents
Recurrencias homogneas
Recurrencias no homogneas
1 de abril de 2015
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Contenidos
1
Repaso
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Recurrencias homogneas
Mtodo de resolucin
Recurrencias no homogneas
Mtodo de resolucin
Recurrencias homogneas y no homogneass
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Algoritmos de ordenacin
Algoritmos elementales:
Ordenacin por seleccin
Bubble sort
Cocktail sort
Ordenacin por insercin
Shell sort
Algoritmos eficientes:
Ordenacin por intercalacin
versin iterativa
Ordenacin rpida
variantes sobre el procedimiento pivot
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Notacin O
Sea g : N R0 ,
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Propiedades
Constantes multiplicativas no afectan.
Trminos de crecimiento despreciable no afectan.
Sean a, b > 1, O(loga n) = O(logb n).
Regla del lmite. Jerarqua.
Sea n N.f (n) > 0. Entonces
g(n) O(h(n)) f (n)g(n) O(f (n)h(n)).
Sea limn h(n) = . Entonces
f (n) O(g(n)) = f (h(n)) O(g(h(n))).
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Jerarqua
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
|x|
b
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Potencias de b
Para
t(n) =
c
a t(n/b) + g(n)
O(nlogb a |n potencia de b)
t(n)
O(nk log n|n potencia de b)
O(nk |n potencia de b)
si a > bk
si a = bk
si a < bk
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
c
a t(n/b) + g(n)
si a > bk
O(nlogb a )
k
t(n)
O(n log n)
si a = bk
k
O(n )
si a < bk
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Bsqueda binaria
Funcin principal
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Algoritmos de ordenacin
Notacin O
Algoritmos divide y vencers
Recurrencias divide y vencers
Ejemplo: bsqueda binaria
Bsqueda binaria
Anlisis
0
t(n/2) + 1
si n = 0
si n > 0
a = 1, b = 2 y k = 0.
a = bk .
conclusin t(n) O(nk log n) = O(log n).
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Ejemplo
Calculemos el nmero de veces que el siguiente programa
ejecuta la accin A:
proc p (in n: nat)
if n = 0 skip
n=1A
n > 1 p(n-1)
p(n-2)
fi
end proc
{pre : n 0}
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
{pre : n 0}
si n = 0
0
1
si n = 1
t(n) =
t(n 1) + t(n 2)
si n > 1
Recurrencias homogneas y no homogneass
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Es una recurrencia
Es una recurrencia.
Es recurrencia divide y vencers?
0
1
t(n) =
t(n 1) + t(n 2)
si n = 0
si n = 1
si n > 1
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Recurrencia homognea
No es divide y vencers porque las llamadas recursivas no
son de la forma t(n/b) sino de la forma t(n i).
Si pasamos todos los trminos de la forma t(n i) de la
ecuacin t(n) = t(n 1) + t(n 2) a la izquierda, queda
t(n) t(n 1) t(n 2) = 0,
Por eso se la llama recurrencia homognea.
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 1: ecuacin caracterstica
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 2: polinomio caracterstico
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 3: races y multiplicidades
r = 1 21+4 = 12 5 .
Entonces, j = 2, r1 =
1+ 5
2 , r2
1 5
2 ,
m1 = m2 = 1.
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 4: forma general de la solucin
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 5: sistema de ecuaciones
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 6: clculo de incgnitas
c2 r1 + c2 r2
c2 (r2
r )
1
1 5
5
c2 ( 2 1+
)
2
1 51 5
)
c2 ( 2
2 5
c2 ( 2 )
c2 5
Entonces c2 = 15 y c1 =
Recurrencias homogneas y no homogneass
1 .
5
Algoritmos y Estructuras de Datos II
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 7: solucin final
1
5
( 12 5 )n
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 8: comprobacin
= t1 + t0 =1 + 0 = 1
= 15 ( 1+2 5 )2 15 ( 12 5 )2
2
2
1
= 4
((1
+
5)
(1
5) )
5
= 4 5 (2 5 + 2 5)
1
= 4
4
5
5
= 1
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 9: orden
1
5
( 1+2 5 )n
1
5
( 12 5 )n .
1+ 5 n
1 5 n
0
t (n) O(( 2 ) ( 2 ) ).
Como limn
( 12
5 n
)
1+ 5 n
( 2 )
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Cuentas auxiliares
limn
( 12
5 n
)
( 1+2
5 n
)
= limn
= limn
1 5
2
1+ 5
2
n
n
15
1+ 5
= 0
porque |1
5
5| < |1 + 5| y por lo tanto 1
< 1.
1+ 5
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Ejemplo
Calculemos el nmero de veces que el siguiente programa
ejecuta la accin A:
proc p (in n: nat)
if n = 0 skip
n > 0 p(n-1)
p(n-1)
for i:= 1 to n do A od
fi
end proc
{pre : n 0}
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
{pre : n 0}
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Es una recurrencia
Es una recurrencia.
Es recurrencia divide y vencers?
t(n) =
0
2t(n 1) + n
si n = 0
si n > 0
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Recurrencia no homognea
No es divide y vencers porque las llamadas recursivas no
son de la forma t(n/b) sino de la forma t(n i).
Si pasamos todos los trminos de la forma t(n i) de la
ecuacin t(n) = 2t(n 1) + n a la izquierda, queda
t(n) 2t(n 1) = n,
Por eso no es homognea.
Se la llama recurrencia no homognea.
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 1: ecuacin caracterstica
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 2: polinomio caracterstico
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 3: races y multiplicidades
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 4: forma general de la solucin
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 5: clculo de ms condiciones adicionales
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 6: sistema de ecuaciones
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 7: clculo de incgnitas
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 8: solucin final
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 9: comprobacin
=
=
=
=
2t2 + 3 = 2 4 + 3 = 11
2 23 3 2
16 5
11
Repaso
Recurrencias homogneas
Recurrencias no homogneas
Mtodo de resolucin
Mtodo de resolucin
Paso 10: orden