You are on page 1of 14

RBOLES

Alberto Ceballos

RBOLES
Son estructuras que permiten la implementacin de una gran variedad de tipos de datos abstractos. En forma general se puede definir un rbol como una coleccin de elementos, a los que llamaremos nodos. A uno de estos nodos se le puede llamar raz Surge una relacin padre-hijo Surge una relacin ancestros y descendientes lo que organiza a los nodos en una estructura jerrquica.

DEFINICIN
Recursivamente un rbol se definira como: Un nodo es un rbol, siendo este la raz. Si n es un nodo del rbol T con raz r, T1 Tk son rboles con races n1, , nk.

DEFINICIN
En trminos prcticos se incluye tambin el rbol vaco puesto que un rbol no necesita realmente poseer una raz. Una definicin formal que no est ligada al uso de races se suele encontrar ligada a grafos, es por esto que nos quedaremos con la definicin recursiva recin entregada.

DEFINICIONES

Camino:
Si n1, n2, , nk es una sucesin de nodos de un rbol tal que ni es el padre de ni+1 para 1 i < k La secuencia se denomina camino del nodo n1 al nodo nk. La longitud del camino est dada por el nmero de nodos pertenecientes al camino menos uno, es decir, el nmero de pasos entre el nodo origen y el nodo destino.

ANCESTROS Y DESCENDIENTES
Si existe un camino de un nodo a a otro b, entonces a es un ancestro de b y b es un descendiente de a. Un nodo es ancestro y descendiente de s mismo. Un descendiente o ancestro de un nodo, que no sea l mismo, es llamado ancestro propio o descendiente propio respectivamente. Un nodo sin descendientes propios se llama hoja.

MS DEFINICIONES
A un nodo perteneciente a un rbol A, junto con los descendientes propios de dicho nodo, se le llama subrbol de A. Altura de un nodo, es el largo del mayor camino desde ese nodo a alguna hoja. La altura del rbol es la altura del nodo raz. Profundidad de un nodo es el largo del nico camino desde la raz a ese nodo. Grado de un nodo es el nmero de hijos de un nodo. El grado del rbol es el mayor nmero de hijos en cualquier nodo.

ORDEN DE LOS NODOS


Hermanos se le llama a los nodos hijos de un mismo padre. Los hermanos suelen relacionarse por el orden de izquierda a derecha. Si un nodo a es hermano izquierdo de b todos los descendientes de a estarn a la izquierda de los descendientes de b.

RECORRIDOS DE LOS RBOLES


Orden previo o preorden(T): Recorrer primero la raz r, preorden(T1), preorden(T2), ., preorden(Tk). Orden simtrico o inorden(T): inorden(T1) Recorrer la raz r inorden(T2), , inorden(Tk) Orden posterior o postorden(T): postorden(T1), , postorden(Tk) Recorrer la raz r.

TDA RBOL

Padre(n,T) => n: Entrega el nodo padre del nodo n en el rbol T. Si no tiene padre (si es raz) debe devolver nulo. Hijo_Izquierdo(n,T) =>n: Devuelve el hijo que est ms a la izquierda del nodo n en el rbol T, si el nodo n es hoja, devuelve el rbol vaco.

TDA RBOL

Hermano_derecho(n,T) => n: Devuelve el hermano que est a la derecha del nodo entregado como parmetro del rbol T. Rtulo(n,T) => x: Obtiene el dato del nodo n en el rbol T. Raz(T)=>n: entrega el nodo que es raz del rbol T.

TDA RBOL

Creari(x, T1, ,Ti) => T: Familia de funciones, definida para distintos i=0,1,m, con m el grado mximo del rbol a soportar. Creari genera un nuevo nodo con dato x y le asocia i hijos que son los rboles T1, , Ti. Retorna el rbol generado con raz cuyo dato es x. Anular(T)=>T: Hace que el rbol T sea nulo.

IMPLEMENTACIONES

Puntero al padre: dos arreglos, uno de punteros, que mantienen los ndices de los padres de los nodos asociados. Otro arreglo con los nodos Listas de hijos: Un arreglo, donde cada celda tiene el nodo y adems un puntero a una lista de los ndices donde se encuentran los nodos Hijo izquierdo hermano derecho: archivo de registros, los que estn compuestos de 3 campos, ndice del hijo izquierdo, dato, ndice del hermano derecho. Se debe tener una referencia a la raz del rbol pues los registros no necesariamente estn ordenados.

DUDAS

You might also like