Vous êtes sur la page 1sur 10

rboles

Contenido
Qu es un rbol? Componentes de un rbol Definiciones bsicas rboles Binarios Manipulacin rboles binarios balanceados rboles n-arios Relaciones binarias Propiedades de las relaciones

Qu es un rbol Es un grafo donde, existe un nodo especial (raz) con grado de recepcin cero, todo punto que pertenece a la raz, tiene grado de recepcin igual a uno, no existen trayectorias cerradas o circuitos.

Componentes de un rbol
Rama odo de bifurcacin !o"a

Rama# Es una arista que une dos nodos pertenecientes al $rbol. Nodo de Bifurcacin ( o terminal)# Es un nodo que est$ caracterizado por que de %l por lo menos sale una ramificacin (rama). Hoja ( odo terminal)# Es el &ltimo nodo que podemos encontrar al desplazarnos a tra'%s de una ramificacin (nodo del cual no salen ramas, es decir no tiene sub$rboles).

($gina ) de )*

rboles

Definiciones bsicas
+recuentemente, se usa terminologa de ,orticultura y de 'nculos familiares para describir la relaciones entre los nodos de un $rbol. Es as como podemos encontrar definiciones como ,o"a, camino y bosque- o algunas como padre, ,i"o, ,ermano, ancestro y generacin. .dem$s, conceptos relacionados como longitud de un camino, grado y peso de un nodo, altura y ni'el de un $rbol. Camino: Es un recorrido secuencial que se realiza a tra'%s de un con"unto de aristas, examinadas siempre de arriba ,acia aba"o- es decir, es el con"unto de nodos que tenemos que 'isitar de manera consecuti'a con el propsito de llegar a un nodo especfico# A B C. Longitud: &mero de nodos que deben recorrerse para pasar de un nodo a otro. Grado de nodo: Es el n&mero de ramas o de aristas que parten de un nodo com&n. Nive !N"mero de nive #: /ada nodo dentro de un $rbol tiene un ni'el y se puede 'er como la longitud del camino que parte de la raz y llega ,asta dic,o nodo. (or definicin el nodo de la raz tiene un ni'el * y los dem$s tienen el ni'el de su padre m$s ). .ltura o profundidad# Es el ni'el de la ,o"a o de las ,o"as que est$n m$s ale"adas de la raz del $rbol. $eso: En un nodo dado, el peso se define como el n&mero de nodos en el $rbol sin contarse %l mismo. Bos%ue: Es un con"unto ordenado de $rboles ordenados. $adre: Es un nodo que puede tener o no ramificaciones. /ada nodo del $rbol 0a excepcin de la raz0, tiene un &nico padre o predecesor. Ancestro & 'escendiente: 1e dice que un nodo 2 es descendiente de un nodo (y se dice antecesor de 2) si existe una sucesin de ,i"os y caminos desde ,asta 2. Generacin# 1e definen as a todos los nodos dentro de un $rbol que est$n presentes en el mismo ni'el, sin importar que no tengan el mismo padre. Hijo: 3n nodo (o nodos) relacionado en forma descendente con un nodo padre. Hermano: 1on todos los ,i"os de un mismo padre.

rboles binarios
Un rbol binario es un conjunto finito de nodos que consta de un nodo raz, que tiene dos subrboles binarios denominados subrbol derecho y subrbol izquierdo. Caracter(sticas: rbol que aparecen en... rbol estrictamente binario rbol0binario /ompleto rboles0binarios /uasi0/ompletos rboles0binarios 4guales
($gina 5 de )*

rboles rboles0binarios 1eme"antes rboles0binarios 4somorfos rboles0binarios (erfectamente Equilibrados

)r*o %ue a+arecen en... # 6ecimos que un $rbol binario 2) aparece en otro $rbol binario 25, si todos los elementos del primero est$n en el segundo y, adem$s , cumplen las mismas relaciones "er$rquicas entre ellos. Es decir, si 2) es igual a 25 o si es igual a alguno de los sub$rboles de 25.

)r*o estrictamente *inario# Es un $rbol en el cual todo nodo que no es ,o"a, tiene asociados sub$rboles izquierdo y derec,o no 'acos. En la siguiente figura, el $rbol 2 no es estrictamente binario, mientras que el $rbol 2) s lo es. En un $rbol estrictamente binario el n&mero de nodos es igual 5n0), donde n indica la cantidad de ,o"as que tiene el $rbol.

)r*o ,*inario Com+ eto# Es el $rbol en que todo elemento no terminal tiene asociados exactamente 5 sub$rboles no 'acos (,i"os), y cuyas ,o"as est$n estrictamente en el &ltimo ni'el. El m$ximo n&mero de nodos que puede tener un $rbol de ni'el n es # xx7 2a profundidad 6n del $rbol completo de n nodos 'iene dada por # xx7

)r*o es,*inarios Cuasi,Com+ etos# (ara que un $rbol binario sea cuasi0completo debe de cumplir las 5 condiciones siguientes # /ada ,o"a del $rbol est$ en el ni'el d o en el ni'el d,(ara todo nodo nd del $rbol con un descendiente derec,o en el ni'el d, todos los descendientes izquierdos de nd que sean ,o"as tambi%n est$n en el ni'el d.

