Está en la página 1de 26

Arboles

Arbol generador Codigo Pr ufer



Arboles con raz

Arboles
Nieves Castro-Gonzalez
1
Departamento de Matematica Aplicada, Facultad de Informatica
Universidad Politecnica de Madrid, Madrid, Spain
Matematica Discreta II
Tema 2
1
E-mail: nieves@.upm.es

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Outline
1

Arboles
2

Arbol generador
3
Codigo Pr ufer
4

Arboles con raz

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz

Arboles
Denicion
Un grafo es acclio si no contiene ciclos.
Un grafo es un arbol si es conexo y acclico.
Son arboles los siguientes grafos?
a b
c
d
e
a b
c
d
e

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Teorema
Sea T = (V, A) un grafo simple. Son equivalentes:
(a) T es un arbol.
(b) T es conexo y todas sus aristas son puente.
(c) T es conexo y |A| = |V| 1.
(d) T es acclico y |A| = |V| 1.
(e) Para cada par de vertices distintos u, v V, existe un unico
camino de u a v.
Demo.
(a) (b): Si una arista no es puente, entonces es una arista de
un ciclo. Contradicion con T es arbol.
(b) (c): El mnimo n umero de arista para que T sea conexo
es |V| 1. Si se a nade otra arista entonces se forma un ciclo, y
la arista no puede ser puente. Luego |A| = |V| 1.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Demo.
(Cont.) (c) (d): Si T contiene un ciclo entonces se puede
eliminar una arista y el grafo sigue siendo conexo. Contradicion
con |A| = |V| 1 (mnimo para la conexion)
(d) (e): Si hay dos caminos distintos de u a v entonces se
cierra un ciclo. Contradicion con T es acclico.
(e) (a): Si para cada par de vertices hay un camino que los
une, entonces T es conexo.
Si hay un ciclo, este da lugar a dos caminos distintos entre dos
vertices. Contradicion con la unicidad de camino. Luego T no
tiene ciclos.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Proposicion
Un arbol tiene al menos dos vertices de grado 1.
Demo. (Metodo de reduccion al absurdo)
Supongamos que T = (V, A) posee solo un vertice de grado uno
o ninguno. Entonces si |V| = n se cumple que al menos n 1
vertices tienen grado mayor o igual que dos, luego
2|A| =

vV
d(v) 2(n 1) + 1 = 2n 1
Por otra parte, teniendo en cuenta que en un arbol se cumple
que |A| = |V| 1, resulta que
2|A| = 2(|V| 1) = 2n 2.
Se tendra que cumplir 2n 2 2n 1. Esta contradiccion
implica que T posee al menos dos vertices de grado uno.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Proposicion
Si T es un arbol con un vertice de grado k entonces posee al
menos k vertices de grado uno.
Demo. (Metodo de induccion sobre el grado k del vertice.)
Si k = 1 se cumple (T tiene al menos dos vertices de grado uno)
HI: Supongamos que es cierto para todo arbol T que posee un
vertice de grado k.
Sea ahora T un arbol con un vertice v de grado k + 1.
T e, con e arista incidente en v, tiene dos componentes:
1
un arbol T
1
con un vertice de grado k. Aplicando HI, T
1
posee al menos k vertices de grado uno.
2
un arbol T
2
o un vertice aislado en cuyo caso este tiene
grado uno en T.
Al a nadir la arista e para reconstruir T es posible que un vertice
de grado uno de T
2
aumente de grado pero hay al menos otro
vertice de grado uno de T
2
, y los k vertices de grado uno de T
1
.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Teorema
Un vertice v de un arbol T es un vertice-corte si y solo si v no
tiene grado uno.
1
2
3
4
5 6
7 8
Razonar puede existir un arbol T de orden 8, con un vertice de
grado 4 y 5 vertices de corte?

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Denicion
Un bosque es un grafo no conexo y acclico, esto es, un grafo
donde cada componente conexa es un arbol.
1 2
3
4
5
6
7
8 9
10
Razonar cuantas aristas tiene un bosque de orden 15 con 4
componentes conexas?

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Proposicion
Sea G = (V, A) un grafo con n vertices y k componentes conexas.
Se tiene que G es un bosque si y solo si tiene q = n k aristas.
Demo.
Si G es un bosque, entonces cada componente conexa es
un arbol T
i
= (V
i
, A
i
), donde |A
i
| = |V
i
| 1. Luego
|A| =

k
i =1
|A
i
| =

