stringtranslate.com

Árbol de expresión binaria

Un árbol de expresión binaria es un tipo específico de árbol binario que se utiliza para representar expresiones . Dos tipos comunes de expresiones que un árbol de expresión binaria puede representar son las algebraicas [1] y las booleanas . Estos árboles pueden representar expresiones que contienen operadores tanto unarios como binarios . [1]

Como cualquier árbol binario, cada nodo de un árbol de expresión binaria tiene cero, uno o dos hijos. Esta estructura restringida simplifica el procesamiento de los árboles de expresión.

Construcción de un árbol de expresión

Ejemplo

La entrada en notación posfija es: ab + cde + * * Dado que los dos primeros símbolos son operandos, se crean árboles de un nodo y los punteros a ellos se colocan en una pila. Para mayor comodidad, la pila crecerá de izquierda a derecha.

Pila que crece de izquierda a derecha

El siguiente símbolo es un "+". Hace estallar los dos punteros a los árboles, se forma un nuevo árbol y se coloca un puntero a él en la pila.

Formación de un nuevo árbol

A continuación, se leen c, d y e. Se crea un árbol de un nodo para cada uno y se inserta en la pila un puntero al árbol correspondiente.

Creando un árbol de un nodo

Continuando, se lee un '+' y se fusionan los dos últimos árboles.

Fusionando dos árboles

Ahora se lee un '*'. Se eliminan los dos últimos punteros del árbol y se forma un nuevo árbol con un '*' como raíz.

Formando un nuevo árbol con una raíz

Finalmente, se lee el último símbolo. Los dos árboles se fusionan y queda en la pila un puntero al árbol final. [2]

Pasos para construir un árbol de expresiones ab + cde + * *

Expresiones algebraicas

Árbol de expresión algebraica binaria equivalente a ((5+z)/-8)*(4^2)

Los árboles de expresiones algebraicas representan expresiones que contienen números , variables y operadores unarios y binarios. Algunos de los operadores comunes son × ( multiplicación ), ÷ ( división ), + ( suma ), − ( resta ), ^ ( exponenciación ) y - ( negación ). Los operadores están contenidos en los nodos internos del árbol, con los números y las variables en los nodos hoja . [1] Los nodos de los operadores binarios tienen dos nodos secundarios , y los operadores unarios tienen un nodo secundario.

Expresiones booleanas

Árbol de expresión booleana binaria equivalente a ((verdadero falso) falso) (verdadero falso))

Las expresiones booleanas se representan de forma muy similar a las expresiones algebraicas, la única diferencia son los valores y operadores específicos utilizados. Las expresiones booleanas utilizan verdadero y falso como valores constantes, y los operadores incluyen ( AND ), ( OR ), ( NOT ).

Véase también

Referencias

  1. ^ abc Bruno R. Preiss (1998). «Árboles de expresión». Archivado desde el original el 19 de enero de 2017. Consultado el 20 de diciembre de 2010 .
  2. ^ Gopal, Arpita. Ampliación de estructuras de datos . PHI Learning, 2010, pág. 353.