ARBOLES
Un árbol es un grafo conexo conexo y sin ciclos (a cíclico). Un árbol es un grafo conexo mínimal. (Si se le saca 1 arista se convierte en un grafo no conexo) Un árbol es un grafo sin circuitos maximal. (Si se le agrega una arista se convierte en un grafo con ciclos) Un grafo de n vérces con n–1 aristas sin circuitos.
Teorema: Si a y b son vérces de un árbol camino entre a y b sin re!er aristas.
Bosque: "s un grafo no conexo en el cual sus com!onentes conexas son árboles.
Árbol generador o recubridor: Sean #1 y #$ dos grafos conexos tal %ue # $ ene los mismos vérces %ue #1 y #$ es a un árbolbgenerador de # 1. a un árbol& b entonces decimos %ue #$ es
#$
#1
c
c
d
d
e
e
f
f
Teorema: Si # es un grafo no dirigido& entonces # es conexo # ene árbol recubridor. 2 , ('& 3) 4' , 43 - 1
Teorema: Sea #('&") un grafo. Son e%uivalentes a) b) a) b) c) d)
# es es un un árb árbol ol 2 , ('& 3)& si 4' $ 2 ene al ada !ar de vérces vérces disntos disntos de ' está está conectado !or un nico camino. # es conex conexo o y toda arista arista de # es de se!ar se!araci*n aci*n # no ene ene ciclo cicloss y +'+ +'+ , +"+ +"+ - 1 # es cone conexo xo y +'+ , +"+ +"+ - 1 # no ene ciclos ciclos !ero al aadirle una arista arista a # se crea crea un nico circuito circuito
Arboles jerárquicos jerárquicos Hojas: Son los nodos %ue no enen /i0os. (v tal %ue gr –(v) , )
Árbol n-ario: Un árbol se dice n5ario cuando todos los nodos exce!to los terminales enen a lo sumo n /i0os.
Nivel de un vértce: Se llama nivel de un vérce al nmero de aristas %ue le se!aran de la raí6. 7a raí6 ene nivel .
Alura de un árbol : Se llama altura de un árbol al máximo nivel de sus vérces.
Árbol generador mínimo: "s el árbol generador& de todos los !osibles& con !eso mínimo.
értce inerno: 'érce con /i0os.
Arboles dirigidos Un dígrafo # , ('& 3) es una árbol con raí6 si y solo si8 1) $) 9) :)
"l grafo asociado a # es un árbol. verce r ' 8 gr (r) , (r , raí6) v '& v r& gr (v) , 1 v ' camino de r a v
Árbol Binario Sea 2 , ('& 3)& 2 es un árbol binario v ' gr –(v) $
Árbol binario com!leo Teorema: Si 2 , ('& 3) es una árbol binario com!leto con i vérces internos entonces ene8 >o0as , i - 1
Algorimos !ara enconrar arboles generadores mínimos
Algorimo de "rim Sea # , ('& 3) un grafo conexo !onderado& el árbol generador mínimo 2 será8
S , con0unto de vérces 1) Se elige un vérce v de # y se considera el S , ;v< $) Se toma a 3 de mínimo !eso incidente en un v S y un = S& y se /ace S , S - ;=< 9) Si 4S , 4' el algoritmo termina. "n caso contrario se vuelve a $)
Algorimo de #rus$al Sea # , ('& 3) un grafo conexo !onderado.
S , con0unto de aristas.
1) Se elige la arista a de mínimo !eso y se considera S,;a<. $) Sea a? la arista de mínimo !eso tal %ue a? S y S - ;a@< es un grafo a cíclico. Se /ace S , S ;a@< 9) Si 4S , 4'–1& el algoritmo termina. "n caso contrario se vuelve a $).
A%B&' ()N)%A*&% +,N,+& Aado un grafo # conexo y e%uetado& recibe el nombre de árbol maximal minimal o generador mínimo& un árbol generador de # tal %ue la suma de los !esos de sus lados sea mínima. Se resume a connuaci*n varios !rocedimientos !ara encontrar estos árboles. 1. "rocedimieno de los !esos crecienes- "stá basado en el algoritmo de BrusCal. Se ordenan las aristas del grafo dado # de menor a mayor !ero. Se toman la arista con el !eso menor y se le van aadiendo o considerando los restantes lados siem!re cuidando %ue la conexi*n de una nueva arista no dé lugar a un ciclo& en cuyo caso no se aadirá. "n este !rocedimiento /an de tenerse en cuenta dos cuesones8 un árbol maximal de un grafo conene todos los vérces de ese grafoD al veriEcarse en # %ue + '+ , +"+ - 1& el total de aristas+"+de un árbol con +'+ vérces es +"+ ,+'+51& !or lo %ue el árbol maximal tendrá tantas aristas como vérces !osee el grafo original menos uno. $. "rocedimieno de los !esos decrecienes- Se ordenan las aristas del grafo dado # de mayor a menor !eso& Se toma una de las aristas con mayor !eso y se van su!rimiendo aristas sucesivamente con tal %ue la su!resi*n de una de esas aristas no !rodu6ca un grafo desconectado. 7a su!resi*n de aristas connuara /asta obtener un grafo con tantas aristas como vérces tenga # menos uno. 9. Algorimo de "rim .arni$- 7a idea básica consiste en aadir& en cada !aso& una arista de !eso mínimo a un árbol !reviamente construido. Fas ex!lícitamente8 Gaso 1. Se elige un vérce u de # y se considera el árbol S, ;u<. Gaso $. Se considera la arista e de mínimo !eso %ue une un vérce de S y un vérce %ue no es de S& y se /ace S,S-e. Gaso 9. Si el nmero de aristas de 2 es n51 el algoritmo termina. "n caso contrario se vuelve al !aso $. :. Algorimo de Boruv$a /ollin- "n este algoritmo se toma un bos%ue generador H de # y se une cada com!onente de H con un vérce de otra com!onente !or una arista de mínimo !eso. Gaso 1. Se !arte del bos%ue trivial de n vérces %ue llamamos H. Gaso $. Gara cada com!onente HI de H se une un vérce HI con un vérce de otra com!onente H !or una arista de mínimo !eso. Aesignamos este con0unto de aristas !or S y tomamos H,H-S. Gaso 9. Si el nmero de aristas de H es n51& el algoritmo termina. "n caso contrario se vuelve al !aso $.
&B/)%A0,1N: uando el grafo ene aristas con el mismo !eso se !ueden formar ciclos en el !aso $. Gara evitarlo basta ordenar adecuadamente& con un orden total& las aristas y elegir siem!re la !rimera en ese orden en caso de coincidencia.
A%B&' ()N)%A*&% +A2,+& Aado un grafo # conexo y e%uetado& recibe el nombre de árbol maximal máximo o generador máximo& un árbol generador de # tal %ue la suma de los !esos de sus lados sea máxima. Gara encontrar tal árbol !uede em!learse de nuevo el algoritmo de los !esos decrecientes como si se tratara de encontrar el árbol generador mínimo& !ero con dos diferencias sobre el algoritmo anterior8 a) 3adir aristas en lugar de su!rimirlas. b) 7a onexi*n de una arista no deberá formar un ciclo. on ello& el árbol maximal máximo tendrá tantos vérces como el grafo # de !rocedencia.
0A+,N&/ *) '&N(,T3* +,N,+A )N 3N (%A4& Aado un grafo (o dígrafo) !onderado y dos vérces s y t& se desea /allar d (s & t) y el camino con dic/a longitud. "l con0unto de caminos mínimos desde un vérce s a los restantes vérces del grafo # es un árbol& llamado árbol de caminos mínimos desde s.
A'(&%,T+& *) *,.#/T%A "ste algoritmo calcula los caminos de longitud mínima desde un vérce s a los restantes vérces de un grafo (o dígrafo) !onderado #& tal %ue las aristas enen !esos no negavos. 7a idea básica del algoritmo es la siguiente8 Si el vérce u se encuentra en un camino de longitud mínima entre los vérces s y 6 entonces& la !arte de com!rendida entre los vérces s y u forma un camino de longitud mínima entre s y u. "sto sugiere %ue si deseamos determinar el camino *!mo de s a cada vérce 6 de #& !odremos /acerlo en orden creciente de distancias d(s& 6). 7a descri!ci*n del algoritmo es la siguiente8 "ntrada8 Sea un grafo (o dígrafo) !onderado y un vérces s " '. "l !eso de la arista uv se indica !or = (uv)& /aciendo = (uv), JJ& si uv no fuera arista. lave8 Fantener el con0unto 2 de vérces !ara el %ue se conoce el camino más corto y am!liar 2 /asta %ue 2,'. Gara ello e%uetamos cada vérces 6 con t(6) %ue es la longitud del camino más corto ya encontrado. KKGaso 1. Sea 2, ;s<. y(s), d(s& s), & t(6), =(s6)& !ara 6 diferente de s. KKGaso $. "legir el vérce v diferente de 2 con e%ueta mínima t(v). 3adir v a 2. 3nali6ar cada arista v6 con 6 diferente de 2 y actuali6ar la e%ueta de 6 t(6), min ;t(6)& t(v)- =(v6)<.
KKGaso 9. Si 2,'(#) o t(6),JJ !ara cada vérce 6 diferente de 2& el algoritmo termina. "n caso contrario se vuelve al !aso $. "n cual%uier caso la e%ueta de cada vérce 6 en 2 será la distancia de s a 6. "n el segundo caso los vérces %ue no están en 2 no son accesibles desde s.
A%B&')/ 0&N %A,5 Un árbol 2 se dice %ue es un árbol con raí6 si uno de sus vérces se es!eciEca o designa como vérce raí6. Un árbol con raí6 se designara !or L. Aado un árbol con raí6 L& nivel de un vérce cual%uiera es la longitud del camino %ue lo conecta con el vérce raí6D el nodo raí6 está situado en el nivel cero. "l máximo nivel de un árbol es su altura. Su!ongamos un camino %ue& !arendo de la raí6& !ase !or un vérce v de altura C y !or = de altura su!erior a C. "ntonces& v es un ancestro o !redecesor de = y este un descendiente de v. Si& además& v es adyacente de =& v será un ancestro inmediato& !redecesor inmediato o !adre de =D = es un /i0o de v. Aado un árbol L& un vérce 0unto con todos sus descendientes forman un subárbol del árbol original. Un vérce v de L %ue ene /i0os recibe el nombre de vérce intermedio o vérce !ro!ioD si tal vérce no tuviera /i0os& se denominaría vérce /o0a. Un árbol L con raí6 se dice %ue es un árbol m5ario o m5árbol& cuando todo vérce interno ene& como máximo& m /i0os. "s árbol m5ario o m5árbol com!leto si todo vérce interno ene exactamente m /i0os. Gara el caso concreto m,$& se tendrá un árbol binario o bien un árbol binario com!leto. Un árbol con raí6 L y altura / se dice %ue esta e%uilibrado cuando todas sus /o0as están situadas en el nivel / o en el /51. Un árbol con raí6 se dice %ue esta ordenado cuando lo están los /i0os de todo vérce interno.