Anda di halaman 1dari 7

rboles

G es un rbol si es un grafo conexo y acclico.

rboles
Gregorio Hernndez Pealver UPM
Teora de Grafos

Propiedades Entre cada par de vrtices existe un camino nico. Toda arista es puente. Un rbol de n vrtices tiene n-1 aristas Todo rbol no trivial tiene al menos dos hojas

rboles con raz


Caracterizaciones
Un grafo simple es un rbol Entre cada par de vrtices existe un camino nico. G es conexo y toda arista es puente. G es acclico maximal G es conexo y q = n-1. G es acclico y q = n-1.
5 raz 4 7 15 19 Convenio: aristas orientadas hacia abajo 8 raz

16

13

Ordenar el conjunto {7,5,8,2,15,19,13,4,16}

Recorrido en profundidad
c a d b g f h e Camino: a Camino: a,b Camino: a,b,f Camino: a,b,f,h Camino: a,b,f,h,e Camino: a,b,f,h,e,c Camino: a,b,f,h,e,c,d Camino: a,b,f,h,e,c Camino: a,b,f,h,e Camino: a,b,f,h,e,g

Recorrido en anchura
c a d b g f h e Frente: a Frente: b,g,d,c Frente: g,d,c,f Frente: d,c,f,e Frente: c,f,e,h Frente: f,e,h Frente: e,h Frente: h

rbol de bsqueda T Complejidad O(q) Complejidad O(q)

Laberinto de Hampton Court

Laberinto de Hampton Court

Laberinto de Hampton Court

RBOL DIRIGIDO El grafo subyacente es un rbol

RBOL CON RAZ Existe r tal que para todo v hay un camino rv r

G. Tarry
Cada vez que entramos en un pasadizo, dejamos dos marcas al comienzo. Cuando llegamos a una bifurcacin nueva dejamos una marca en el pasadizo que nos llev hasta all; en cambio, si es una bifurcacin que ya habamos visitado antes, dejamos tres marcas. Cuando lleguemos a una bifurcacin tenemos que continuar por los pasadizos que no tengan ninguna marca o los que tengan una sola.

r RBOL CON RAZ r r u RBOL CON RAZ rbol binario rbol m-ario Cada padre a lo ms m hijos u

rbol ternario Altura (T) = 6 u, v vrtices interiores z hoja z z v z

v z

T es equilibrado si hojas en nivel h h-1 ( h=altura(T) )

Recorrido en profundidad
v u w y z x t w 0 v 1

Recorrido en profundidad
Proposicin 1 Si e=ab no es arista de T, df(a)< df(b) entonces a es ascendiente de b en el rbol T x 3 4 u 2 w 0 v 1

u 2

ndice de bsqueda df(v) Aristas en T Aristas no en T (de retroceso)


t 5 z

Cuando la bsqueda alcanza a la arista e est disponible. Como e T la bsqueda debe visitar b antes de retroceder ms all de a

x 3 4

y 6

y 6

Recorrido en profundidad
Aplicaciones
v x y w x v y u w v x z t z t

Vrtices corte en un grafo conexo


Proposicin 2 v es vrtice-corte u, x tales que v est en todos los caminos de u a x

1. Componentes conexas 2. Vrtices-corte 3. Aristas puente 4. Bloques


u

v u w y

x t z

Vrtices corte en un grafo conexo


Proposicin 3 Sea T rbol DFS de G conexo, r la raz del rbol r es vrtice-corte r tiene ms de un hijo en T

Vrtices corte en un grafo conexo


v u w y z x t u 2 w 0 v 1 x 3 z 4 t 5 y 6

v u w y

x t z

Dem. ) Si r tiene slo un hijo v el subrbol Tv es generador de G-r, luego G-r es conexo

Vrtices corte en un grafo conexo


v u w y z x t

Vrtices corte en un grafo conexo


Sea T rbol DFS de G conexo, v vrtice no raz del rbol v 0 v es vrtice-corte v tiene un hijo z tal que ningn descendiente de z se une a un antecesor de v por una arista que no est en T v x y w z t

w 1

x 3

) Si r tiene dos hijos x,w entonces todos los caminos de x a w pasan por r luego por (Prop. 2) r es un vrtice corte

u 2

z 4 u t 5 y 6

Vrtices corte en un grafo conexo


Pongamos otra etiqueta l(a) en cada vrtice a, adems de df(a) Consideramos todos los vrtices b accesibles desde a por un camino (puede ser vaco) formado por un camino dirigido en T seguido por a lo sumo una arista de retroceso. l(a)=min{df(b) para todo vrtice b de T que se alcanza desde z con un camino z--t que termina con una arista no de T} Siempre es l(a) df(a)

Vrtices corte en un grafo conexo


a no raz es vrtice-corte existe una arista en T ab tal que l(b) df(a)
Dem.

w 00 v 10 u 20 x 33 z 43

) Supongamos que l(b) < df(a) para todo hijo b de a r Dos vrtices cualesquiera de Ta se pueden unir por un camino que no pasa por v. as por (Prop 2) v no es vrtice-corte

a t 53 y 63

a no raz es vrtice-corte existe una arista en T ab tal que l(b) df(a)

Proposicin 4

Vrtices corte en un grafo conexo


a no raz es vrtice-corte existe una arista en T ab tal que l(b) df(a)
Dem. ) Si a tiene un hijo b tal que l(b) df(a)

Vrtices corte en un grafo conexo


