¡Descarga Arboles Binarios en programacion y más Diapositivas en PDF de Programación Informática solo en Docsity!
ÁRBOLES. ÁRBOLES BINARIOS Y
ÁRBOLES ORDENADOS
ING. ARMANDO CARDONA PAIZ
OBJETIVOS
1. Estructurar datos en orden jerárquico.
2. Conocer la terminología básica relativa a árboles.
3. Distinguir los diferentes tipos de árboles binarios.
4. Recorrer un árbol binario de tres formas diferentes.
5. Reconocer la naturaleza recursiva de las operaciones con
árboles.
6. Representar un árbol binario con una estructura enlazada.
7. Evaluar una expresión algebraica utilizando un árbol binario.
8. Construir un árbol binario ordenado (de búsqueda).
PARA QUE SE UTILIZAN LOS ÁRBOLES
- Los árboles se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes.
- En aplicaciones diversas tales como^ inteligencia artificial o algoritmos de cifrado.
EJEMPLO
- el nodo A es el RAÍZ. Utilizando el concepto de árboles genealógicos, un nodo puede ser considerado como PADRE si tiene nodos sucesores.
EJEMPLO
- Por ejemplo, el nodo B es el padre de los hijos E y F.
- El padre de H es el nodo D.
- Un árbol puede representar diversas generaciones en la familia.
- Los hijos de un nodo y los hijos de estos hijos se llaman descendientes, y el padre y los abuelos de un nodo son sus ascendientes.
- Cada nodo del árbol puede ser alcanzado (se llega a él) siguiendo un único camino que comienza en el nodo raíz.
- El camino desde el raíz a la hoja I, se representa por AFI. Incluye dos ramas distintas AF y FI.
LA ALTURA O PROFUNDIDAD
- La altura o profundidad de un árbol es el nivel de la hoja del camino más largo desde la raíz más uno.
- Por definición la altura de un árbol vacío es 0.
RESUMEN DE DEFINICIONES
- El primer nodo de un árbol se denomina raíz del árbol.
- Las flechas que conectan un nodo con otro se llaman arcos o ramas.
- Los nodos terminales, esto es, nodos de los cuales no se deduce ningún nodo, se denominan hojas.
- Los nodos que no son hojas se denominan nodos internos.
- La longitud de un camino es el número de arcos que contiene o, de forma equivalente, el número de nodos del camino menos uno.
- El nivel de un nodo es la longitud del camino que lo conecta al nodo raíz.
- La profundidad o altura de un árbol es la longitud del camino más largo que conecta el raíz a una hoja.
- Un subárbol de un árbol es un subconjunto de nodos del árbol, conectados por ramas del propio árbol, esto es, a su vez un árbol.
REPRESENTACIÓN DE LISTA
- Cada paréntesis abierto indica el comienzo de un nuevo nivel y cada paréntesis cerrado completa un nivel y se mueve hacia arriba un nivel en el árbol.
- A(B^ (C,D),E,^ F,^ (G,H,^ I)).
A (B (E (K, L), F), C (G), D (H (M), I, J))).
ANÁLISIS LÉXICO
Componentes léxicos (palabras o “token”), con ciertos atributos léxicos. Se lee el programa fuente de Izquierda a derecha. VALOR TOKEN total Id = Operador ( Símbolo de Agrupación Valor1 Id
- Operador 250 Numero ) Símbolo de Agrupación
- Operador ( Símbolo de Agrupación Valor2 Id
- Operador 100 Numero ) Símbolo de Agrupación
Ejemplo: total = (valor1 + 250) – (valor2 +
ANÁLISIS SINTÁCTICO
Una representación típica es el árbol sintáctico, en el cual cada nodo interior representa una operación y los hijos del nodo representan los argumentos de la operación. Se lee el programa fuente de derecha a izquierda.
Ejemplo: total = (valor1 + 250) – (valor2 +
100 valor 2
250 valor 1
tota l =