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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

320 Capítulo 15. <strong>Algoritmos</strong> de búsqueda y ord<strong>en</strong>ación<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Pos v Pos<br />

v<br />

1<br />

2<br />

3<br />

4<br />

5<br />

1<br />

2<br />

3<br />

4<br />

5<br />

òrsula<br />

Enrique<br />

Orlando<br />

Adri‡n<br />

Isabel<br />

. . .<br />

. . .<br />

. . .<br />

. . .<br />

. . .<br />

Ord<strong>en</strong>aci—n<br />

de los ’ndices<br />

Figura 15.7.<br />

1<br />

2<br />

3<br />

4<br />

5<br />

4<br />

2<br />

5<br />

3<br />

1<br />

1<br />

2<br />

3<br />

4<br />

5<br />

òrsula<br />

Enrique . . .<br />

Orlando . . .<br />

Adri‡n<br />

Isabel<br />

if vectFich[vectPosic[i]].nombre > vectFich[vectPosic[j]].nombre<br />

th<strong>en</strong> begin<br />

{Intercambiar vectPosic[i], vectPosic[j] ∈ [1..N]}<br />

posAux:= vectPosic[i];<br />

vectPosic[i]:= vectPosic[j];<br />

vectPosic[j]:= posAux<br />

<strong>en</strong>d<br />

Así se manipulan únicam<strong>en</strong>te tres copias de posiciones, que son de tipo integer,<br />

con el consigui<strong>en</strong>te ahorro de tiempo y espacio, ya que es más efici<strong>en</strong>te<br />

intercambiar dos índices que dos elem<strong>en</strong>tos (siempre y cuando éstos sean grandes).<br />

Además, el método de los vectores paralelos ti<strong>en</strong>e la v<strong>en</strong>taja añadida de que<br />

permite mant<strong>en</strong>er varios índices, que <strong>en</strong> el ejemplo permitirían realizar ord<strong>en</strong>aciones<br />

por nombre, DNI, etc.<br />

Finalm<strong>en</strong>te, también convi<strong>en</strong>e indicar que la idea de manejar las posiciones <strong>en</strong><br />

lugar de los elem<strong>en</strong>tos mismos se explota ampliam<strong>en</strong>te <strong>en</strong> programación dinámica<br />

(véanse los capítulos 16 y 17).<br />

15.3 <strong>Algoritmos</strong> de búsqueda <strong>en</strong> archivos<br />

secu<strong>en</strong>ciales<br />

La variedad de algoritmos de búsqueda <strong>en</strong> archivos se ve muy restringida<br />

<strong>en</strong> <strong>Pascal</strong> por la limitación a archivos de acceso secu<strong>en</strong>cial. Este hecho obliga<br />

a que la localización del elem<strong>en</strong>to buscado se haga examinando las sucesivas<br />

. . .<br />

. . .<br />

. . .

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

Saved successfully!

Ooh no, something went wrong!