k
i =1
(|V
i
| 1) = n k.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Denicion
Un arbol generador de un grafo G es un subgrafo que es arbol y
contiene todos los vertices de G.
a
b
d
e
c
a
b
d
e
c
a
b
d
e
c
Teorema
Un grafo es conexo si y solo si posee un arbol generador.
Proof.
Si T es un arbol generador de G entonces para cada par de
vertices distintos u y v de G existe un unico camino de u a v en T,
y este puede no ser el unico camino en G. Luego G es conexo.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Cuantos arboles generadores distintos tiene K
4
?
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4
1 2
3 4

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Proposicion
(Formula de Cayley) El grafo completo K
n
, tiene n
n2
arboles
generadores diferentes (etiquetados).
Sea T
n
el conjunto de arboles de orden n > 2, con conjunto de
vertices etiquetados con los n umeros {1, . . . , n}. Se puede
establecer una aplicacion biyectiva entre T
n
y el conjunto formado
por todas las secuencias de n 2 n umeros:
T C = (t
1
, . . . , t
n2
), con t
i
{1, ..., n}, 1 i n 2.
La secuencia C asociada a T se llama codigo de Pr ufer del arbol
T.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Codigo de Pr ufer
Algoritmo
Entrada: Un arbol T de orden n, etiquetado con {1, 2, ..., n}.
Salida: Una secuencia C = (t
1
, . . . , t
n2
), con t
i
{1, 2, ..., n}.
Inicializar el codigo C vaco.
1
Se busca el nodo de grado uno u de T de menor etiqueta y se
a nade al codigo C la etiqueta de su vecino.
2
Se borra de T el vertice u, y se dene T := T u.
3
Si T tiene mas de dos vertices se vuelve al paso 1; en caso
contrario FIN.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Ejercicio: Hallar el codigo de Pr ufer del siguiente arbol etiquetado:
Iteraci on 1
3 9
4 2
5
8
7
1 6
C = (3)
Iteraci on 2
3 9
4
5
8
7
1 6
C = (3, 3)

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Iteraci on 3
3 9 5
8
7
1 6
C = (3, 3, 1)
Iteraci on 4
3 9 5
8
7
1
C = (3, 3, 1, 8)
Iteraci on 5
3 9 5
8
7
C = (3, 3, 1, 8, 8)

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Iteraci on 6
3 9 5
8
C = (3, 3, 1, 8, 8, 5)
Iteraci on 7
3 9 5
C = (3, 3, 1, 8, 8, 5, 3)
Paso nal
3 9
C = (3, 3, 1, 8, 8, 5, 3)
Los vertices que no aparecen en el codigo (2,4,7 y 9) son los
vertices de grado uno del arbol; el grado de cada vertice que esta
en el codigo es una unidad mas que el n umero de veces que se
repite en el codigo.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Descodicacion
Algoritmo
Entrada: Un codigo C = (t
1
, . . . , t
n2
), con t
i
{1, 2, ..., n}.
Salida: Un arbol T de orden n, etiquetado con {1, 2, ..., n}.
Inicializar la lista L = [1, 2, ..., n] y un bosque trivial T de n
vertices etiquetados con {1, 2, ..., n}.
Repetir n 2 veces lo siguiente:
1
Sea j el primer elemento de C y sea k el menor n umero de L
que no esta en C. A nadir a T la arista {j , k}. Borrar j de C y
k de la lista L.
2
Cuando solo quedan dos elementos en L y ninguno en C,
a nadir a T la arista que une dichos elementos. FIN.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Ejercicio: Dibujar el arbol con codigo de Pr ufer C = (4, 4, 3, 1, 1).
Iteraci on 1
3
4 2
5
7
1 6
L = [1,

2, 3, 4, 5, 6, 7], C = (4, 4, 3, 1, 1).
Iteraci on 2
3
4 2
5
7
1 6
L = [1, 3, 4,

5, 6, 7], C = (4, 3, 1, 1).
Iteraci on 3
3
4 2
5
7
1 6
L = [1, 3,

4, 6, 7], C = (3, 1, 1).

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Iteraci on 4
3
4 2
5
7
1 6
L = [1,

3, 6, 7], C = (1, 1).
Iteraci on 5
3
4 2
5
7
1 6
L = [1,

6, 7], C = (1).
Paso Final
3
4 2
5
7
1 6
L = [1, 7], C = ().

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz

Arbol con raz


Denicion
Un arbol con raz es un grafo dirigido en el cual un vertice en
particular se designa como raz y el grafo no dirigido asociado es
un arbol.
Represetacion graca: El vertice raz se coloca encima de los
restantes vertices, los cuales se sit uan por niveles seg un su
distancia a la raz.
r
b c
d e
f
g

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Denicion
Sea T un arbol con raz r.
Cualquier nodo en el camino de la raz a v es un antecesor de
v.
Si x es un antecesor de v, entonces v es un descendiente de x .
Si (u, v) es el ultimo arco en el camino de la raz a v,
entonces u es el padre de v y v es el hijo de u. La raz es el
unico nodo sin padre.
Un nodo sin hijos es un nodo externo u hoja.
Los nodos no hojas son nodos internos.
El nivel del vertice v es la longitud del camino de la raz a v.
Se llama altura de un arbol con raz a la maxima distancia de
un vertice a la raz.

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
a
nivel 0
b nivel 1
d nivel 2
e
f nivel 3
g
h
c
vertice raz: a
nodos internos: b, e
nodos externos u hojas: d, c, f, g, h
altura del arbol, h = 3
distancia del vertice a al vertice d, dist(a, d) = 2
hijos de b: d, e (b es padre de d y e)
antecesores del vertice f: b, e
descendientes del vertice b: e,f,g,h

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz

Arbol de decision
Tres monedas tienen la misma apariencia pero una de ellas es falsa
y tiene distinto peso. Se dispone tan solo de una balanza de
platillos sin pesas. Plantear el arbol de decision del problema de
encontrar la moneda falsa.
Notacion: moneda 1 m
1
, moneda 2 m
2
, moneda 3 m
3
m
1
m
2
m
1
m
3
m
1
m
1
> m
3
m
2
m
1
= m
3
NO
m
1
< m
3
m
1
> m
2
m
3
m
1
= m
2
m
2
m
3
m
2
m
2
> m
3
m
1
m
2
= m
3
NO
m
2
< m
3
m
1
< m
2

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Denicion
Un arbol m-ario es un arbol con raz en el que cada padre tiene a
los sumo m hijos.
Un arbol m-ario es completo si cada padre tiene exactamente m
hijos
Proposicion
El n umero de hojas de un arbol m-ario de altura h es a lo mas m
h
.
La altura de un arbol m-ario de l hojas es al menos log
m
l

Arboles

Arbol generador Codigo Pr ufer

Arboles con raz
Una arista frontera de un arbol con raz T en un grafo G es una
arista que tiene uno de sus extremos en T y el otro no esta en T.
a
b
d
a
b
d
c
Aristas frontera de T: {a, c}, {b, c}, {d, c}

También podría gustarte