Está en la página 1de 5

Recorridos en un rbol En este tema trataremos las diferentes formas de hacer recorridos en el rbol sintctico de una expresin algebraica,

con el fin de poder cambiar de manera algortmica de una representacin en sufijo a forma de prefijo o posfijo. Se llama recorrido de un rbol al proceso que permite acceder una sola vez a cada uno de los nodos del rbol para examinar el conjunto completo de nodos. Recorrido en Profundidad: el proceso exige alcanzar las profundidades de un camino desde la raz hacia el descendiente mas lejano del primer hijo, antes de proseguir con el segundo. Recorrido en Anchura: el proceso se realiza horizontalmente desde la raz a todos sus hijos antes de pasar con la descendencia de alguno de ellos. Primeramente se ven los algoritmos para construir el rbol sintctico, para la expresin dada en sufijo, prefijo o posfijo y tambin se presentan algoritmos para reconocer si una expresin est sintcticamente correcta cuando est dada en prefijo o posfijo. Recorridos Al visitar los nodos de un rbol existen algunas maneras tiles en las que se pueden ordenar sistemticamente los nodos de un rbol. Los ordenamientos ms importantes son llamados: preorden, post-orden y en-orden y se definen recursivamente como sigue: Si un rbol T es nulo, entonces, la lista vaca es el listado preorden, post-orden y en-orden del rbol T. Si T consiste de un slo nodo n, entonces, n es el listado preorden, post-orden y en-orden del rbol T. Los algoritmos de recorrido de un rbol binario presentan tres tipos de actividades comunes: visitar el nodo raz recorrer el subrbol izquierdo recorrer el subrbol derecho Estas tres acciones llevadas a cabo en distinto orden proporcionan los distintos recorridos del rbol. Recorrido en PRE-ORDEN: Visitar el raz Recorrer el subrbol izquierdo en pre-orden Recorrer el subrbol derecho en pre-orden Recorrido EN-ORDEN Recorrer el subrbol izquierdo en en-orden Visitar el raz Recorrer el subrbol derecho en en-orden Recorrido en POST-ORDEN Recorrer el subrbol izquierdo en post-orden Recorrer el subrbol derecho en post-orden Visitar el raz Recorridos Si T es un rbol con raz n y subrboles T1, T2, . . . , Tk, entonces, El listado pre-orden de los nodos de T es la raz n, seguida por los nodos de T1 en pre-orden, despus los nodos de T2 en preorden, y as, hasta los nodos de Tk en pre-orden. El listado post-orden de los nodos de T es los nodos de T1 en postorden, seguidos de los nodos de T2 en post-orden, y as hasta los nodos de Tk en post-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T es los nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . , Tk, cada grupo. Recorreremos el rbol Siguiente:

Recorrido Pre Orden (RID) El recorrido en Pre Orden del rbol es el siguiente: 15, 6, 4, 10, 20, 17, 22 Recorrido En Orden(IRD) El recorrido en En Orden del rbol es el siguiente: 4, 6, 10, 15, 17, 20, 22 Recorrido Post Orden(IDR) El recorrido en Post Orden del rbol es el siguiente: 4, 10, 6, 17, 22, 20, 15 Comparemos Otros Recorridos Pre Orden (RID) 18, 12, 5, 9, 28, 20, 35 En Orden (IRD) 5, 9, 12, 18, 20, 28, 35 Post Orden (IDR) 9, 5, 12, 20, 35, 28, 18 A+B SUFIJO +AB PREFIJO AB+ POSFIJO El arbol normal (a+b) * c * A+b c

+ Ab I pre orden d entre orden r pos orden idr posfijo

rid ird

Prefijo sufijo

3.7.4 Recorridos en un rbol En este tema trataremos las diferentes formas de hacer recorridos de un rbol de una expresin algebraica, con el fin de poder cambiar de manera algortmica una expresin en sufijo a forma de prefijo o posfijo. Se llama recorrido de un rbol al proceso que permite acceder una sola vez a cada uno de los elementos del rbol para examinar el conjunto completo. Primeramente se ven los algoritmos para construir el rbol, para la expresin dada en sufijo, prefijo o posfijo y tambin se presentan algoritmos para reconocer si una expresin est correcta cuando esta dada en prefijo o posfijo. Recorridos Al visitar los elementos de un rbol existen algunas maneras tiles en las que se pueden ordenar sistemticamente. Los ordenamientos ms importantes son llamados: prefijo, sufijo y posfijo. Los algoritmos de recorrido de un rbol presentan tres tipos de actividades: * visitar el nodo raz * recorrer el subrbol izquierdo

* recorrer el subrbol derecho Estas tres acciones llevadas a cabo en distinto orden proporcionan los distintos recorridos del rbol. Recorrido en PREFIJO: * Visitar la raz * Recorrer el subrbol izquierdo en prefijo * Recorrer el subrbol derecho en prefijo Recorrido SUFIJO: * Recorrer el subrbol izquierdo en sufijo * Visitar la raz * Recorrer el subrbol derecho en sufijo Recorrido en POSFIJO: * Recorrer el subrbol izquierdo en postfijo * Recorrer el subrbol derecho en postfijo * Visitar la raz Autor : Cuevas Flores Ricardo Recorridos de un Arbol Un rbol es una estructura de datos ampliamente usada que imita la forma de un rbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el rbol y puede tener cero o ms nodos hijos conectados a l. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, tambin decimos que b es hijo de a). Slo puede haber un nico nodo sin padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como hoja. Los dems nodos (tienen padre y uno o varios hijos) se les conoce como rama. Hay tres manera de recorrer un rbol : en inorden, preorden y postorden. Cada una de ellas tiene una secuencia distinta para analizar el rbol como se puede ver a continuacin: 1. INORDEN(Sufijo) Recorrer el subarbol izquierdo en inorden. Examinar la raz. Recorrer el subarbol derecho en inorden. 2. PREORDEN(Prefijo) Examinar la raz. Recorrer el subrbol izquierdo en preorden. recorrer el subrbol derecho en preorden. 3. POSTORDEN(Posfijo) Recorrer el subrbol izquierdo en postorden.

Recorrer el subrbol derecho en postorden. Examinar la raz. un ejemplo para expresar en notacion POSFIJO. consideremos la expresin: A / B ** C + D * E A * C 1. Parentizar completamente de acuerdo al orden de ejecucin de los operadores. A cada operador le corresponder un parntesis izquierdo y un parntesis derecho. (((A / (B ** C)) + (D * E)) (A * C)) Los operadores se movern a reemplazar su correspondiente parntesis derecho. Las flechas apuntan desde el operador hacia su correspondiente parntesis derecho. 2. Al hacer los movimientos la expresin queda: (((A (B C ** / (D E * + (AC * 3. Rescribir la expresin suprimiendo los parntesis izquierdos. La expresin quedar: ABC ** / DE * + AC * -

Una operacin muy importante es el recorrido de los rboles binarios. recorrer un rbol significa visitar los nodos del rbol en forma sistemtica, de esta manera se garantiza que se visitan todos los nodos una sola vez. Hay tres mtodos, recursivos, para hacer el recorrido de un rbol:

Preorden: raz, subrbol izquierdo, subrbol derecho. Inorden: subrbol izquierdo, raz, subrbol derecho. Posorden: subrbol izquierdo, subrbol derecho, raz.

Ejemplo: Preorden: abdhecfgijk. Inorden: dhbeafcigkj. Posorden: hdebfikjgca.

Figura 6.6. rbol binario del ejemplo para hacer los recorridos

También podría gustarte