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.

18.6. Refer<strong>en</strong>cias bibliográficas 425<br />

procedure MergeSort (var v: Vn(elem): iz, der);<br />

{Efecto: se ord<strong>en</strong>a asc<strong>en</strong>d<strong>en</strong>tem<strong>en</strong>te v[iz..der]}<br />

begin<br />

if iz < der + 1 th<strong>en</strong> begin<br />

MergeSort (la mitad izquierda de v);<br />

MergeSort (la mitad derecha de v);<br />

Mezclar las dos mitades de v<br />

<strong>en</strong>d {if}<br />

<strong>en</strong>d; {MergeSort}<br />

suponi<strong>en</strong>do que las mitades del vector son siempre de igual tamaño, para<br />

simplificar, y que el proceso de mezclarlas ti<strong>en</strong>e un coste proporcional a su<br />

tamaño.<br />

18.6 Refer<strong>en</strong>cias bibliográficas<br />

La complejidad de algoritmos se estudia más o m<strong>en</strong>os a fondo <strong>en</strong> casi todos los<br />

cursos de estructuras avanzadas de datos y de metodología de la programación. De las<br />

muchas refer<strong>en</strong>cias m<strong>en</strong>cionables, omitiremos aquí las que ti<strong>en</strong><strong>en</strong> un cont<strong>en</strong>ido similar,<br />

y citaremos <strong>en</strong> cambio sólo algunas de las que pued<strong>en</strong> servir para ampliar lo expuesto<br />

aquí.<br />

Para empezar, citamos [MSPF95], una suave introducción a los conceptos básicos<br />

de la complejidad. En el clásico libro de Brassard y Bratley [BB97] (especialm<strong>en</strong>te<br />

<strong>en</strong> el capítulo 2) se pued<strong>en</strong> ampliar las técnicas estudiadas para resolver recurr<strong>en</strong>cias.<br />

Otro libro interesante es [Wil89], que está completam<strong>en</strong>te dedicado a la complejidad<br />

de algoritmos (incluy<strong>en</strong>do el estudio de algunos algoritmos conocidos de investigación<br />

operativa y de teoría de números útiles <strong>en</strong> criptografía), así como a la complejidad<br />

de problemas. En [BKR91], se estudia el tema y su aplicación <strong>en</strong> el desarrollo de<br />

programas y estructuras de datos con el objetivo de minimizar el coste. En este libro<br />

se introduce además el coste <strong>en</strong> el caso medio de algoritmos, así como el análisis de<br />

algoritmos paralelos.

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

Saved successfully!

Ooh no, something went wrong!