Sei sulla pagina 1di 29

ARBOLES BINARIOS

 Definición
 Un árbol binario es una estructura recursiva, compuesta
por un elemento, denominado la raíz, y por dos árboles
binarios asociados, denominados subárbol
derecho y subárbol izquierdo. El hecho de definir la
estructura de datos en términos de sí misma es lo que
hace que se denomine recursiva. El formalismo gráfico
escogido para representar un árbol aparece en la
figura:
ARBOLES BINARIOS
Otro formalismo posible para representar árboles
binarios, cuando se quieren hacer explícitos todos los
componentes de la estructura, utiliza un nombre para
cada uno de los elementos del árbol y líneas para las
relaciones de composición, como se muestra en la
figura
ARBOLES BINARIOS
Un elemento e2 es hijo de un elemento e1, si e2 es la
raíz de uno de los subárboles asociados con e1. En ese
mismo caso, se dice que e1 es el padre de e2. Un
elemento e2 es hermano de un elemento e3 si ambos
tienen el mismo padre.
ARBOLES BINARIOS
Un elemento de un árbol binario es una hoja si sus dos
subárboles asociados son vacíos. En la figura, los
elementos e4, e5, e6 y e7 son hojas.
ARBOLES BINARIOS
El formalismo gráfico para expresar que un árbol está
compuesto solamente por una hoja aparece en la
figura. Todo elemento de un árbol que no es una hoja
se denomina un elemento no terminal o interior.
ARBOLES BINARIOS
Para el árbol de la siguiente figura:

Se tiene que:
 La raíz es 20 y los dos subárboles
asociados son:
ARBOLES BINARIOS
 Los elementos 5, 12 y 25 son hojas
 Los nodos interiores son 20 y 10.
 El padre de 5 es 10. El padre de 25 es 20. Los
hijos de 10 son 5 y 12.
 Los elementos 5 y 12 son hermanos.
ARBOLES BINARIOS
 Un camino entre dos elementos e1 y e2 de un
árbol binario es una secuencia <x1, x2,..., xn >,
que cumple que el primer elemento es e1, el último
es e2, y cada elemento es padre de su sucesor. No
siempre existe un camino entre dos elementos de un
árbol, pero si existe, éste es único.
ARBOLES BINARIOS
 La raíz de un árbol se caracteriza porque tiene un
camino a cualquier elemento del árbol.
La longitud de un camino <x1, x2,..., xn > es n-1, o
sea, el número de veces que se debe aplicar la
relación padre-hijo durante el recorrido. Siempre
existe un camino de longitud 0 que lleva de un
elemento r a sí mismo y corresponde a la secuencia
< r >. Por último, se tiene que un camino que parte
de la raíz y termina en una hoja se conoce como
una rama.
ARBOLES BINARIOS
Para el árbol que se muestra en la siguiente figura:

 Se cumple que:
 La longitud del camino < a, b, e > es 2.
 La longitud del camino < a > es 0.
 No existe un camino entre d y c.
 El único camino que lleva de c a h es < c, f, h >.
 El camino < a, c, f, g > es una rama.
 Desde la raíz existe un camino que lleva hasta cualquier otro
elemento de la estructura.
ARBOLES BINARIOS
Un elemento e1 es ancestro de un elemento e2, si
existe un camino entre e1 y e2. En ese mismo caso, se
dice que e2 es descendiente de e1.

El nivel de un elemento dentro de un árbol binario se


define como la longitud del camino que parte de la
raíz y llega hasta él. De esta forma, el nivel de la
raíz es 0 y el de cualquier elemento es uno más que
el de su padre.
ARBOLES BINARIOS
El nivel determina qué tan lejos de la raíz se
encuentra un elemento. El ancestro común más
próximo de dos elementos e1 y e2 es un elemento e3,
que cumple que es ancestro de ambos y se encuentra
a mayor nivel que cualquier otro ancestro que
compartan.
ARBOLES BINARIOS
La altura de un árbol es la longitud del camino más
largo que parte de la raíz más 1. La altura de un
árbol vacío se define como 0.

El peso de un árbol es el número de elementos que


contiene. Recursivamente se puede definir como la
suma de los pesos de sus subárboles más 1. De
acuerdo con la definición, el peso de un árbol vacío
es 0.
ARBOLES BINARIOS
Para el siguiente árbol:

 Se tiene que:
 La altura es 4.
 El peso es 7.

 e1 es ancestro de todos los elementos del árbol.

 e7 es descendiente de e2.

 El ancestro común más próximo de e4 y e7 es e2.

 El ancestro común más próximo de e6 y e1 es e1.


