Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Grafos 9.3 2016
1. Sección 9.3
Recorrido en Árboles
Tomado de Matemáticas Discretas y sus Aplicaciones. Rosen
Esteban Andrés Díaz Mina
2. Introducción
Los árboles ordenados etiquetado (AOE) son muy
usados para almacenar información.
Se requiere entonces un procedimiento que permita
visitar cada vértice de un AOE para acceder a los
datos. Describiremos varios algoritmos importantes
para visitar todos los vértices de este tipo de árboles.
Un AOE puede también ser usado para representar
varios tipos de expresiones, tales como expresiones
aritméticas que involucra números, variables y
operadores.
3. Algoritmos de Recorridos
Los procedimientos para sistemáticamente visitar
cada vértice de un AOE son llamados algoritmos de
recorridos. Describiremos tres de los algoritmos
más frecuentemente usados, llamados recorrido
preorden, recorrido inorden y recorrido postorden.
Cada uno de estos algoritmos se define
recursivamente.
4. Definición 1
Sea T un AOE con raíz r. Si T contiene únicamente
a r, entonces r es el recorrido preorden de T. De
otra manera, suponga que T1, T2, ... , Tn son los
subarboles de r de izquierda a derecha en T.
El recorrido preorden comienza visitando r. Luego
continua recorriendo T1 en preorden, entonces T2
en preorden y así sucesivamente, hasta que Tn se
haya recorrido en preorden.
8. Definición 2
Sea T un AOE con raíz r. Si T contiene únicamente a
r, entonces r es el recorrido inorden de T. De otra
manera, suponga que T1, T2, ... , Tn son los
subarboles de r de izquierda a derecha en T.
El recorrido inorden comienza recorriendo a T1 en
inorden, entonces visita a r. Luego continua
recorriendo a T2 en inorden, a T3 en inorden y así
sucesivamente, hasta que Tn se haya recorrido en
inorden.
12. Definición 3
Sea T un AOE con raíz r. Si T contiene
únicamente a r, entonces r es el recorrido
postorden de T. De otra manera, suponga que
T1, T2, ... , Tn son los subarboles de r de
izquierda a derecha en T.
El recorrido postorden comienza recorriendo T1
en postorden, entonces T2 en postorden,...,
entonces Tn en postorden y finalmente visita a
r.
16. Notación Infija, Prefija y Postfija
Podemos representar expresiones complejas, tales
como fórmulas proposicionales, combinaciones de
conjuntos y expresiones aritméticas, mediante
árboles ordenados con raíz. Por ejemplo,
consideremos la representación de la expresión
aritmética que involucra los operadores + (suma), -
(resta), * (multiplicación), / (división) y
↑ (exponenciación). Utilizaremos los paréntesis para
indicar el orden de las operaciones. Se puede
utilizar un árbol ordenado con raíz para representar
dichas expresiones, en el que los vértices internos
representan operaciones y las hojas representan
variables o números. Cada operación actúa sobre
sus subarboles izquierdo y derecho.
17. Ejemplo
La forma prefija de una expresión se obtiene
cuando se recorre en preorden. (Notación Polaca).
Una expresión en esta forma es evaluada de
derecha a izquierda, ejecutando la correspondiente
operación con los dos operandos que siguen al
operador
Ejemplos: ¿Cuales son los valores de las siguientes
expresiones prefijas?
1. + - * 2 3 5 / ↑ 2 3 4 Sol. 3
2. * + 3 + 3 ↑ 3 + 3 3 3 Sol. 2205
3. + - ↑ 3 2 ↑ 2 3 / 6 – 4 2 Sol. 4
18. Ejemplo
La forma postfija de una expresión se obtiene
cuando se recorre en postorden. (Notación Polaca
Inversa). Una expresión en esta forma es evaluada
de izquierda a derecha ejecutando la operación que
corresponda cuando un par de operadores son
seguidos por un operador
Ejemplos ¿Cuáles son los valores de las siguientes
expresiones postfija?
1. 7 2 3 * - 4 ↑ 9 3 / + Sol. 4
2. 9 3 / 5 + 7 2 - * Sol. 40
3. 3 2 * 2 ↑ 5 3 – 8 4 / * - Sol. 32