($gina 8 de )*

rboles

($gina 9 de )*

rboles )r*o es,*inarios .gua es# 6os $rboles binarios son iguales si necesariamente el contenido de cada uno de sus respecti'os nodos es el mismo y tienen las mismas relaciones de parentesco- es decir, deben ser estructuralmente iguales. :ambi%n dos $rboles son iguales si los dos son 'acos.

)r*o es,*inarios /emejantes# 6os $rboles binarios son seme"antes si tienen el mismo n&mero de nodos y los 'alores de los nodos del primer $rbol son los mismos que los 'alores de los nodos del segundo $rbol, sin importar que no tengan las mismas relaciones entre ellos. )r*o es,*inarios .somorfos# 6os $rboles binarios son isomorfos si tienen la misma estructura, aunque el contenido de cada uno de los nodos sea diferente .

)r*o es,*inarios $erfectamente 0%ui i*rados# 3n $rbol binario est$ perfectamente equilibrado si, para todo nodo, el n&mero de nodos en el sub$rbol izquierdo y el n&mero de nodos en el sub$rbol derec,o, difieren como muc,o en una unidad.

Manipulacin
Enumeracin de nodos rbol binario extendido rbol binario ordenado Recorrido de $rboles binarios

($gina ; de )*

rboles 0numeracin de nodos# 2os nodos de un $rbol binario cuasi0completo pueden enumerarse de manera que se le asigne ) a la raz, al ,i"o izquierdo se le asigna el doble del n&mero asignado a su padre y al derec,o uno m$s que el doble del numero asignado a su padre (ni'eles).

Es importante aclarar que si la posicin de un elemento es (, esto no quiere decir que necesariamente existan elementos asociados a todos los 'alores de posicin menores que (. 3n $rbol puede tener ocupada, por e"emplo, &nicamente las posiciones ), 8 y < mientras que las dem$s pueden estar 'acas. )r*o *inario e1tendido (rbol05) Es el $rbol en el cual cada nodo tiene * o dos ,i"os. En este caso, los nodos con dos ,i"os se denominan nodos internos y los nodos con * ,i"os se denominan nodos externos.

El t%rmino extendido pro'iene del ,ec,o de que, para con'ertir un $rbol binario a extendido, debemos agregar todas las ,o"as (nodos externos) que sean necesarias para que todo nodo interno se complete. 2as nue'as ,o"as generalmente se representan por cuadrados. )r*o *inario ordenado 3n $rbol binario es ordenado si todos los elementos del sub$rbol izquierdo son menores que la raz y todos los elementos del $rbol derec,o mayores que la raz.

($gina = de )*

rboles 3na de las aplicaciones m$s frecuentes de los $rboles binarios es el almacenamiento de informacin de manera ordenada. 1i traba"amos sobre una lista, por e"emplo, un algoritmo para saber si un elemento se encuentra presente o no, tendr$ una comple"idad lineal, puesto que es necesario recorrer todos los elementos ,asta encontrar el buscado. En $rboles binarios ordenados es posible me"orar esta situacin, pues se descarta la mitad de los elementos a comparar en cada ciclo de b&squeda. 3na de las propiedades interesantes de este tipo de $rbol binario es que durante el recorrido en inorden, se 'isitan siempre los elementos en orden ascendente de 'alor. Recorrido de r*o es *inarios Existen 9 formas b$sicas de recorrer los $rboles binarios # 0 (reorden (R46)# (rimero se 'isita la raz, despu%s el sub$rbol izquierdo y por &ltimo el sub$rbol derec,o. 0 4norden (4R6)# (rimero 'isitamos el sub$rbol izquierdo, despu%s la raz y por ultimo el sub$rbol derec,o. 0 (ostorden (46R)# (rimero se 'isita el $rbol izquierdo, luego el derec,o y por ultimo la raz. 0 (or ni'eles ( R46)# En esta forma de recorrer $rboles se 'isita primero los elementos del ni'el * (la raz), luego todos los del ni'el ) de izquierda a derec,a, y as sucesi'amente ,asta ,aber 'isitado todos los elementos.

