Está en la página 1de 3

LENGUAJES Y AUTOMATAS II

CARRERA
INGENIERIA EN SISTEMAS COMPUTACIONALES

“ARBOLES DE EXPRESION”

PROFESOR
TORRES ROA CARLOS ARMANDO

ALUMNO
LOPEZ TOVAR EDER JAIR

GRUPO
3721
Arboles de Expresión.

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. Estos representan el código en forma de datos, los datos se
almacenan en una estructura con forma de árbol.
Para que un árbol represente una expresión se deben tomar en cuenta 2
características muy importantes:

• Cualquier hoja está etiquetada sólo con un operando.


• Cualquier nodo interior “n” está etiquetado por un operador.

Algoritmo
1) Mientras carácter diferente de nulo
2) Leer carácter de la lista
3) Si es paréntesis pasar al siguiente carácter
4) Crear un nodo nuevo que contenga ese carácter

Operando

5) Si el árbol está vacío hacer raíz a nuevo, si no recorrer el árbol por la derecha
hasta llegar a un nodo con hojas, si la hoja izquierda, no está etiquetada
colocar operando, si no colocarlo en la hoja derecha.

Operador

6) Si la raíz es un operando, insertar nuevo en ese nodo, y convertir el operando


en el hijo izquierdo, si no si hay un paréntesis abierto insertar nuevo en la
última hoja derecha y colocar operando como hijo izquierdo.
7) Si el carácter anterior es paréntesis izquierdo si el siguiente carácter es
paréntesis derecho si solo hay un operador en el árbol nuevo se convierte en
raíz, si no se inserta en el último nodo derecho, y el nodo se convierte en hijo
izquierdo.
8) Si no se cumple ninguna de las condiciones anteriores, si la raíz es de igual
prioridad o menor prioridad, convertir la raíz en el hijo izquierdo, de nuevo si no
la prioridad del nodo raíz es mayor al de nuevo insertar nuevo como hijo
derecho y colocar el nodo reemplazado como hijo izquierdo.
Al introducir la expresión debemos de tomar en cuenta las siguientes características:

• La raíz siempre debe ser un operador


• Las hojas siempre deben ser operandos
• Los nodos deben estar etiquetados por operadores
• Si un operador tiene mayor prioridad que la raíz se coloca como hijo.
• Si un operador tiene igual o menor prioridad que un nodo se coloca como padre.
• Un nodo puede contener como hijo otro subárbol que contiene una pequeña
expresión.

Arboles Binarios.

Un árbol binario es una estructura de datos no lineal en la que cada nodo puede
apuntar a uno o máximo a dos nodos. Este tipo de árbol se caracteriza porque tienen
un vértice principal y de él se desprende dos ramas, la rama izquierda y la rama
derecha a las que también se les conoce como subárboles.
Recorrido de Arboles Binarios.

Preorden

En un recorrido en preorden, visitamos primero el nodo raíz, luego recursivamente


realizamos un recorrido en preorden del subárbol izquierdo, seguido de un recorrido
recursivo en preorden del subárbol derecho.

Inorden

En un recorrido en inorden, realizamos recursivamente un recorrido en inorden en el


subárbol izquierdo, visitamos el nodo raíz, y finalmente hacemos un recorrido
recursivo en inorden del subárbol derecho.

Postorden

En un recorrido en postorden, realizamos recursivamente recorridos en postorden del


subárbol izquierdo y del subárbol derecho seguidos de una visita al nodo raíz.

También podría gustarte