Está en la página 1de 5

INTRODUCCIÓN.

Hasta ahora las estructuras de datos que hemos estudiado eran de tipo lineal, o
sea,existía una relación de anterior y siguiente entre los elementos que la
componían(cada elemento tendrá uno anterior y otro posterior , salvo los casos
de primero y último).Pues bien, aquí se va a estudiar una estructuración de los
datos más compleja: los árboles.

Este tipo de estructura es usual incluso fuera del campo de la informática.El


lector seguramente conoce casos como los árboles gramaticales para analizar
oraciones,los árboles genealógicos ,representación de jerarquías,etc...La
estructuración en árbol de los elementos es fundamental dentro del campo de
la informática aplicándose en una amplia variedad de problemas como
veremos más adelante.

En principio podemos considerar la estructura de árbol de manera intuitiva


como una estructura jerárquica.Por tanto,para estructurar un conjunto de
elementos ei en árbol, deberemos escoger uno de ellos e 1 al que
llamaremos raíz del árbol.Del resto de los elementos se selecciona un
subconjunto e2,...,ek estableciendo una relación padre-hijo entre la raíz y cada
uno de dichos elementos de manera que e1 es llamado el padre de e2,de
e3,...ek y cada uno de ellos es llamado un hijo de e1.Iterativamente podemos
realizar la misma operación para cada uno de estos elementos asignando a
cada uno de ellos un número de 0 o más hijos hasta que no tengamos más
elementos que insertar.El único elemento que no tiene padre es e 1,la raíz del
árbol.Por otro lado hay un conjunto de elementos que no tienen hijos aunque
sí padre que son llamados hojas.Como hemos visto la relación de paternidad
es una relación uno a muchos.

Para tratar esta estructura cambiaremos la notación:

 Las listas tienen posiciones.Los árboles tienen nodos.

 Las listas tienen un elemento en cada posición.Los árboles tienen una


etiqueta en cada nodo (algunos autores distinguen entre árboles con y
sin etiquetas.Un árbol sin etiquetas tiene sentido aunque en la inmensa
mayoría de los problemas necesitaremos etiquetar los nodos. Es por
ello por lo que a partir de ahora sólo haremos referencia a árboles
etiquetados).
Usando esta notación,un árbol tiene uno y sólo un nodo raíz y uno o más
nodos hoja.

Desde un punto de vista formal la estructura de datos árbol es un caso


particular de grafo, más concretamente,en la teoría de grafos se denota de
forma similar comoárbol dirigido. A pesar de ello,la definición formal más
usual de árbol en ciencias de la computación es la recursiva:

 El caso básico es un árbol con un único nodo.Lógicamente este nodo es


a la vez raíz y hoja del árbol.

 Para construir un nuevo árbol a partir de un nodo nr y k árboles


A1 ,A2,...,Ak de raíces n1,n2,...,nk con N1,N2,...,Nk elementos cada uno
establecemos una relación padre-hijo entre n r y cada una de las raíces
de los k árboles.El árbol resultante de N=1 + N1 + ... + Nk nodos tiene
como raíz el nodo nr, los nodos n1,n2,...,nk son los hijos de nr y el
conjunto de nodos hoja está formado por la unión de los k conjuntos
hojas iniciales. Además a cada uno de los A i se les denota subárboles de
la raíz.

Ejemplo: Consideremos el ejemplo de la siguiente figura. 

Podemos observar que cada uno de los identificadores representa un nodo y la


relación padre-hijo se señala con una línea.Los árboles normalmente se
presentan en forma descendente y se interpretan de la siguiente forma:

 E es la raíz del árbol.

 S1,S2,S3 son los hijos de E.


 S1,D1 componen un subárbol de la raíz.

 D1,T1,T2,T3,D3,S3 son las hojas del árbol.

 etc...

Además de los términos introducidos consideraremos la siguiente


terminología:

1. Grado de salida o simplemente grado.Se denomina grado de un


nodo al número de hijos que tiene.Así el grado de un nodo hoja
es cero.En la figura anterior el nodo con etiqueta E tiene grado
3.

2. Caminos.Si n1,n2,...,nk es una sucesión de nodos en un árbol tal


que ni es el padre de ni+1 para 1<=i<=k-1 ,entonces esta sucesión
se llama un camino del nodo ni al nodo nk.La longitud de un
camino es el número de nodos menos uno, que haya en el
mismo.Existe un camino de longitud cero de cada nodo a sí
mismo.Ejemplos sobre la figura anterior:
 E,S2,D2,T3 es un camino de E a T3 ya que E es padre
de S2,éste es padre de D2,etc.

 S1,E,S2 no es un camino de S1 a S2 ya que S1 no es padre


de E.

3. Ancestros y descendientes.Si existe un camino,del nodo a al


nodo b ,entonces a es un ancestro de b y b es un descendiente
de a.En el ejemplo anterior los ancestros de D2 son D2,S2 y E y
sus descendientes D2,T1,T2 y T3(cualquier nodo es a la vez
ancestro y descendiente de sí mismo). Un ancestro o
descendiente de un nodo,distinto de sí mismo,se llama un
ancestro propio o descendiente propio
respectivamente.Podemos definir en términos de ancestros y
descendientes los conceptos de raíz,hoja y subárbol:

 En un árbol,la raíz es el único nodo que no tiene


ancestros propios.

 Una hoja es un nodo sin descendientes propios.

 Un subárbol de un árbol es un nodo,junto con todos sus


descendientes.

Algunos autores prescinden de las definiciones de ancestro


propio y descendiente propio asumiendo que un nodo no es
ancestro ni descendiente de sí mismo.

4. Altura.La altura de un nodo en un árbol es la longitud del mayor


de los caminos del nodo a cada hoja.La altura de un árbol es la
altura de la raíz.Ejemplo: en la figura anterior la altura de S2 es
2 y la del árbol es 3.

5. Profundidad.La profundidad de un nodo es la longitud del único


camino de la raíz a ese nodo.Ejemplo: en la figura anterior la
profundidad de S2 es 1.

6. Niveles.Dado un árbol de altura h se definen los niveles 0...h de


manera que el nivel i está compuesto por todos los nodos de
profundidad i.
7. Orden de los nodos.Los hijos de un nodo usualmente están
ordenados de izquierda a derecha.Si deseamos explícitamente
ignorar el orden de los dos hijos, nos referiremos a un árbol
como un árbol no-ordenado.

La ordenación izquierda-derecha de hermanos puede ser


extendida para comparar cualesquiera dos nodos que no están
relacionados por la relación ancestro-descendiente.La regla a
usar es que si n1 y n2 son hermanos y n1 está a la izquierda de n2,
entonces todos los descendientes de n1 están a la izquierda de
todos los descendientes de n2.

RECORRIDOS DE UN ÁRBOL.

En AR GENERALES - Estructur

En una estructura lineal resulta trivial establecer un criterio de

se definen como sigue:

También podría gustarte