CapÃtulo 3 Complejidad de algoritmos recursivos ⩠⨠⧠= > â = 0 1 0 ...
CapÃtulo 3 Complejidad de algoritmos recursivos ⩠⨠⧠= > â = 0 1 0 ...
CapÃtulo 3 Complejidad de algoritmos recursivos ⩠⨠⧠= > â = 0 1 0 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Instituto Tecnológico <strong>de</strong> Ciudad Ma<strong>de</strong>ro<br />
Unidad I COMPLEJIDAD DE ALGORITMOS<br />
3.8 Ejercicios resueltos<br />
Dra. Laura Cruz Reyes<br />
Capítulo 3 <strong>Complejidad</strong> <strong>de</strong> <strong>algoritmos</strong> <strong>recursivos</strong><br />
En los siguientes ejercicios, para la función <strong>de</strong> recurrencia dada, se aplican los métodos <strong>de</strong><br />
solución indicados. Posteriormente se <strong>de</strong>termine el or<strong>de</strong>n asintótico <strong>de</strong> la función. Finalmente la<br />
solución la solución se comprueba utilizando la herramienta Derive.<br />
3.8.1. Utilice el método maestro y al árbol <strong>de</strong> recurrencia para resolver la función T(n)<br />
<strong>de</strong>finida para todas las potencias <strong>de</strong> 2.<br />
( )<br />
Tn ( ) = n-1+<br />
2 T n/2<br />
T (1) = 0<br />
a) Aplicación <strong>de</strong> métodos <strong>de</strong> solución <strong>de</strong> recurrencias<br />
Mediante un análisis <strong>de</strong>l árbol <strong>de</strong> recurrencia se observa que la complejidad en los<br />
diferentes niveles <strong>de</strong>l árbol no es constante y tampoco es una serie geométrica. Por lo<br />
anterior el teorema maestro no se pue<strong>de</strong> utilizar para resolver la recurrencia.<br />
n-1<br />
<strong>Complejidad</strong><br />
T(n)<br />
n-1<br />
Patrón <strong>de</strong> <strong>Complejidad</strong>: n-2 i<br />
T(n/2) (n/2)-1<br />
T(n/2) (n/2)-1<br />
n-2<br />
T(n/4) (n/4)-1 T(n/4) (n/4)-1 T(n/4) (n/4)-1 T(n/4) (n/4)-1 n-4<br />
.<br />
.<br />
n-2 i<br />
Para facilitar la i<strong>de</strong>ntificación <strong>de</strong> patrones, se elabora una tabla que resume la evolución<br />
<strong>de</strong>l tamaño <strong>de</strong>l problema, la complejidad <strong>de</strong> un nodo y la complejidad <strong>de</strong> un nivel.<br />
Nivel<br />
i<br />
Tamaño<br />
<strong>de</strong>l<br />
<strong>Complejidad</strong><br />
(<strong>de</strong> un<br />
No. <strong>de</strong><br />
suproblemas<br />
<strong>Complejidad</strong><br />
(<strong>de</strong> todo el nivel)<br />
problema subproblema)<br />
0 n n-1 1 1(n-1) = n-1<br />
1 n/2 n/2 -1 2 2(n/2 -1) = n-2<br />
2 n/4 n/4 -1 4 4(n/4 -1) = n-4<br />
<br />
9i n 1<br />
n − 2 i<br />
2 i 2 i<br />
<br />
m n n<br />
=1<br />
⎛ ⎞ 2 m<br />
T = T(1) =<br />
m ⎛ n ⎞ m m<br />
0<br />
2 m ⎜<br />
2 m ⎟<br />
2 T⎜<br />
2 T(1) 2 (0)<br />
m ⎟ = =<br />
⎝ ⎠<br />
⎝2<br />
⎠