Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles
Gabriel Navarro
Estructuras de Datos
Grado en Ingeniera Informatica
Gabriel Navarro Tema 3
Arboles
Indice
Concepto de arbol
Recorridos en arboles
Arboles binarios
Arboles de expresiones
Arboles n-arios
Gabriel Navarro Tema 3
Arboles
Concepto de arbol
Un arbol es una estructura de datos no lineal, en la que cada
elemento (nodo) tiene un unico elemento anterior denominado
padre (menos la raz, que no tiene ninguno), y puede tener mas de
un elemento siguiente (hijos del nodo).
Los arboles son estructuras jerarquicas que permiten organizar la
informacion de acuerdo a unos criterios de jerarqua.
Denicion recursiva
Un nodo es un arbol.
Un arbol vaco (0 nodos) es un arbol.
Si tomamos n arboles y cada una de sus races has hacemos
hijo de un nodo, el resultado es un arbol.
Gabriel Navarro Tema 3
Arboles
Concepto de arbol: Ejemplo
Tierra
Antartida Europa
Espana Alemania
America
Africa
Somalia Argelia
Gabriel Navarro Tema 3
Arboles
Arboles: Terminologa
Relacion entre nodos: El que esta por encima se llama padre y, el de
abajo, hijo.
El nodo raz 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 numero de relaciones padre-hijo
que hay que seguir entre el nodo y la raz del arbol.
Un nivel es un conjunto de nodos que se encuentran a la misma
profundidad.
Gabriel Navarro Tema 3
Arboles
Arboles: Terminologa
La altura de un nodo es el numero ed relaciones padre-hijo que hay
que seguir entre el nodo y su descendiente mas lejano. Se llama
estructura del arbol a la altura de la raz.
Un subarbol es un nodo de un arbol junto con todos sus
descendientes.
Un arbol parcial es un arbol que contiene unicamente algunos nodos
del arbol original.
CUIDADO!!
Recordar bien la diferencia entre altura y profundidad.
Gabriel Navarro Tema 3
Arboles
Arboles: Recorridos
Se llama recorrido de un arbol al orden establecido en el que se
debe visitar los nodos de un arbol. Existen varios tipos de
recorridos, donde los mas comunes son:
Preorden: Raz > Hijo Izquierda > Hijos Derecha.
Inorden: Hijo Izquierda > Raz > Hijos Derecha.
Postorden: Hijo Izquierda > Hijos Derecha > Raz.
Por niveles: Nodos de un nivel, de izquierda a derecha. Pasar
al siguiente nivel.
Gabriel Navarro Tema 3
Arboles
1 ; N == 0
1 +max{H(N > hi), H(n > hd)} ;
P(N) =
1 ; N == 0
1 +P(N > padre) ;
USQUEDA
Gabriel Navarro Tema 3
Arboles
Arboles AVL
Un
AVL es un arbol binario de b usqueda que siempre esta
equilibrado (condicion de Adelson, Velskii y Landis).
Ejemplo:
20
9
8 16
36
25 40
38 50
El arbol esta equilibrado siempre que la diferencia de alturas de sus
hijos no exceda el valor 1 (en valor absoluto).
Gabriel Navarro Tema 3
Arboles
Arboles AVL
Las representaciones, interfaz y funcion de abstraccion del AVL son
identicas a las de un ABB. Cambia levemente el invariante de la
representacion:
Invariante de la Representacion
rep.raiz es null. En caso contrario, rep.raiz->padre es null. Para
todo nodo del arbol N, N->hi apunta a su hijo izquierdo, o vale
null en caso de no tener. N->hd apunta a su hijo derecho, o vale
null en caso de no tener. Para cada nodo N, si sus hijos existen
entonces N->valor>N->hi->valor y N->valor<N->hd->valor.
Para todo nodo N, |altura(H->hi)-altura(N->hd)| <=1.
Gabriel Navarro Tema 3
Arboles
Arboles n-arios
Son arboles con nodos cuyo n umero de hijos no esta limitado a
priori.
Por tanto, no procede hablar de Hijo a la Izquierda e Hijo a la
Derecha. En su lugar hablaremos de:
Hijo a la Izquierda: El hijo de un nodo situado mas a la
izquierda.
Hermano a la Derecha: El hijo de un nodo que esta situado
justo a la derecha de otro nodo hijo del mismo.
Gabriel Navarro Tema 3
Arboles