Buscar este blog

16 de enero de 2010


Recorrido inorden
El algoritmo de corrido inorden también usa una variable puntero PTR, que contendrá la posición del nodo N que se está examinando, y un array PILA, que mantendrá las direcciones de los nodos que queden por procesa. De hecho, en este algoritmo, un nodo sólo se procesa cuando se saca de la PILA.

ALGORRIMO: INOR (INFO, IZQ,DER, RAIZ)
Un árbol binario está en memoria. Este algoritmo hace un recorrido inorden de T,
 aplicando una operación PORCESO a cada uno de sus nodos. 
Se usa en array PILA para mantener temporalmente las direcciones de los nodos.
1.- [meter NULO en PILA e inicializar PTR]
Hacer SUP:=1, PILA [1], PILA [1]:=NULO y PTR :=RAIZ
2.- Repetir mientras que PTR ≠NULO:[meter el camino izquierdo en PILA ].
(a) hacer SUP:=SUP+1 y PILA +1 y PILA [SUP]:=PTR [guardar nodo].
(b) hacer PTR:=PTR:=IZQ [PTR],[Actualizar PTR].
3.- hacer PTR:=PILA y SUP:=SUP=:=SUP-1. [sacar nodo de PILA].
4.-  repetir pasos 5 a 7 mientras PTR ≠NULO:[vuelta atrás].
5.- aplicar el PROCESO a INFO[PTR].
6.- [¿hijo derecho?]. si DER [PTR]≠NULO entonces:
(a) hacer PTR :=DER[PTR].
(b)ir al paso 2
[Fin de condicional].
7.- hacer PTR:=PILA [SUP] Y SUP:=SUP-1. [sacar nodo].
[Fin del bucle del paso 4]
8.-salir.
 

No hay comentarios:

Publicar un comentario