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.

384 Capítulo 17. Estructuras de datos recursivas<br />

A<br />

T1 T2<br />

B C<br />

D E F G<br />

Figura 17.12.<br />

T<strong>en</strong>i<strong>en</strong>do <strong>en</strong> cu<strong>en</strong>ta que los hijos de un nodo son las raíces de sus subárboles<br />

hijos se observa que existe una tarea repetitiva, la visita del nodo raíz de un<br />

árbol. Lo único que resta es ord<strong>en</strong>ar adecuadam<strong>en</strong>te los subárboles por visitar.<br />

En este punto es donde las colas juegan su papel, pues se va a considerar<br />

una cola de subárboles p<strong>en</strong>di<strong>en</strong>tes de visitar, este proceso se repres<strong>en</strong>ta <strong>en</strong> la<br />

figura 17.12:<br />

1. Tras leer el nodo raíz A se colocan sus dos subárboles hijos <strong>en</strong> la cola de<br />

espera.<br />

2. Se toma el primer árbol de la cola y se visita su raíz, <strong>en</strong> este caso B, tras<br />

lo que se añad<strong>en</strong> sus subárboles hijos a la cola.<br />

3. . . .<br />

La tabla 17.1 muestra, paso a paso, cómo va avanzando el recorrido <strong>en</strong> anchura<br />

y cómo va cambiando el estado de la cola de espera (usando la notación de<br />

la figura 17.12 para nombrar a los distintos subárboles con los que se trabaja).<br />

Para la codificación de este recorrido será necesario definir el tipo cola de<br />

árboles (el tipo tCola por razones de efici<strong>en</strong>cia) y declarar una variable <strong>en</strong>Espera<br />

para almac<strong>en</strong>ar los árboles <strong>en</strong> espera de ser visitados.<br />

Una primera aproximación <strong>en</strong> seudocódigo es la sigui<strong>en</strong>te:<br />

Crear una cola con el arbolDato <strong>en</strong> ella<br />

Procesar los árboles de esa cola<br />

La primera acción se refina directam<strong>en</strong>te así:<br />

H<br />

T3

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

Saved successfully!

Ooh no, something went wrong!