Árboles de expresiones
¿Qué son los arboles de
expresiones?
Los
árboles de expresiones son estructuras de datos que definen código. Se basan en
las mismas estructuras que usa un compilador para analizar el código y generar
el resultado compilado.
Una
expresión es una secuencia de tokens (componentes de léxicos que siguen unas
reglas establecidas). Un token puede ser un operando o bien un operador.
Un
árbol de expresión es un árbol binario con las siguientes propiedades:
1.
Cada hoja es un operando.
2.
Los nodos raíz y los nodos internos son operadores.
3.
Los subárboles son subexpresiones cuyo nodo raíz es un operador.
Un
árbol es una estructura de datos no lineal, en la que cada elemento (nodo)
tiene un único elemento anterior denominado padre, y puede tener más de un
elemento siguiente (hijos del nodo).
Los
árboles representan las estructuras no lineales y dinámicas. No lineales,
puesto que a cada elemento del árbol pueden seguirle varios elementos.
Dinámicas, puesto que la estructura árbol puede cambiar durante la ejecución
del programa.
Relación entre nodos:
·
El que está por
encima se llama padre y, el de abajo, hijo.
·
El nodo raíz es
el que no tiene padre.
·
Los nodos hoja
son aquellos que no tienen hijos.
·
Nodos hermanos
son aquellos que comparten padre.
·
Un nodo
interior es aquel que tiene hijos. En caso contrario, se dice que el nodo es
exterior.
·
La profundidad
de un nodo es el número de relaciones padre-hijo que hay que seguir entre el
nodo y la raíz del árbol.
^ |
Izquierda - derecha |
* / |
Izquierda - derecha |
+ - |
Izquierda - derecha |
Comentarios
Publicar un comentario