Vous êtes sur la page 1sur 12

Arboles Binarios

Estructura de datos

Por: Guzman Uscanga Luis Enrique


06020086
5.1.- Concepto de Arbol Binario
Un rbol binario es una estructura de datos en la cual
cada nodo siempre tiene un hijo izquierdo y un hijo
derecho. No pueden tener ms de dos hijos (de ah el
nombre "binario"). Si algn hijo tiene como
referencia a null, es decir que no almacena ningn
dato, entonces este es llamado un nodo externo. En
el caso contrario el hijo es llamado un nodo interno.
Usos comunes de los rboles binarios son los arboles
binarios de busqueda, los monticulos binarios y
Codificacion de Hoffman.
5.1.1.- Clasificacion de los Arboles
Binarios
arbol binario distinto: Se dice que un arbol es distinto
cuando su estructura grafica es diferente.
arbol binario similiar: Se dice que un arbol es similar
cuando su estructura grafica es identica pero la
informacion que contiene entre sus nodos es diferente.
arbol binario equivalente: Son aquellos que su
estructura grafica es identica pero ademas la
informacion entre sus nodos.
arbol binario completo: son aquellos que todos nus
nodos exepto el ultimo nivel tienen sus dos hijos.
arbol binario lleno: es aquel que tiene su numero
maximo de posibles nodos.
5.2.- Operaciones basicas sobre
arboles binarios
Creacion de un arbol binario

Insercion de un arbol binario

Eliminacion de un arbol binario


5.2.1.- Creacion de un arbol binario
Se definir el rbol con una clave de tipo
entero (puede ser cualquier otra tipo de
datos) y dos hijos: izquierdo (izq) y derecho
(der). Para representar los enlaces con los
hijos se utilizan punteros. El rbol vaco se
representar con un puntero nulo.
5.2.2.- Insercion de un arbol binario
Si tenemos inicialmente como parmetro un
rbol vaco se crea un nuevo nodo como nico
contenido el elemento a insertar. Si no lo est,
se comprueba si el elemento dado es menor
que la raz del rbol inicial con lo que se
inserta en el subrbol izquierdo y si es mayor
se inserta en el subrbol derecho. De esta
forma las inserciones se hacen en las hojas.
5.2.3.- Eliminacion de un arbol binario
La operacin de borrado no es tan sencilla como
las de bsqueda e insercin. Existen varios
casos a tener en consideracin:

Borrar un nodo sin hijos nodo hoja


Borrar un nodo con un subrbol hijo
Borrar un nodo con dos subrboles hijo
5.2.2.1.- Borra run nodo sin hijos o
nodo hoja
simplemente se borra y se establece a nulo el
apuntador de su padre.
5.2.2.2.- Borrar un nodo con un
subarbol hijo
se borra el nodo y se asigna su subrbol hijo
como subrbol de su padre.
5.2.2.3.- Borrar un nodo con dos
subarboles hijo
la solucin est en reemplazar el valor del
nodo por el de su predecesor o por el de su
sucesor en inorden y posteriormente borrar
este nodo. Su predecesor en inorden ser el
nodo ms a la derecha de su subrbol
izquierdo (mayor nodo del subarbol
izquierdo), y su sucesor el nodo ms a la
izquierda de su subrbol derecho (menor
nodo del subarbol derecho).
5.3.- Arboles balanceados
Un rbol binario de bsqueda auto-balanceable o
equilibrado es un arbol binario de busqueda que intenta
mantener su altura, o el nmero de niveles de nodos
bajo la raz, tan pequeos como sea posible en todo
momento, automticamente. Esto es importante, ya que
muchas operaciones en un rbol de bsqueda binaria
tardan un tiempo proporcional a la altura del rbol, y los
rboles binarios de bsqueda ordinarios pueden tomar
alturas muy grandes en situaciones normales, como
cuando las claves son insertadas en orden. Mantener
baja la altura se consigue habitualmente realizando
transformaciones en el rbol, como la rotacion de
arboles, en momentos clave.
GRACIAS

Vous aimerez peut-être aussi