09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

420 Capítulo 18. Complejidad algorítmica<br />

si<strong>en</strong>do dn =<br />

cn<br />

(b1b2 . . . bn) .<br />

Como ejemplo, se expone el caso particular que se obti<strong>en</strong>e cuando bn = b y<br />

cn = c, es decir, xn+1 = bxn +c. En este caso se realiza el cambio xn = b n yn<br />

y se ti<strong>en</strong>e:<br />

b n+1 yn+1 = b n+1 yn + c ⇒ yn+1 = yn + c<br />

⇒ yn = y0 +<br />

n<br />

i=1<br />

1 − bn<br />

lo que conduce a xn = x0 + c .<br />

(1 − b)bn <br />

c<br />

bi <br />

1 − bn<br />

= y0 + c<br />

1 − b<br />

b n+1<br />

Estas recurr<strong>en</strong>cias son de gran importancia por sí mismas, pero además, las<br />

recurr<strong>en</strong>cias g<strong>en</strong>eradas por sustracción y por división se reduc<strong>en</strong> a ellas.<br />

Recurr<strong>en</strong>cias g<strong>en</strong>eradas por sustracción<br />

Exist<strong>en</strong> algoritmos que dan lugar a recurr<strong>en</strong>cias de la forma<br />

xn = Expr(n, xn−c)<br />

conocido x0. Mediante el cambio de variable n = kc t<strong>en</strong>emos:<br />

xn = Expr(n, xn−c)<br />

= Expr(kc, xkc−c)<br />

xkc = Expr(kc, x (k−1)c)<br />

Si ahora llamamos a la sucesión xkc = yk, t<strong>en</strong>emos:<br />

y0 = x0<br />

yk = xkc<br />

= Expr(kc, yk−1)<br />

que es lineal de primer ord<strong>en</strong>. Una vez resuelta, se ti<strong>en</strong>e que<br />

xn = y n/c<br />

Recurr<strong>en</strong>cias g<strong>en</strong>eradas por división<br />

Otros algoritmos dan lugar a recurr<strong>en</strong>cias de la forma sigui<strong>en</strong>te:<br />

xn = ...n...x n/c

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

Saved successfully!

Ooh no, something went wrong!