Documentos de Académico
Documentos de Profesional
Documentos de Cultura
jrfelizamigo@yahoo.es
Contenido
Consideraciones.
Solución de Recurrencias.
MétodoIterativo.
Teorema Maestro
2
CONSIDERACIONES
3
Solución de
Recurrencias
El tiempo de ejecución de los
algoritmos recursivos se expresa
normalmente con una recurrencia.
Se presentara algunos métodos
donde se muestra que a partir de
estas ecuaciones de recurrencias, se
puede determinar la complejidad
algorítmica de estos algoritmos.
4
Complejidad
Algorítmica
Solución de Recurrencia.
Método Iterativo.
Método Iterativo
El método iterativo requiere, para
obtener la complejidad algorítmica,
de un poco de algebra.
6
EJEMPLO: FACTORIAL
7
Ejemplo. Factorial
(no recursivo).
9
Ejemplo. Factorial
(recursivo).
c1 si n 0
T ( n)
T (n 1) c2 en caso contrario
10
Ejemplo. Factorial
(recursivo).
La forma general será
T (n) T (n k ) k c2
13
Ejemplo. Búsqueda Binaria
(recursiva).
c1
si n 1
T ( n) n
T ( ) c2 en caso contrario
2
n n
T (n) T ( ) c2 reemplazando n por
2 2
n/2 n n
(T ( ) c2 ) c2 T ( ) 2 * c2 reemp. n por
2 4 4
n n
(T ( ) c2 ) 2 * c2 T ( ) 3 * c2
8 8
14
Ejemplo. Búsqueda Binaria
(recursiva).
La forma general será
n
T ( n ) T ( k ) k * c2
2
Este algoritmo termina cuando T(1) = c1,
además n/2k=1 o k = log n. Reemplazando se
tiene:
T (n) T (1) k * c2 c1 c2 * log n
T (n) O(log n)
15
Complejidad
Algorítmica
Solución de Recurrencia.
Teorema Maestro.
Teorema Maestro (Master Theorem)
T (n) aT (n / b) cn k
T ( n) O ( n logb a
) si a b k
T (n) O(n ) si a b
k k
19
Ejemplo. Búsqueda Binaria
(recursiva).
20
Ejemplo. Búsqueda Binaria
(recursiva).
T (n) O(n logb a ) si a b k
T (n) O(n k log n) si a b k
T (n) O(n k ) si a b k
c1 si n 1
T ( n)
T (n / 2) c2 en caso contrario
a 1, b 2, k 0 1 20
T (n) O(n k log n) O(n0 log n) O(log n)
21
Bibliografía
23