22.06.2015 Views

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 ...

SHOW MORE
SHOW LESS

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 />

Dra. Laura Cruz Reyes<br />

Unidad I COMPLEJIDAD DE ALGORITMOS<br />

Capítulo 3 <strong>Complejidad</strong> <strong>de</strong> <strong>algoritmos</strong> <strong>recursivos</strong><br />

Primero se generan cuatro recurrencias para tamaños <strong>de</strong> problema consecutivos.<br />

( ) = + 2 (<br />

n<br />

2)<br />

(<br />

n n<br />

) = + 2T( n<br />

2 4)<br />

2<br />

(<br />

n n<br />

) = + 2T<br />

4 (<br />

n<br />

8)<br />

4<br />

n<br />

(<br />

n<br />

) = + 2T( n<br />

)<br />

T n n T<br />

T<br />

T<br />

T<br />

8 8 16<br />

Enseguida se usan las recurrencias <strong>de</strong> anteriores para hacer la expansión <strong>de</strong> la recurrencia<br />

original.<br />

( ) = + 2n<br />

+ 2⋅2<br />

(<br />

n<br />

2 4)<br />

( ) = + 2n + 2⋅ 2n + 2⋅2⋅2<br />

2 4 (<br />

n<br />

8)<br />

( ) = + 2n + 22 ⋅ n + 222 ⋅ ⋅ n + 2222 ⋅ ⋅ ⋅ (<br />

n<br />

)<br />

Tn n T<br />

T n n T<br />

T n n T<br />

2 4 8 16<br />

( ) = + 2 ( )<br />

1 n 2 3 4<br />

1+ 2 n<br />

2 + 2 n<br />

3+<br />

2 n<br />

4<br />

T n n T<br />

2 2 2 2<br />

Dado que se <strong>de</strong>sconoce en cuántos términos la función T(n) <strong>de</strong>be ser expandida para<br />

alcanzar el caso base, se usará el índice m para hacer referencia al término correspondiente a<br />

la condición <strong>de</strong> paro.<br />

[ ]<br />

1 2 3<br />

Tn ( ) = ⎡n 2 n<br />

1 2 n<br />

2 2 n<br />

3 ... término ⎤<br />

⎢<br />

+ + + + +<br />

m−1<br />

+ términom<br />

⎣ 2 2 2 ⎥⎦<br />

Se forma una sumatoria cuyo patrón <strong>de</strong> regularidad es 2 i i<br />

( /2 )<br />

n con i= 0…m-1. Posterior a<br />

esta sumatoria sigue el término <strong>de</strong> paro, cuyo coeficiente y tamaño <strong>de</strong> problema siguen un<br />

patrón similar con i=m.<br />

m−1<br />

i=<br />

0<br />

n<br />

m n<br />

( m−1) T( m−1)<br />

m<br />

( m−<br />

) ( m−<br />

)<br />

1 2 3 1<br />

( ) 2 n<br />

1 2 n<br />

2 2 n m−<br />

Tn= ⎡n+ + + 3+ ... + 2 n ⎤<br />

1 + ⎡2<br />

T n ⎤<br />

1<br />

⎢⎣ 2 2 2 2 ⎥⎦ ⎢⎣ 2 ⎥⎦<br />

∑<br />

i<br />

Tn ( ) = 2 + 2<br />

2 2<br />

La sumatoria se simplifica al consi<strong>de</strong>rar que el último termino correspon<strong>de</strong> al caso base con<br />

n=1 y T(1)=1.<br />

n n<br />

( i) ( m−1<br />

) ()<br />

m−1 m−1 m−1<br />

i m m m<br />

∑ ∑ ∑<br />

Tn ( ) = 2 + 2 T = n+ 2 T1 = n+<br />

2<br />

2 2<br />

i= 0 i= 0 i=<br />

0<br />

Encontramos el valor <strong>de</strong> m igualando las dos condiciones <strong>de</strong> paro.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!