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