ALGORITMO Entrada: Un grafo G conexo Salida: K, conjunto de vrtices-corte Inicializar K= Elegir r vrtice de G y construir T rbol de bsqueda con raz r Si r tiene ms de un hijo en T, aadir r a T Para cada z vrtice de T, calcular l(z) Para cada v no raz si v tiene un hijo z con l(z) df(v), aadir v a K Devolver K

r
entonces no hay ninguna arista roja de retroceso que enlace los descendientes de b con los ascendientes de a. En particular TODOS los caminos de b a r pasan por el vrtice a. Luego a es vrtice-corte

a b

Vrtices corte en un grafo conexo


ALGORITMO

Aristas puente en un grafo conexo


Proposicin 5 w 00 Sea T rbol DFS de G conexo, uv arista de G con df(u)<df(v) uv es puente uv T y l(v)>df(u) v 10 u 20 x 33 z 43 t 53 y 63

Clculo de l(z)
Para todo vrtice v de T, l(v) es el menor de los siguientes valores: df(v) df(z) para todo z unido a v por una arista de retroceso l(y) para todo hijo y de v Esto permite calcular las etiquetas l al tiempo que se construye T

Complejidad O(q)

Bloques
Sea G un grafo. Un bloque de G es un subgrafo conexo maximal tal que ninguno de sus vrtices es vrtice-corte Los bloques de un grafo G pueden ser:

ALGORITMO (BLOQUES)
Entrada: G, grafo conexo Salida: Los bloques de G Se calculan T, rbol DFS y K, conjunto de vrtices-corte Se inicia el contador de bloques i:=0 Para cada v vrtice corte de K (en orden decreciente de df) Para cada hijo z de v en el rbol T Si l(z) df(v) y llamamos Tz subrbol de raz z i:=i+1 Bi:= V(Tz) {v} T:= T- V(Tz) Devolver los conjuntos B1, B2, , Bs G-{B1,, Bs} bloques de G

Si tienen 3 o ms vrtices son subgrafos maximales 2-conexos

Complejidad O(q)

Cdigo de Prfer de un rbol etiquetado


1 3 7 9

Del cdigo al rbol etiquetado


1 2 3

C 3 4 4 6 3 7 7 L ={1, 2, 3, 4, 5, 6, 7, 8, 9}
9

6 8 5

3, 4, 4, 6, 3, 7, 7
4 Cdigo de longitud n - 2 Clave: arista primer elemento de C con menor de L que no est en C

8 5 7 6

Clave: vecino de la hoja con menor etiqueta hasta que restan slo dos vrtices

N de cdigos es nn 2

Del cdigo al rbol etiquetado


1 2

Del cdigo al rbol etiquetado


1 2 3

C 3 4 4 6 3 7 7
3

C 3 4 4 6 3 7 7
9

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}
4

4 Clave: arista primer elemento de C con menor de L que no est en C

Clave: arista primer elemento de C con menor de L que no est en C

8 5 7 6

8 5 7 6

N de cdigos es nn 2

N de cdigos es nn 2

Del cdigo al rbol etiquetado


1 2

Del cdigo al rbol etiquetado


1 2 3

C 3 4 4 6 3 7 7
3

C 3 4 4 6 3 7 7
9

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}
4

4 Clave: arista primer elemento de C con menor de L que no est en C

Clave: arista primer elemento de C con menor de L que no est en C

8 5 7 6

8 5 7 6

N de cdigos es nn 2

N de cdigos es nn 2

Del cdigo al rbol etiquetado


1 2

Del cdigo al rbol etiquetado


1 2 3

C 3 4 4 6 3 7 7
3

C 3 4 4 6 3 7 7
9

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}

L ={1, 2, 3, 4, 5, 6, 7, 8, 9}
4

4 Clave: arista primer elemento de C con menor de L que no est en C

Clave: arista primer elemento de C con menor de L que no est en C

8 5 7 6

8 5 7 6

N de cdigos es nn 2

N de cdigos es nn 2

Del cdigo al rbol etiquetado


1 2 3

C 3 4 4 6 3 7 7 L ={1, 2, 3, 4, 5, 6, 7, 8, 9}
9

Frmula de Cayley El n de rboles etiquetados de n vrtices es nn 2 . (El grafo completo Kn tiene nn 2 rboles generadores diferentes) Cuntos grafos simples hay con n vrtices etiquetados? No etiquetados 4 n=4
n 2 2

Clave: arista primer elemento de C con menor de L que no est en C


ltimos elementos en L forman la ltima arista N de cdigos es nn 2

8 5 7 6
38

Modelo terico de mquina

Complejidad de un algoritmo
Mide el trabajo realizado para resolver un problema utilizando ese algoritmo
tiempo de ejecucin, espacio de almacenamiento en funcin del tamao de los datos de entrada en el peor caso, en media

Modelo RAM real Un n real se almacena en una unidad de memoria Operaciones primitivas de coste unitario Coste del algoritmo T(n) T(n) O(f(n)) kN, aR+, tales que T(n) af(n) nk rdenes de funciones de coste: O(logn), O(n), O(nlogn), O(n2), Algoritmo eficiente == Coste polinmico

Complejidad de un problema

Complejidad

2 8 32 100

log n 1 3 5 6

n 2 8 32 100

n2 4 64 1024 104

2n n! 4 2 256 40320 4,3109 2,6 1035 1,21027 9,310177

Un siglo tiene 3,1109 segundos Si la edad del Universo es de 15000 millones de aos, el big-bang ocurri hace 4,51017 segundos

Anda mungkin juga menyukai