Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matemticas Introduccin
Discretas Definicin:
Un rbol (libre) T es una grfica que satisface:
Si v y w son vrtices en T, entonces existe un nico
camino simple de v a w .
Captulo 6: Arbol con raiz es un rbol en el cual un vrtice
particular se designa como la raz.
Arboles
1 2
Arboles Arboles
Cont Cont
Un rbol es un grafo conexo y sin ciclos.
Graf
Campeona de
Wimbledon Propiedades:
Graf Seles Si G = (V,A) es un rbol de n vrtices, entonces:
Sabatini Graf Seles Navratilova
a) Para todo par de vrtices x e y existe un nico camino de x a
y.
b) Todas las aristas de G son puentes.
V1 c) A = n - 1.
V2 V3 d) Todo rbol tiene al menos dos hojas (vrtices de grado uno).
V4 V5 V6 V7
3 4
1
Arboles Arboles
Cont Cont
Uso tpico de los arboles: La terminologa
representacin de estructuras jerrquicas
Hijo: X es hijo de Y, s y solo s el nodo X es apuntado por Y.
organizaciones Tambin se dice que X es descendiente directo de Y.
rbol genealgico
directorios Padre: X es padre de Y s y solo s el nodo X apunta a Y.
acceso rpido a datos ordenados en nmero desconocido Tambin se dice que X es antecesor de Y.
como vectores ordenados respecto a vectores normales Hermano: Dos nodos sern hermanos si son descendientes
sistemas de ficheros avanzados directos de un mismo nodo.
elementos de representacin en juegos
sistemas de compresin Hoja: Se le llama hoja o terminal a aquellos nodos que no tienen
ramificaciones (hijos).
5 6
Arboles Arboles
Cont Cont
Cont... Cont...
Nodo Interior: Es un nodo que no es raz ni terminal. Altura: Es el nmero mximo de nivel, de todos los
nodos, que aparece en el rbol.
Grado: Es el nmero de descendientes directos de un
determinado nodo. Peso: Es el nmero de nodos del rbol sin contar la raz.
Grado del Arbol: Es el mximo grado de todos los nodos Longitud de Camino: Es el nmero de arcos que deben
ser recorridos para llegar desde la raz al nodo X. Por
del rbol. definicin la raz tiene longitud de camino 1, y sus
descendientes directos longitud de camino 2 y as
Nivel de un vrtice: Es el nmero de arcos que deben
sucesivamente.
ser recorridos para llegar a un determinado nodo. Por
definicin la raz tiene nivel 1. Es la longitud del camino
simple de la raz al nodo.
7 8
2
Arboles Arboles
Cont... Cont...
Cont... Cont...
Ejemplo 1: Ejercicio en clases:
Para el rbol dado los vrtices v1, v2, v3, v4, v5,v6, v7 Para el rbol T considere que la raz es e, g, d
tienen los niveles 0, 1, 1, 2, 2, 2, 2
La altura del rbol es 2 d
i
a g
b
e
V1 j
h
V2 V3 c f
V4 V5 V6 V7
9 10
Arboles Arboles
Cont Cont...
Terminologa y Caracterizaciones Cont...
Definicin:
Sea T un rbol con raz v0. Suponga que x, y y z son
Teorema:
vrtices en T y que (v0, v1, ..., vn) es un camino simple Sea T una grfica con n vrtices. Las siguientes
en T. Entonces: afirmaciones son equivalentes:
a) Vn-1 es el padre de vn
a) T es un rbol
b) v0, v1, ..., vn-1 son ancestros de vn.
c) Vn es un hijo de vn-1. b) T es conexa y acclica
d) Si x es un ancestro de y, y es un descendiente de x. c) T es conexa y tiene n-1 aristas
e) Si x y y son hijos de z, x y y son hermanos.
d) T es acclica y tiene n-1 aristas
f) Si x no tiene hijos, x es vrtice terminal (o una hoja)
g) Si x no es un vrtice terminal, x es un vrtice interno (o
una rama).
h) El subrbol de T con raz en x es la grfica con
conjunto de vrtices V y conjunto de aristas E, donde V
es x junto con los descendientes de xy 11 12
3
Arboles Arboles
13 14
Arboles Arboles
Cont Cont
Bsqueda a lo Ancho Cont...
La idea es procesar todos los vrtices de un nivel dado antes de pasar
al siguiente nivel superior.
Tomemos la grafica G del ejemplo:
Elegimos un orden (cualquiera) digamos abcdefgh, de los vrtices de G
Elegimos el primer vrtice a y lo etiquetamos como la raz, siendo T la
grafica formada por el nico vrtice a sin aristas.
Luego, agregamos a T todas las aristas (a,x) y los vrtices sobre los cuales
son incidentes, desde x = b hasta h, que no produzcan un ciclo al agregarse
a T.
Repetimos este procedimiento con los vrtices del nivel 1, examinndolos
en orden.
b: Incluir (b,d)
c: Incluir (c,e)
g: Ninguno
Repetimos el procedimiento con los vrtices del nivel 2:
d: Incluir (d,f)
e: Ninguno
Repetimos el procedimiento con los vrtices del nivel 3:
f: Incluir (f,h)
15 16
4
Arboles Arboles
Cont Cont
Bsqueda a Profundidad Retroceso Cont...
Este mtodo pasa a los niveles sucesivos de un rbol en la primera
oportunidad posible.
a) Elegimos el primer vrtice a y lo llamamos la raz
b) Agregamos a nuestro rbol la arista (a, x) con x mnimo. En
nuestro caso, agregamos la arista (a, b)
c) Repetimos este proceso. Agregamos las aristas (b, d) (d, c) (c, e)
(e, f) y (f, h)
d) Aqu nos damos cuenta que no podemos agregar (h, x), as que
retrocedemos al padre f de h e intentamos agregar una arista de la
forma (f, x)
e) Nuevamente, no podemos lograr esto, de modo que regresamos
al padre e de f.
f) Ahora podemos agregar la arista (e, g).
g) En este momento no se pueden agregar mas aristas, de modo que
finalmente retrocedemos hasta la raz y el procedimiento concluye
17 18
Arboles Arboles
Cont... Cont
Ejemplo: Algoritmo.
proceedure four_queens ( row )
Problema de las cuatro reinas K := 1 // se comienza en la columna 1
El problema consiste en colocar 4 fichas en // row (k) se incrementa antes de utilizarse, de modo que comenzamos en
el regln 1
cuadriculas 4*4 de modo que no haya 2 fichas en el row (1):= 0
mismo rengln, la misma columna o en diagonal. While k >0 do
La idea es colocar las fichas de manera sucesiva en Begin
las columnas. Cuando no sea posible colocar las Row (k): = row (k) +1
fichas en la una columna, retrocedemos y ajustamos // se busca un movimiento vlido en la columna k
la ficha de la columna anterior. While row (k ) < 4 and hay conflicto en la columna k , rengln row (k) do
// se intenta con el siguiente rengln
Entrada: Un arreglo row de tamao 4. row (k) := row (k) +1
Salida: true, si existe una solucin
false, si no existe solucin
19 20
5
0 0 0 0
Arboles Arboles
0 0 0 0
0 0 0 0
Cont Cont... 0 0 0 0
1 0 0 0 0 0 0 0
Cont... 1 5
0 0 0 0 1 0 0 0
If row (k) <4 then 0 0 0 0 0 0 0 0
//se ha determinado un movimiento vlido en la columna k
0 0 0 0 0 0 0 0
if k = 4 then //solucin concluida
return(true) 6 0 0 0 0
1 0 0 0 3 1 0 0 0
else //siguiente columna 2 1 0 0 0
0 0 0 0 0 0 0 0
begin 0 1 0 0 0 0 0 0
0 0 0 0
k : = k +1 0 1 0 0
0 0 0 0 0 1 0 0
row (k) : =0 7 0 0 1 0
end 4 1 0 0 0
1 0 0 0
else // se retrocede a la columna anterior 0 0 1 0
0 0 0 0
k:=k-1 0 0 0 0
0 1 0 0
End 0 1 0 0
return(false) // no existe solucin 8 0 0 1 0 soluci
solucin
End four_ queens 1 0 0 0
0 0 0 1
21 22
0 1 0 0
Arboles Arboles
5
Mtodos de Identificacin de rboles de 2
3 C 1
Expansin Mnima D
6
Metodo de PRIM
E 3 6
Metodo de Kruskal
2 F
23 24
6
Arboles Arboles
Cont... Cont...
Solucin: Algoritmo de Prim
La solucin se puede representar por medio de una subgrafica
que debe ser un rbol de expansin, pues debe contener a todos Es utilizado para determinar un rbol de expansin mnimo,
los vrtices, debe ser conexa para llegar a una ciudad desde agregando aristas de peso mnimo que no formen un ciclo
cualquier otra y debe tener un nico camino simple entre cada
par de vrtices. en el rbol en cuestin, esto se hace de manera iterativa.
B 4 B
A 4 A Entrada: Una grafica conexa con pesos con vrtices 1,....n y
5
vrtice inicial s. Cada arista (i,j) tiene un peso w(i,j), si no
2 3 2 existe arista, entonces w(i,j) = inf.
C D C D
Salida: Un conjunto de aristas E en un rbol de expansin
6 1
E 3 E mnimo.
F 2 F
Arboles Arboles
Cont Cont
Algoritmo. Algoritmo.
8. for j:=1 to n do
procedure prim (w,n,s)
9. if v(j)=1 then //j es un vertice en el a.e.m.
//v(i)=1 si el vrtice se agreg al rbol de expansin mnimo 10. for k=1 to n do
//v(i)=0 si el vrtice no se agreg 11. if v(k)=0 and w(j,k)<min then
1. for i:=1 to n do 12. begin
2. v(i)=0 //todos los vertices no han sido agregados 13. add_vertex:=k
14. e:=(j,k)
3. v(s):=1 //se agrega el vrtice inicial al rbol de exp. minim. 15. min:=w(j,k)
4. E:= //Se comienza con un conjunto de aristas vaco 16. end
//Se colocan n-1 aristas en el rbol de expansin mnimo. //se agregan el vertice y la arista al arbol de expansion minima
5. for i:=1 to n-1 do 17. v(add_vertex):=1
18. E:=E U {e}
6. begin
19. end
//se agrega la arista de peso mnimo que tenga un vrtice en el 20. return(E)
a.e.m. y otro vrtice que no este en el a.e.m 21. end prim
7. min:=inf
27 28
7
Arboles Arboles
Cont... Cont...
Vrtice Inicial A Ejecutamos nuevamente el ciclo for de las lneas 8-16, las
aristas con un vrtice en el rbol y otro fuera del rbol son:
Las aristas con un vrtice en el rbol y otro fuera del rbol son: (A,B) 4
(A,B) 4 (A,E) 3 Escogemos la arista (C,D) y la
(A,C) 2 Escogemos la arista A,C pues tiene el (C,D) 1 agregamos a E
(A,E) 3 menor peso y la agregamos a E. (C,E) 6
(C,F) 3
4
B A
A
A 2
5 C
3
2
C
2
1
D
6 1
E 3 6 C
2
D
F
29 30
Arboles Arboles
Cont... Cont...
Ejecutamos el ciclo 8-16 y tenemos dos aristas con el Ejecutamos el ciclo 8-16 para escoger otra arista con peso
mnimo y con un vrtice en el a.e.m. y otro fuera.
mismo peso, sin importar la arista elegida obtendremos
(A,B) 4
el a.e.m.
(D,B) 5
(A,B) 4
(C,F) 3
(A,E) 3 Escogemos la arista (A,E) y la
(D,F) 6
agregamos a E Escogemos la arista (E,F) y la
(D,B) 5 (E,F) 2 agregamos a E
(C,E) 6 A A
(C,F) 3 3
2 3
2
C C E
(D,F) 6 E
1 1 2
D 31 D F 32
8
Arboles Arboles
Cont... Cont...
Ejecutamos el ciclo 8-16 para escoger otra arista con peso
mnimo y con un vrtice en el a.e.m. y otro fuera. A
B
En las lneas 17 y 18 se agrega el vertice B al a.e.m y la arista A 4
2 3
(A,B) se agrega al conjunto E 5 4
(A,B) 4 Escogemos la arista (A,B) 2 C
3 C 1
E
(D,B) 5 D
6
A 1 B
E 3 6 2
2 3
C E 2 F D
4 F
GRFICA G(V,E) RBOL DE EXPANSIN
MINIMA DE G(V,E)
1 2
B
D F
33 34
Arboles Arboles
9
Arboles Arboles
Cont... Cont
37 38
Arboles Arboles
Cont Cont
Demostracin: Teorema:
Existe un vrtice que no es hijo de nadie: la raz. Si un rbol binario de altura h tiene t vrtices
Existen i vrtices internos, cada uno de los cuales tienen terminales, entonces
lg2 t h
dos hijos, existen 2i hijos.
As la cantidad total de vrtices de T es 2i+1 y el nmero
de vrtices terminales es Ejemplo:
(2i+1) i = i + 1 El rbol binario de la siguiente figura tiene altura h = 3 y el
nmero de vrtices terminales es t = 8.
Para este rbol, la desigualdad del teorema anterior se
convierte en una igualdad
39 40
10
Arboles Arboles
Cont Cont
41 42
Arboles Arboles
Cont... Cont...
if v no tiene hijo izquierdo then
Construccin de un algoritmo de bsqueda binaria begin
Este algoritmo construye un rbol de bsqueda binaria. La entrada se lee en el orden agregar un hijo izquierdo l a v HIJO
con el cual fue enviada. Despus de leer cada palabra, sta se inserta en el rbol. guardar wi en l IZQUIERDO
search:= false //fin de la bsqueda
Entrada: Una sucesin w1,.,wn de palabras distintas y la longitud n de la sucesin.
end
Salida: Un rbol de bsqueda binaria T
else
v:= hijo izquierdo de v
procedure make_bin_search_tree(w,n) else //wi > s
Sea T el rbol con un vrtice, root if v no tiene hijo derecho then
Guardar w1 en root begin
agregar un hijo derecho r a v HIJO
For i := 2 to n do
guardar wi en r DERECHO
begin search:= false //fin de bsqueda
v:= root end
search:= true //encontrar un lugar para w1 else
while search do v:= hijo derecho de v
begin end //mientras
end // para
s:= palabra en v
return (T)
if wi < s then end make_bin_ search_ tree
43 44
11
Arboles Arboles
Cont... Cont...
FOUR
Ejercicio:
Coloque las palabras FOUR SCORE AND
SEVEN YEARS AGO OUR FOREFATHERS
AND SCORE
BROUGHT FORTH, en orden de aparicin, en un
rbol de busca binaria.
AGO FOREFATHERS OUR SEVEN
45 46
Arboles Arboles
Cont... Cont...
12
Arboles Arboles
Cont... Cont...
else
Root = FOUR s: =palabra en v Root = FOUR
v: = hijo derecho
for i: = 4 to n do s : = SCORE =ROOT=V for i: = 5 to n do
v: = SEVEN ( Return to while )
v: = root =FOUR W 4 = SEVEN v: = root =FOUR
while search do
search: = true
search: = true if W i < s (SEVEN < SCORE ) falso while search do
begin
while search do else // W i > s s: =palabra en v
begin
begin si no tiene hijo derecho entonces s : = SEVEN =ROOT=V
s: =palabra en v
W5 =YEARS
s: =palabra en v W 4 = hijo derecho s : =FOUR =ROOT=V
if Wi < s (YEARS < SEVEN ) falso
s : =FOUR =ROOT=V W5 = YEARS
else // Wi > s
if Wi < s (YEARS < FOUR) falso
W 4 = SEVEN si no tiene hijo derecho entonces
if W i < s (SEVEN < FOUR) falso
else // Wi > s
si no tiene hijo derecho agregamos
FOUR W5 = hijo derecho
else // W i > s
si no tiene hijo derecho agregamos
FOUR pero como v si tiene hijo derecho entonces
end
pero como v si tiene hijo derecho entonces else
end v: = hijo derecho AND SCORE
v: = SCORE ( Return to while )
else
v: = hijo derecho
AND SCORE while search do
begin
v: = SCORE ( Return to while )
while search do
s: =palabra en v
s : = SCORE =ROOT=V
SEVEN
W5 =YEARS
begin SEVEN if Wi < s (YEARS < SCORE ) falso
else // Wi > s
si no tiene hijo derecho agregamos, pero
como v si tiene hijo derecho entonces:
YEARS
end
49 50
Arboles Arboles
Cont... Cont...
Root = FOUR Root = FOUR
for i: = 6 to n do for i: = 7 to n do
v: = root =FOUR v: = root =FOUR
search: = true search: = true
while search do while search do
begin FOUR begin
s: =palabra en v
FOUR
s: =palabra en v s : =FOUR =ROOT=V
s : =FOUR =ROOT=V W2 = OUR
W5 = AGO if Wi < s (OUR < FOUR) falso
if Wi < s (AGO < FOUR) verdadero
AND SCORE else // W7 > s AND SCORE
si no tiene hijo izquierdo agregamos si no tiene hijo derecho agregamos
pero como v si tiene hijo izquierdo pero como v si tiene hijo derecho
entonces
entonces end
end
AGO SEVEN else AGO OUR SEVEN
else v: = hijo derecho
v: = hijo izquierdo v: = SCORE ( Return to while )
while search do
v: = AND ( Return to while )
while search do YEARS
begin
s: =palabra en v YEARS
begin s : = SCORE =ROOT=V
s: =palabra en v W7 = OUR
s : = AND =ROOT=V if Wi < s (OUR < SCORE ) verdadero
W 6 =AGO si no tiene hijo izquierdo entonces
W7 = hijo izquierdo
if W i < s (AGO < AND ) verdadero
Si v no tiene hijo izquierdo entonces
51 52
W 6 = hijo izquierdo
13
Arboles Arboles
Cont... Cont...
Root = FOUR
for i: = 8 to n do Root = FOUR s: =palabra en v
v: = root =FOUR for i: = 9 to n do s : = AND =ROOT=V
search: = true
while search do
v: = root =FOUR W 9 = BROUGHT
begin search: = true if W i < s (BROUGHT < AND) falso
s: =palabra en v while search do else // W i > s
s : =FOUR =ROOT=V
W8 = FOREFATHERS
FOUR begin si no tiene hijo derecho agregamos
pero como v si tiene hijo derecho entonces
s: =palabra en v
if Wi < s (FOREFATHERS < FOUR) verdadero end
si no tiene hijo izquierdo agregamos
s : =FOUR =ROOT=V
pero como v si tiene hijo izquierdo W 9 = BROUGHT else
entonces AND SCORE if W i < s (BROUGHT < FOUR) verdadero v: = hijo derecho
end si no tiene hijo izquierdo agregamos v: = FOREFATHERS ( Return to while )
else pero como v si tiene hijo izquierdo entonces while search do
v: = hijo izquierdo end begin
v: = AND ( Return to while )
while search do AGO FOREFATHERS OUR SEVEN else
v: = hijo izquierdo
s: =palabra en v
begin s : = FOREFATHERS =ROOT=V
s: =palabra en v v: = AND ( Return to while ) W 9 = BROUGHT
s : = AND =ROOT=V while search do if W i < s (BROUGHT <
W8 = FOREFATHERS
if Wi < s (FOREFATHERS < AND) falso
YEARS begin FOREFATHERS) verdadero
si no tiene hijo izquierdo entonces
else // W i > s
W 9 = hijo izquierdo
si no tiene hijo derecho entonces
W8 =Hijo derecho
53 54
Arboles Arboles
Cont...
Root = FOUR s: =palabra en v
for i: = 10 to n do s : = AND =ROOT=V
v: = root =FOUR W 10 = FORTH
search: = true if W i < s (FORTH < AND) falso
FOUR while search do
begin
else // W i > s
si no tiene hijo derecho agregamos
s: =palabra en v pero como v si tiene hijo derecho entonces
s : =FOUR =ROOT=V end
AND SCORE W 10 = FORTH
if W i < s (FORTH < FOUR) verdadero
else
v: = hijo derecho
si no tiene hijo izquierdo agregamos v: = FOREFATHERS ( Return to while )
pero como v si tiene hijo izquierdo entonces while search do
end
AGO FOREFATHERS OUR SEVEN else
begin
s: =palabra en v
v: = hijo izquierdo s : = FOREFATHERS =ROOT=V
v: = AND ( Return to while ) W 10 = FORTH
BROUGHT YEARS while search do
begin
if W i < s (FORTH < FOREFATHERS) falso
else // W i > s
si no tiene hijo derecho entonces
W 10= hijo derecho
END
55 56
14
Arboles rboles
Algoritmo para la Conversin de un rbol
General a un rbol Binario
57 58
rboles Arboles
59 60
15
Arboles Arboles
Cont... Cont...
Cont...
Recorrido en Preorden Examinaremos el algoritmo para este caso sencillo:
Este algoritmo procesa los vrtices de un rbol binario utilizando Si el rbol binario es vaco (no tiene hijos ) el algoritmo no procesa nada.
el recorrido en preorden.
Decimos que PT es igual a la raz (A) procesamos la raz en la lnea 3.
procedure preorden(PT)
1. if PT es vaco then En la lnea 5 llamamos a preorden con PT igual al hijo Izquierdo de la
2. return raz. Vimos que si la entrada de preorden consta de un nico vrtice
preoden procesa ese vrtice, as a continuacin procesamos el vrtice B
3. procesar PT y luego en la lnea 7 procesamos el vrtice C.
4. l:=hijo izquierdo de PT
5. preorden(l)
6. r:=hijo derecho de PT A
7. preorden(r)
end preorden
B C
61 62
7.6.1
Arboles Arboles
Cont... Cont...
63 64
16
Arboles Arboles
Cont... Cont...
Cont... Cont...
Examinaremos el algoritmo para este caso sencillo:
Si el rbol binario es vaco (no tiene hijos ) el algoritmo no Ejemplo: A
procesa nada. El entreorden
Decimos que PT es igual a la raz (B) procesamos la raz en la B F
lnea 3. para este rbol
En la lnea 4 llamamos a entreorden con PT igual al hijo es: C D G
Izquierdo de la raz. Vimos que si la entrada de entreorden CBDEAFIHJG
consta de un nico vrtice entreorden procesa ese vrtice, as a
continuacin procesamos el vrtice A y luego en la lnea 7 E H
procesamos el vrtice C.
A I J
B C
65 66
7.6.1
Arboles Arboles
Cont... Cont...
El posorden para B F
procedure posorden(PT) este rbol es:
1. if PT es vaco then
2. return CEDBIJHGFA C D G
3. l:=hijo izquierdo de PT
4. posorden(l) E
H
5. r:=hijo derecho de PT
6. posorden(r)
7. procesar PT I J
end posorden
67 68
17
Arboles Arboles
Cont... Cont...
69 70
Arboles Arboles
Cont... Cont...
Cont... Cont...
En el subrbol raz el operador de - Si recorremos el rbol en entreorden, obtenemos (e
divisin opera sobre los operandos insertamos un par de parntesis para cada operacin)
D y E. * / (((A + B) * C ) (D / E ))
Esta es la forma con todos los parntesis de la expresin.
En el subrbol cuya raz es * el + CD E
No es necesario especificar cuales operaciones deben
operador de la multiplicacin opera
A B
realizarse antes que las dems, pues los parntesis indican
sobre el subrbol encabezado por + el orden.
que a su vez representa una
expresin y C. -
* /
+ CD E
71 72
A B
18
Arboles Arboles
Cont... Cont...
Cont... Cont...
Si recorremos el rbol en posorden (notacin polaca inversa), Se puede obtener una tercera forma de representacin
obtenemos aplicando el recorrido en forma prefija (notacin polaca).
AB + C * DE / - - * + ABC / DE
Esta es la forma posfija de la expresin, aqu el operador se coloca
despus de los operandos. Esta forma al igual que la anterior no necesita de parntesis
La ventaja de la forma posfija es que no se necesitan parntesis en acerca del orden de las operaciones
relacin con el orden de las operaciones.
- -
* / * /
+ CD E + CD E
73 74
A B A B
Arboles Arboles
19
Arboles Arboles
Cont... Cont...
Ejemplo: Cont...
Los rboles T1 y T2 de la siguiente figura no son Existen rboles no isomorfos con cinco vrtices.
isomorfos, pues T2 tiene un vrtice (X) de grado 3, pero T1 El rbol tiene cuatro aristas.
no tien un vrtice de grado 3. Si tuviera un vrtice v mayor que 4, v incidira en ms de
cuatro aristas.
Cada vrtice en el rbol tiene 4 aristas como mximo.
v w x y Determinaremos todos los rboles no isomorfos con cinco
a b c d e
vrtices, en que el grado mximo de los vrtices sea 4.
T1 T2 Luego determinaremos todos los rboles no isomorfos
z con cinco vrtices en los cuales el grado mximo de los
vrtice sea tres.
77 78
Arboles Arboles
Cont... Cont...
79 80
20
Arboles Arboles
Cont... Cont...
Ejemplo: Ejemplo:
rboles con raz T1y T2, son isomorfos.
rboles con raz T1y T2, NO son isomorfos.
V1 W1
V1 W1
V2 V4 W2 W4 V2 V4 W2
W3 W3
V3
V3
V5 V7 W7
V6 W5 W6
V5 W4 W5
81 82
Arboles Arboles
Cont... Cont...
V3 V4
W3 W4
a) Los vrtices v1 y v2 son adyacentes en T1 si y slo si
los vrtices f(vi) y f(vj) son adyacentes en T2. T1 T2
b) f(r1) = r2
c) v es un hijo izquierdo de w en T1, si y solo si f(v) es un
hijo izquierdo de f(w) en T2.
d) v es un hijo derecho de w en T1, si y solo si f(v) es un
hijo derecho de f(w) en T2.
83 84
21
Arboles
Cont...
Cont...
Ejemplo:
Los rboles binarios T1 y T2 no son isomorfos. La raz de v1 de
T1 tiene un hijo izquierdo pero la raz w1 de T1 no tiene un hijo
derecho.
W1
V1
V2 W2
V3 V4
W3 W4
T1 T2
85
22