Está en la página 1de 25

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

También podría gustarte