Traducción de una expresión en un árbol binario
En esta página se describen algunos algoritmos que permiten
obtener la representación en árbol binario de una expresión matemática
partiendo de la lista de términos que la componen expresados en la notación
habitual (notación infija).
Existen varias notaciones para representar expresiones
matemáticas, que se diferencian en el orden en que se escriben los argumentos
(operandos) de los operadores. Las más relevantes son:
- Notación
infija: La notación habitual. El orden es primer
operando, operador, segundo operando.
- Notación
prefija: El orden es operador, primer operando,
segundo operando.
- Notación
postfija: El orden es primer operando, segundo
operando, operador.
- Notación
funcional: Se escribe el operador/función y
después, entre paréntesis, los operadores separados por comas.
Ejemplo:
- Dibujar
el árbol a partir de postfijo:
Características:
- Se
pasa el infijo a postfijo.
- Se
inserta nodos a la derecha hasta encontrar un operando.
- Volvemos
atrás e insertamos el siguiente a la izquierda.
- Si
es un operando insertamos el siguiente a la derecha, si es un operando
volvemos atrás e insertamos el siguiente a la izquierda.
Expresión matemática
Para la expresión infija (2+5)*3+1, la
expresión postfija es 2 5 + 3 * 1 +
Para la expresión infija 2+5*3+1, la
expresión postfija es 2 5 3 * + 1 +
- Dibujar
el árbol a partir de prefijo:
Características:
- Se
pasa el infijo a prefijo.
- Se
insertan nodos a la izquierda hasta encontrar un operando.
- Volvemos
atrás e insertamos el siguiente a la derecha
- Si
es un operador insertamos el siguiente a la izquierda si es un operando
volvemos atrás e insertamos el siguiente a la derecha.
Para la expresión infija (2+5)*3+1, la
expresión prefija es + * + 2 5 3 1
Para la expresión infija 2+5*3+1, la
expresión prefija es + + 2 * 5 3 1
0 comentarios:
Publicar un comentario