ARBOLES BINARIOS
Un árbol binario es completo, si todo elemento no
terminal tiene asociados exactamente dos subárboles
no vacíos. Eso equivale a decir que todo elemento de
un árbol completo tiene los dos subárboles o no tiene
ninguno. En la figura aparece un ejemplo.
ARBOLES BINARIOS
Un árbol binario está lleno si es completo y, además,
todas las hojas están en el mismo nivel. Un árbol
binario está casi lleno si está lleno hasta el penúltimo
nivel y todas las hojas del siguiente nivel están tan a
la izquierda como es posible. De acuerdo con la
definición dada anteriormente, un árbol lleno es un
caso particular de un árbol casi lleno. Estos dos
conceptos se ilustran en la figura
ARBOLES BINARIOS
ARBOLES BINARIOS
Dos árboles binarios son iguales si ambos son vacíos,
o si sus raíces son iguales, lo mismo que sus respectivos
subárboles izquierdo y derecho. Dos árboles binarios
son isomorfos si tienen la misma estructura, pero no
necesariamente los mismos elementos. En la figura
aparece un ejemplo de dos árboles isomorfos.
ARBOLES BINARIOS
Dos árboles binarios son semejantes si contienen los
mismos elementos, aunque no sean isomorfos. En ese
caso, se dice que tienen el mismo contenido, pero no
la misma estructura (figura).
ARBOLES BINARIOS
Un árbol binario a1 ocurre en otro árbol binario a2,
si a1 y a2 son iguales, o si a1 ocurre en alguno de los
subárboles de a2. El caso general y un ejemplo de la
noción de ocurrencia aparece en la figura:
ARBOLES BINARIOS
Recorridos sobre árboles binarios:
 Se consideran dos tipos de recorrido: recorrido en
profundidad y recorrido en anchura o a nivel.
Puesto que los árboles no son secuenciales como las
listas, hay que buscar estrategias alternativas para
visitar todos los nodos.
 Profundidad:
 Preorden
 Inorden
 Postorden
 Amplitud
ARBOLES BINARIOS
 Recorrido en Preorden: consiste en visitar
el nodo actual (visitar puede ser
simplemente mostrar la clave del nodo por
pantalla), y después visitar el subárbol
izquierdo y una vez visitado, visitar el
subárbol derecho. Es un proceso
recursivo por naturaleza.

 Si se hace el recorrido en preorden del


árbol de la figura las visitas serían en el
orden siguiente: a, b, d, c, e, f.
ARBOLES BINARIOS
 Recorrido en inorden u orden central:
se visita el subárbol izquierdo, el
nodo actual, y después se visita el
subárbol derecho.

 En el ejemplo de la figura las visitas


serían en este orden: b, d, a, e, c, f.
ARBOLES BINARIOS
 Recorrido en postorden: se visitan
primero el subárbol izquierdo,
después el subárbol derecho, y por
último el nodo actual.

 En el ejemplo de la figura 1 el
recorrido quedaría así: d, b, e, f, c, a.
ARBOLES BINARIOS
 Recorrido por Amplitud: Consiste en ir
visitando el árbol por niveles. Primero
se visitan los nodos de nivel 1 (como
mucho hay uno, la raíz), después los
nodos de nivel 2, así hasta que ya no
queden más.

 Si se hace el recorrido en amplitud


del árbol de la figura una visitaría los
nodos en este orden: a, b, c, d, e, f.
EJERCICIO 1
 El recorrido en Preorden de un determinado árbol
binario es: G-E-A-I-B-M-C-L-D-F-K-J-H y en Inorden
I-A-B-E-G-L-D-C-F-M-K-H-J. Resolver:
 Dibujar el árbol binario.
 Dar el recorrido en Postorden.
EJERCICIO 1- Solución

 El recorrido en Postorden es I-B-A-E-D-L-F-C-H-J-K-M-G.


EJERCICIOS 2 y 3
 Reconstruya el árbol binario con los siguientes
recorridos:
 preorden: 10 - 20 - 30 - 50 - 60 - 40 - 70 - 80 - 90
 inorden: 50 - 30 - 60 - 20 - 80 - 70 - 90 - 40 – 10
ED

Potrebbero piacerti anche