Estructura de Datos y Algoritmos II
Profesora: Elba Karen Sáenz García
Árbol de Expresiones
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
• Una expresión es una secuencia de tokens
,un token puede ser o bien un operando o
bien un operador.
• Las expresiones matemáticas mas
relevantes son:
• Infija: Primer operando, operador,
Expresiones segundo operando.
• Posfija: El orden es primer operando,
segundo operando, operador.
• Prefija: El orden es operador, primer
operando, segundo operando.
Expresión Expresión Expresión
infija prefija posfija
Ejemplos
A+B +AB AB+
A+B*C +A*BC ABC*+
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Árbol de expresión
Un árbol de expresión es un árbol binario
con las siguientes propiedades:
• 1. Cada hoja es un operando.
• 2. Los nodos raíz e internos son
operadores.
• 3. Los subárboles son sub-
expresiones en las que el nodo raíz
es un operador
Representar una expresión matemática a
árbol binario Forma 1
• Las expresiones más comunes están en notación infija y para su
representación como árbol binario se traduce primero a notación
prefija o postfija.
• Luego se traduce la expresión en esa notación a un árbol binario de
expresiones.
Profesora: Elba Karen Sáenz García FI-UNAM
Forma 1
Expresión Infija ((1+2)*(3-4))
Teniendo la notación prefija *,+,1,2,-,3,4
Se puede pasar a un árbol de expresiones
Izquierdo = + 1,2= op , iz, der
derecho = - ,3,4 = op, izq, der
Si está en Posfija
1,2 ,+,3,4,-, *
Izq=1,2,+
Der=3,4,-
Profesora: Elba Karen Sáenz García FI-UNAM
Forma 1
• 1)De la expresión infija, pasarla a posfija
• 2) De la notación posfija pasar a árbol de expresiones
Profesora: Elba Karen Sáenz García FI-UNAM
Infija Posfija
Estructura de Datos y Algoritmos II
Profesora: Elba Karen Sáenz García
Profesora: Elba Karen Sáenz García FI-UNAM
Infija -Posfija • Se requiere:
• Definir prioridad de
operadores
• Una lista(cola) de entrada
• Una pila auxiliar (operadores
y paréntesis )
• Una lista de salida(cola)
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
• Entrada: Una lista que contiene los
términos de la ecuación en notación
ALGORITMO infija (la notación habitual).
• Salida: Una lista que contiene los
– NOTACIÓN términos de la ecuación en notación
postfija.
INFIJA A • Datos locales: Una pila, que va a
POSFIJA contener operadores y paréntesis
izquierdos.
INICIO
Crear pila y la lista de salida, inicialmente vacías.
MIENTRAS lista de entrada no este vacía y no se ha encontrado ningún error HACER
Extraer el primer término de la lista (lo llamaremos E)
SEGUN-SEA E
CASO E es operando:
Insertar E al final de la lista de salida
CASO E es un paréntesis izquierdo:
Insertar E en la pila
Profesora: Elba Karen Sáenz García FI-UNAM
CASO E es un paréntesis derecho:
MIENTRAS La pila no este vacía y su cima no sea un paréntesis izquierdo HACER
Extraer elemento de la pila
Insertarlo al final de la lista de salida
FIN-MIENTRAS
SI Encontramos el paréntesis izquierdo ENTONCES
Extraerlo de la pila y destruirlo
SINO
Se ha detectado un ERROR 2
FIN-SI
Destruir E
Profesora: Elba Karen Sáenz García FI-UNAM
CASO E es un operador:
MIENTRAS pila no vacía y su cima sea un operador de prioridad >= que la de E
Extraer elemento de la pila
Insertarlo al final de la lista de salida
FIN-MIENTRAS
Insertar E en la pila
FIN-SEGUN-SEA
FIN-MIENTRAS
MIENTRAS Pila no esté vacía HACER
Extraer elemento de la pila
Insertarlo al final de la lista de salida
FIN-MIENTRAS
Destruir pila
FIN
Profesora: Elba Karen Sáenz García FI-UNAM
Algoritmo posfija-> árbol binario expresión
• Entrada: La lista obtenida en el algoritmo anterior, que contiene los
términos de la ecuación en notación postfija.
• Salida: Un árbol binario que representa la ecuación.
• Datos locales: Una pila, que va a contener operandos y subárboles de
expresiones.
Profesora: Elba Karen Sáenz García FI-UNAM
Ejemplo
Para la expresión posfija
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM
Profesora: Elba Karen Sáenz García FI-UNAM