Está en la página 1de 20

Arboles Binarios

Ing. Garca Villegas, Christian

Introduccin
El rbol es una estructura de datos muy importante en

informtica y en ciencias de la computacin. Los rboles


son estructuras no lineales, al contrario que los arrays y
las listas enlazadas, que constituyen estructuras
lineales.
Los rboles se utilizan para representar frmulas
algebraicas, para organizar objetos en orden de tal
forma que las bsquedas sean muy eficientes y en
aplicaciones diversas tales como inteligencia artificial o
algoritmos de cifrado. Casi todos los sistemas operativos
almacenan sus archivos en rboles o estructuras
similares a rboles. Adems de las aplicaciones citadas,
los rboles se utilizan en diseo de compiladores,
procesado de texto y algoritmos de bsqueda.

Intuitivamente, el concepto de rbol

implica una estructura en la que los datos


se organizan de modo que los elementos
de informacin estn relacionados entre s
a travs de ramas. El rbol genealgico es
el ejemplo tpico ms representativo del
Abuelos
concepto de rbol general.
To

Herman
o

Ta

Herman
a

To

Definicin.- Un rbol consta de un

conjunto finito de elementos, llamados


nodos y de un conjunto finito de lneas
dirigidas, llamadas ramas, que conectan los
nodos.

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.
El nivel de un nodo es su distancia al nodo raz. La
raz tiene una distancia cero de s misma, por ello
se dice que est en el nivel 1. Los hijos del nodo
raz estn en el nivel 1, sus hijos estn en el nivel
2, y as sucesivamente. Una cosa importante que
se aprecia entre los niveles de nodos es la relacin
entre niveles y hermanos. Los hermanos estn
siempre al mismo nivel, pero no todos los nodos de
un mismo nivel son necesariamente hermanos.

Un camino es una secuencia de nodos en

los que cada nodo es adyacente al


siguiente. Cada nodo del rbol puede ser
alcanzado (se llega a l) siguiendo un nico
camino que comienza en el nodo raz.
Definicin: El nivel de un nodo es su
distancia desde el nodo raz. La altura de
un rbol es el nivel de la hoja del camino
ms largo desde el raz ms uno.

rbol equilibrado
Un rbol est equilibrado cuando, dado un

nmero mximo k de hijos de cada nodo y


la altura del rbol h, cada nodo de nivel k<
h-1 tiene exactamente k hijos. El rbol est
equilibrado perfectamente, si cada nodo de
nivel l<h tiene exactamente k hijos.

a) A. equilibrado b) A.
perfectamente equilibrado

Arboles binarios
Un rbol binario es un rbol cuyos nodos no

pueden tener ms de dos subrboles. En


un rbol binario, cada nodo puede tener
cero, uno o dos hijos (subrboles). Se
conoce el nodo de la izquierda como hijo
izquierdo y el nodo de la derecha como hijo
derecho.
Un rbol binario no puede tener mas de
dos subrboles.

Equilibrio
El factor de equilibrio de un rbol binario es

la diferencia en altura entre los subrboles


derecho e izquierdo. Si la altura del
subrbol izquierdo es hI y la altura del
subrbol derecho hD, entonces el factor de
equilibrio del rbol B se determina por la
siguiente frmula: B = hD - hI.
El equilibrio de nodo raiz (a) B=2-4=-2 y (b)
B=4-0=4

Un rbol est perfectamente equilibrado si

su equilibrio o balance es cero y sus


subrboles son tambin perfectamente
equilibrados. Dado que esta definicin
ocurre raramente se aplica una definicin
alternativa: un rbol binario est
equilibrado si la altura de sus subrboles
difiere en no ms de uno y sus subrboles
son tambin equilibrados; por consiguiente,
el factor de equilibrio de cada nodo puede
tomar los valores -1, 0, +1.

rboles binarios completos


Un rbol binario completo de profundidad n

es un rbol en el que para cada nivel, del 0


al nivel n-1,tiene un conjunto lleno de
nodos, y todos los nodos hoja a nivel n
ocupan las posiciones ms a la izquierda
del rbol.

Un rbol lleno es un rbol binario que tiene

el mximo nmero de entradas para su


altura. Esto sucede cuando el ltimo nivel
est lleno.

El
ltimo caso de rbol es un tipo especial,

denominado rbol degenerado, en el que hay


un solo nodo hoja (E)y cada nodo no hoja
slo tiene un hijo. Un rbol degenerado es
equivalente a una lista enlazada.
Los rboles binarios completos y llenos de
profundidad k+1proporcionan algunos datos
matemticos de inters. En cada caso, existe
un nodo () al nivel 0 (raz), dos nodos ()a
nivel 1, cuatro nodos ()a nivel 2, etc.

Operaciones de un rbol
binario
Algunas de la operaciones tpicas que se

realizan en arboles binarios son las


siguientes:
Determinar su altura.
Determinar su nmero de elementos.
Hacer una copia.
Visualizar el rbol binario en pantalla o en

impresora.
Determinar si dos rboles binarios son idnticos.
Borrar (eliminar el rbol).
Modificar
Colocar en una matriz (dependiendo del recorrido
que se seleccione )

Estructura de un rbol
binario
Un rbol binario se construye con nodos.

Cada nodo debe contener el campo


dato(datos a almacenar) y dos campos de
enlace (apuntador),uno al subrbol
izquierdo (izquierdo, izdo)y otro al subrbol
derecho (derecho, dcho). El valor null indica
un rbol o un subrbol vaco.

Representacin de un nodo

Creacin de un rbol binario


A partir del nodo raz

de un rbol se puede
acceder a los dems
nodos del rbol, por
ello se mantiene la
referencia a la raz del
rbol. Las ramas
izquierda y derecha
son, a su vez, rboles
binarios que tienen su
raz, y as
recursivamente hasta
llegar a las hojas del

Tareta
Ingresar en un rbol binario el siguiente

arreglo: A[]={1,2,4,5,6,7}

También podría gustarte