1i se aplican estas definiciones al $rbol binario de la figura ) ,se obtiene la siguiente solucin. (reorden # > ? a @ b c 0 d > e f 4norden # a ? b @ c > d 0 e > f (ostorden # a b c @ ? d e f > 0 > 2os nombres de preorden, inorden y postorden deri'an del lugar en el que se 'isita la raz con respecto a sus sub$rboles. E'identemente, las primeras 8 formas de recorrer el $rbol son definiciones recursi'as, pues recorrer un $rbol usando cualquiera de ellas implica recorrer sus sub$rboles empleando la misma definicin.

rboles binarios balanceados


6efinicin Aalance :ipos de balance rboles .B2 +actor de balance 4mplementacin

'efinicin# (ara me"orar el acceso a la informacin, los $rboles binarios ordenados deben buscar tener en sus sub$rboles el mismo n&mero de componentes, garantiz$ndose de esta manera que en cada paso de la b&squeda se descarte aproximadamente la mitad de los elementos del con"unto. 2os $rboles con dic,a caracterstica reciben el nombre de balanceados. Ba ance# de un nodo en un nodo en un $rbol binario, se define como la altura de su sub$rbol izquierdo menos la altura de su $rbol derec,o. /ada nodo en un $rbol binario balanceado tiene balance igual a ), 0) o * , dependiendo si la altura de su sub$rbol izquierdo es mayor que , menor que o igual a la altura de su sub$rbol derec,o.

($gina < de )*

rboles 2i+os de *a ance# Existen b$sicamente dos tipos de balance de $rboles binarios. (or altura# En este tipo de $rboles, las a turas de los dos sub$rboles asociados con cada elemento no pueden diferir en m$s de ) y los 5 sub$rboles deben ser tambi%n ser balanceados por altura. (or peso# En este tipo de $rboles el n"mero de e ementos en cada uno de los sub$rboles asociados no puede diferir en m$s de uno. )r*o es A3L# Estos $rboles tienen la propiedad de que la altura de la rama izquierda menos la altura de la rama derec,a difiere en m$ximo un ni'el. 1e define como factor de balance de cada nodo, la diferencia de las alturas delas ramas izquierda y derec,a perteneciente a dic,o nodo . (odemos afirmar, entonces, que toda ,o"a tiene un factor de balance igual a cero y que un $rbol es .B2 si el factor de balance de todos y cada uno de los nodos que componen el $rbol esta en el rango C0),)D. .m+ ementacin# 1e pueden establecer los requerimientos para la implementacin de cada nodo .B2 en memoria ,lo cual implica diseEar cada nodo de la siguiente manera (empleando lengua"e /)# struct nodo F int infoint balancestruct nodo > izqstruct nodo > derG-

rboles n-arios
6efinicin Expresiones en $rboles n0arios Representacin en memoria !i"o0izquierdo ,ermano0derec,o

'efinicin# 3n $rbol n0ario es un grafo dirigido en el cual, de cada nodo pueden partir n aristas y as consecuti'amente, sin que sea obligatorio que de cada nodo partan igual n&mero de aristas. .dem$s, cumpliendo con la definicin formal de $rbol, a cada nodo slo puede llegar una arista. 3na definicin alterna puede ser# H Es una estructura recursi'a generalizada, en la cual de cada nodo podemos 'er asociados un n&mero cualesquiera de sub$rboles n0arios a la 'ezH. Esta clase de $rboles es poco utilizada en el almacenamiento y mane"o de informacin, ya que los algoritmos que se pueden implementar para su manipulacin son bastante engorrosos, debido a la aleatoriedad de su estructura. 01+resiones en r*o es n,arios# 3na expresin matem$tica puede ser representada a partir de un $rbol n0ario de la siguiente manera# Re+resentacin en memoria# 6ebido a que los $rboles n0arios no tienen un n&mero constante de ,i"os, su representacin interna en memoria consiste en un apuntador a la estructura de datos donde se encuentra el elemento de la raz y donde, adem$s, se mantienen apuntadores a cada uno de sus respecti'os sub$rboles. Es decir, se pueden representar como un 'ector de apuntadores de tamaEo I, donde ,abr$n I0) apuntadores ,acia los ,i"os y un apuntador ,acia el contenido del nodo (de esta manera puede obser'arse como un $rbol n0ario debe ser definido desde el momento de la creacin del algoritmo con un tamaEo de I0) ,i"os para cada nodo). Hijo,i4%uierdo 5ermano,derec5o# 2a representacin de $rboles n0arios en memoria 'ista anteriormente, presenta dos des'enta"as fundamentales# El limitante de la constante definida pre'iamente que nos dice cual es el n&mero m$ximo de ,i"os- y el problema del espacio de memoria ocupado, ya que aunque un nodo tenga slo un ,i"o, la estructura de datos en memoria aparta espacio para representar I05 ,i"os m$s. 2a representacin ,i"o0izquierdo ,ermano0derec,o no tiene estas limitaciones, aunque tiene el problema de que es m$s complicada la implementacin de los algoritmos. (or medio de esta t%cnica, el $rbol n0ario est$ definido como un apuntador a la raz y los ,i"os, por su parte, se encuentran encadenados entre s de izquierda a derec,a por medio de apuntadores. (ara obtener los sub$rboles

($gina J de )*

rboles asociados con un nodo, se toma el apuntador de dic,o nodo al ,i"o m$s izquierdo y a tra'%s de este, se sigue el encadenamiento definido anteriormente sobre sus ,ermanos.

Relaciones binarias
/oncepto de Relacin Relacin Ainaria Representacin mediante Krafos 6irigidos

Conce+to de Re acin# 3na relacin puede considerarse como un cuadro que muestra las correspondencias de unos elementos con respecto a otros. 1e establecen relaciones entre elementos de dos con"untos, desde el con"unto de partida ,acia el con"unto de llegada. Re acin Binaria# 3na relacin binaria R de un con"unto L a un con"unto M es un subcon"unto del producto cartesiano L x M. 1i (x,y) N R se escribe xRy y se dice que x est$ relacionado con y. En el caso LOM se afirma que R es una relacin binaria sobre L. El con"unto Fx N L P (x,y) N R para alg&n y N MG , se llama dominio de R. El con"unto Fy N M P (x,y) N R para alg&n x N LG, se llama contradominio o $mbito de R. E"emplo# 1ea R la relacin sobre LOF),5,8,9G definida por (x,y) N R si x QO y, x, y N L. Entonces ROF(),)), (),5), (),8), (),9), (5,5), (5,8), (5,9), (8,8), (8,9), (9,9)G Representacin de una relacin binaria mediante su respecti'o grafo dirigido (ara establecer el digrafo de una relacin en un con"unto L, se marcan primero los puntos o '%rtices que representan los elementos de L. . continuacin, si el elemento (x,y) est$ en la relacin, se traza una flec,a (arco dirigido) desde x ,asta y. 2a gr$fica correspondiente al e"emplo mencionado es#

($gina R de )*

rboles

Propiedades de las relaciones


3na relacin definida de un dominio ,acia una imagen, puede tener caractersticas particulares que pueden ,acerla &til para cierto tipo de manipulaciones matem$ticas. 6ic,as caractersticas reciben el nombre de (ropiedades, dentro de las cuales las m$s importantes son# Reflexi'a 1im%trica .ntisim%trica :ransiti'a Relacin de orden parcial 4n'ersa

Ref e1iva# 3na relacin R sobre un con"unto L recibe el nombre de reflexi'a si (x,x) N R para todo x N L . 2a relacin sobre L descrita en el e"emplo ) es reflexi'a, ya que para cada elemento x N L, se tiene que (x,x) N R. El dgrafo de una relacin reflexi'a tiene un lazo en cada '%rtice.

/imtrica# 3na relacin R sobre un con"unto . se conoce como sim%trica si para todo (x,y) N R se tiene que (y,x) N R. 2a relacin sobre LOFa,b,c,dG definida por R O F(a,a),(b,c),(c,b),(d,d)G es sim%trica, pues para todo (x,y) N L, se tiene que (y,x) N R. El dgrafo de una relacin sim%trica tiene la propiedad de que si existe un arco dirigido de ' a S, existe tambi%n un arco dirigido de S a '.

Antisimtrica# 3na relacin R sobre un con"unto . se llama antisim%trica si para todo (x,y) N R con x T y, se tiene que (y,x) U R. 2a relacin del e"emplo ) es antisim%trica. El dgrafo que representa esta propiedad tiene, a lo sumo, un arco dirigido entre cada pare"a de '%rtices. 2ransitiva# 3na relacin R sobre un con"unto L se denomina transiti'a si para todo (x,y), (y,z) N R se tiene que (x,z) N R. 2a relacin del e"emplo ) presenta esta propiedad. El dgrafo de una relacin transiti'a tiene la propiedad de que siempre que existan arcos dirigidos de x a y y de y a z, existe tambi%n un arco dirigido de x a z.

Re acin de orden +arcia # 3na relacin R en un con"unto L recibe el nombre de relacin de orden parcial si R es reflexi'a, antisim%trica y transiti'a. .nversa# 1ea R una relacin R de L a M. 2a in'ersa de R, denotada por R0), es la relacin de M a L definida por# R0) O F(y,x) P (x,y) N R G
($gina )* de )*

Vous aimerez peut-être aussi