You are on page 1of 38

GRAFOS, DGRAFOS Y RBOLES

GRAFOS, DGRAFOS Y RBOLES


A modo de introduccin al tema central de esta unidad, vamos a remontarnos al origen de la teora de Grafos:
A lo largo de los siglos, el problema de los Puentes de KNIGSBERG ha despertado el inters de muchos, en
especial de los matemticos.
En el siglo XVIII, la ciudad de KNIGSBERG, situada a orillas del ro Pregel, y las dos islas sobre el ro que tambin
eran parte de la ciudad, estaban conectadas a travs de siete puentes, como observamos en el siguiente esquema:

Un problema que intrigaba a sus habitantes era si exista un camino para poder cruzar todos los puentes pasando
una sola vez por cada uno. Si bien esto era solamente un entretenimiento dominical para muchos, en 1736 el
matemtico Leonhard Euler descubri y desarroll la teora de Grafos, con la cual pudo responder este interrogante.
Esta teora signific adems un gran avance para la matemtica.
La teora de Grafos actualmente se utiliza en diversos campos y tiene muchas aplicaciones, tanto en Ciencias
Sociales, Lingstica, Fsica, Qumica, Arquitectura y, tal vez lo que ms nos interesa a nosotros, en
Comunicaciones, Ingeniera e Informtica.
Los grafos son muy utilizados para modelar problemas pertenecientes a distintas disciplinas.
En ellos, como en todo modelo, se representan las caractersticas relevantes del problema o la aplicacin del mundo
real y se ignoran los detalles irrelevantes.
Para comenzar con una idea de lo que es un grafo, pensemos que es un conjunto de puntos o vrtices unidos por
aristas, que pueden tener sentido o no.

Otro ejemplo de la utilizacin de grafos lo encontramos en los mapas de carreteras.

Ejemplo
Supongamos que nos interesa encontrar la distancia mnima entre dos ciudades dadas.
Las ciudades sern los vrtices del grafo y las carreteras que la comunican se representarn como aristas.

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Tenemos que encontrar el camino mnimo entre dos vrtices. Para ello existen algoritmos que nos permiten hacerlo.
A modo de ejemplo, tomamos el grafo de las autopistas principales del oeste de Canad:

De mismo modo, para los diseos urbansticos y de transportes tambin se utilizan grafos que a travs de la
simulacin por computadora de sistemas de trnsito (desde redes nacionales, calles en una ciudad e incluso
circulacin de puentes o cruce de carreteras) tienen por objetivo detectar puntos negros para sugerir cambios o
nuevos sistemas.
Tambin podemos pensar que en un pueblo, la ubicacin del cuartel de bomberos debe hacerse de forma tal de
minimizar las distancias o recorridos hacia el resto del pueblo. Y esto se logra mediante el anlisis de un grafo que
modeliza tal situacin.
Una de las primeras aplicaciones por computadora de los grafos se orient a la planificacin de proyectos para
describir, representar y analizar situaciones muy complejas que constan de muchas actividades relacionadas entre s.

Ejemplo
Consideremos una compaa constructora de casas prefabricadas que se trasladan y se asientan sobre cimientos de
hormign en las parcelas adquiridas al efecto.
El proyecto comienza por la seleccin y adquisicin de un terreno edificable y por la seleccin del tipo de casa que
se desee (con la preparacin de planos).
Luego se van encadenando las actividades, algunas de las cuales es necesario completar antes de comenzar la
siguiente tarea.
El grafo de tareas resultante es el siguiente:

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Con este grafo, se pueden identificar las tareas crticas, es decir aquellas cuya demora en su inicio afecta la
duracin del proyecto total, y obtener con ellas un camino crtico.

Veamos otro ejemplo:


Antes de comenzar con las definiciones formales, construyamos un grafo que represente el funcionamiento de una
mquina muy simple de caramelos, con las siguientes reglas:
a) cada caramelo cuesta $ 0.15
b) la mquina acepta slo monedas de $ 0.10 y de $ 0.05
c) la mquina NO da vuelto
Para construir el grafo, debemos considerar distintos estados de dinero ingresado, y como se va pasando de uno
a otro.
Por ejemplo, si en un momento tenemos ingresados 5 centavos, y agregamos 5 centavos ms, pasamos a otro
estado, que es el mismo que si hubisemos ingresado 10 centavos al principio.
Llamemos A, B, C y D a los estados que representan 0, 5, 10 y 15 centavos ingresados respectivamente.
Las transiciones de un estado a otro se harn por ingreso de 5 o 10 centavos, o al presionar el botn para obtener
los caramelos (P).
Podemos representar la situacin con el siguiente grafo dirigido:

P
A

0.10
P

P
0.05

0.05

.05
0.05
0.10

D
0.10

0.10
P

Tambin hay un tipo especial de grafos que se llaman rboles y tienen muchas aplicaciones. Por ejemplo, con ellos
se puede representar el organigrama de una empresa, los niveles sintcticos de una frase, utilizar rboles como
estructuras de datos en informtica, y muchas aplicaciones ms.
Ahora que hemos visto algunas aplicaciones de grafos y nos planteamos ciertas cuestiones como la de los puentes
de Konigsberg o cmo hallar un camino mnimo, veamos las definiciones y propiedades principales de los grafos,
dgrafos y rboles.

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Un grafo es una estructura formada por vrtices unidos a travs de aristas y se utiliza para representar
determinadas situaciones. Formalmente se define como una estructura algebraica de la siguiente forma:
Un grafo es una terna G = ( V ; A ;

) siendo:

V: el conjunto de vrtices V
A: el conjunto de aristas A
: la funcin de incidencia : A

V(2)

V(2) es el conjunto formado por subconjuntos de 1 o 2 elementos de V.

Ejemplo:
V = {v1, v2, v3, v4, v5}
(a1)={v1,v2} ,

A = {a1, a2, a3, a4, a5}

(a2) ={v3} ,

(a3)={v4,v2} ,

(a4)={v1,v3 } ,

(a5)={ v1,v2}

Se puede diagramar de la siguiente forma:

a5
a1

a3

v2

v1

v4

a2
a4

v3

v5

A partir de aqu presentamos una serie de definiciones relativas a vrtices y aristas:

VRTICES ADYA
ADYACENTES:
ACENTES: vi es adyacente a vj
ak
Es decir son aquellos vrtices unidos por alguna arista.

A tal que

(ak) = {vi, vj}

En el ejemplo, v2 es adyacente a v1 y a v4 pero no a v3


VRTICE AISLADO: el que no es adyacente a ningn otro.
En el ejemplo: v5 es aislado.
ARISTAS
ARISTA
TAAS PARALELAS: ai es paralela a aj

(ai) =

(aaj) siendo ai

aj

Es decir son aquellas comprendidas entre los mismos vrtices.

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

En el ejemplo, a1 y a5 son paralelas, estn comprendidas entre los mismos vrtices.


ARISTAS
ARISTA
TAAS ADYA
ADYACENTES:
ACENTES: las que tienen un nico vrtice en comn siendo distintas y no paralelas.
En el ejemplo, a1 es adyacente a a3
BUCLES o LAZOS: las aristas comprendidas en un mismo vrtice.
En el ejemplo, a2 es un bucle.
ARISTAS
ARISTA
TAAS INCIDENTES EN UN VRTICE: las que tienen a dicho vrtice por extremo.
En el ejemplo, las aristas a1, a3 y a5 son incidentes en el vrtice v2
GRAFO SIMPLE: el que no tiene aristas paralelas ni bucles.

Es importante observar que en la definicin de grafo no se especifica la longitud o forma de las aristas ni su
posicin, como as tampoco el orden o ubicacin de los vrtices.
Por ello, NO EXISTE un NICO DIAGRAMA que represente un grafo.
El mismo grafo del ejemplo anterior puede representarse por este otro diagrama

V5

V4

a2

a5

a3

a1

V1

a4

V3

V2

...y de muchas formas ms, pero siempre respetando las incidencias entre aristas y vrtices.
Cuando se quieren programar algoritmos que utilizan grafos se necesita una representacin no grfica que pueda
utilizarse en la computadora, por ello a continuacin veremos la forma matricial de los grafos. Ellos pueden
representarse a travs de dos matrices: la de adyacencia y la de incidencia.

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

MATRIZ DE ADYACENCIA:
Sea un grafo G = ( V ; A ;

) con V = { v1, v2, , vn } y A = { a1, a2, , am }

Se define la matriz de adyacencia de G a una matriz booleana de nxn:


Ma(G) = (( mij )) tal que mij =

si v es adyacente a v
i
j
0 si v no es adyacente a v
i
j

Ejemplo:
0 1 0 1 1

a6
2

a3

Ma(G) =

a7

a4
a2

0 1 0 1 1
1 1 1 0 1
1 0 1 1 0

a8

a1

1 0 1 1 0

a5
5

MATRIZ DE INCIDENCIA:
Sea un grafo G = ( V ; A ;

) con V = { v1, v2, , vn } y A = { a1, a2, , am }

Se define la matriz de incidencia de G a una matriz booleana de nxm:

Mi(G) = (( mij )) tal que mij =

si v i es incidente a a j
0 si v i no es incidente a a j

Ejemplo:

1 1 0 1 0 0 0 0
1 0 1 0 0 1 0 0
Para el mismo grafo anterior:

Mi(G) = 0 0 1 0 0 0 1 1
0 0 0 1 1 1 1 0

0 1 0 0 1 0 0 1

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Otro concepto muy importante y til en relacin con los grafos es la cantidad de aristas incidentes en un vrtice. Por
ejemplo, si los vrtices son computadoras unidas en red, queremos conocer con cuntas se conecta cada una. Ello
se define como grado o valencia de cada vrtice. Veamos la definicin:

Sea un grafo G = ( V ; A ; )
La funcin grado: g: V
N0 tal que g(vi) = cantidad de aristas incidentes en vi

Nota: los bucles se cuentan doblemente.

En el ejemplo anterior:
U

a5
g(v1) = 3
g(v2) = 3
g(v3) = 3
g(v4) = 1
g(v5) = 0

a1

a3

v2

v1

v4

a2
a4

v3

v5

Observemos que en un grafo simple un vrtice es aislado si y slo si su grado es cero:


v es aislado
g(v) = 0
En un grafo simple se denomina vrtice colgante o pendiente al que tiene grado igual a uno.
Como cada arista hace incrementar en uno el grado de cada vrtice de sus extremos (si son distintos) o en 2 si se
trata de un bucle, al sumar todos los grados de los vrtices, estamos considerando cada arista dos veces, o sea
que podemos enunciar la siguiente propiedad:
Propiedad:
En todo grafo se cumple que la suma de los grados de los vrtices es igual al doble de la cantidad de aristas.
En smbolos:

g(vi)= 2 A

Esta propiedad podes demost


rarla usando induccin matemtica.
tienes
Si
tutor o busca informacin en la bibliografa, en el captulo 17.

consulta con el

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplo:
Cul es la cantidad total de vrtices de un grafo que tiene 2 vrtices de grado 4, 1 de grado 3, 5 de grado 2 y el
resto colgantes (de grado 1) sabiendo que en total hay 12 aristas?
Solucin:
Usando la propiedad anterior: 2 4 + 1 3 + 5 2 + x 1 = 2 12
0B

Resolviendo: 21 + x = 24

x = 3 (cantidad de vrtices colgantes)

Por lo tanto la cantidad total de vrtices es:

V = 11

UNA forma posible de dibujar este grafo sera:

Te animas a dibujar otras posibilidades?

Supongamos que tenemos un grafo cuyos vrtices representan distintas ciudades y las aristas son las carreteras que
las unen. Puede interesarnos encontrar un camino entre dos ciudades dadas, aunque entre ellas no exista una
carretera que las una, pero s pasando en forma intermedia por otras ciudades. Ello nos lleva al concepto de
caminos en un grafo.
CAMINO: sucesin de aristas adyacentes distintas.
CICLO o circuito: camino cerrado. El vrtice inicial coincide con el final.
LONG
del camino: cantidad de aristas que lo componen.
CAMI
LE: si todos los vrtices son distintos.
CAMINO ELEMENTA
ELEMENTAL:
TAAL: si todas las aristas son distintas

Ejemplo:

e
c

g
f

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Si queremos sealar:
a) Grado de cada vrtice
b) 3 caminos de a hacia f
c) Ciclos de longitud 3, 4, 5 y 7
Tenemos que:

a) g(a) = 2 ; g(b) = 2 ; g(c) = 4 ; g(d) = 4 ; g(e) = 4 ; g(f) = 3 ; g(g) =1


b) Un posible camino es: C1= (a; b; c; f)
Long(C1) = 3 porque usamos 3 aristas
b

Muchas veces resulta til nombrar los vrtices y las aristas. En el ejemplo anterior quedara:

C1= (a; 1; b; 2; c; 3; f)

Otro camino entre los mismos vrtices puede ser:

C2= (a; 5; d; 6; c; 4; e; 8; e; 9; f)

Long(C2) = 5
a

4
c

10

7
Te animas a indicar otro?

8
c) Indiquemos algunos ciclos:

C1=(a; 1; b; 2; c; 6; d; 5; a)
Long(C1) = 4

2
c

3
f

10

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

C2=(c; 4; e; 9; f; 3 c)
Long(C2) = 3

4
c

10

C3=(a; 1; b; 2; c; 6; d; 7; d; 5; a)
Long(C3) = 5

4
c

e
9

3
f

10

C4=(a; 1; b; 2; c; 4; e; 9; f; 3; c; 6; d; 5; a)
Long(C4) = 7

8
1
a

2
c

6
d

3
f

10

7
Sintetizando:
Un grafo
grafo esesuna
unaestructura
estructura
formada
formada
porpor
un conjunto
un conjunto
de vrtices,
de vrtices,
un conjunto
un conjunto
de
s y arista
una
de
unaaristas
funcin de incidencia.
Los vrt
vrtices
ices que
queestn
estnun
idos
unidos
porpor
alguna
alguna
arista
ta aris
se dicen
dicenadyacentes,
adyacentes,
laslas
aristas
aristas
queque
itenetienen
n
un vrtice en comn son adyacentes.
En un grafo puede haber aristas paralel
paralelas,
las, bucles,
bucles,
vrtices
vrtices
aislados,
aislados,
etc.
etc.
Losgrafos
grafossesepueden
puedenrepresentar
representarforma
en
en forma
grfica a travs
a travs
de dia
gramas,
de diagramas,
y enforma
y en forma
matricial aa travs
travs de
de las
las matrices
matrices de
de adyacencia
adyacencia yy de
de incidencia
incidencia.
matricial
.
El grado
gradodedeun
unvrt
vrtice
ice es la
escant
la cantidad
idad de aristas
de aristas
queinciden
que inciden
en l. Laen
suma
l. La
de suma
todos los
de todos los
grados de
de los
los vrtices
vrtices de
de grafo
un grafo
es igual
al doble
la cantidad
de aristas.
grados
un
es igual
al doble
de lade
cantidad
de aristas.
Un camino entre dos vrtices degrafo
un grafo
es una
essecuencia
una secuencia
de aristas
deadyacentes
aristas adyacentes
entr
e
entre
camino
lo forman.
dichos vrtices. La longitud de un camin
o es la cantidad de aristas queforman.
Los ciclos son caminos cerrados, es rdecir
deci
que
e comienzan
comienzan
qu
yyterminan
terminanen
enel
elmismo
mismoevrtice
vrtic
.

10

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

A continuacin, veremos algunos tipos de grafos especiales: los grafos regulares, los completos y los bipartitos:

GRAFO K-REGULAR:

Sea un grafo G = (V; A; ) y k

N0

Se dice que G es k-regular

V: g(v) = k

Veamos las condiciones que debe cumplir para ser completo


GRAFOS COMPLETOS: los indicamos Kn

Sea n

N : Kn = (V; A; ) tal que

v, w

V: v

A:

(a) = {v, w}

O sea, los Kn son grafos simples de n vrtices en los cuales cada vrtice es adyacente a todos los
dems.

Algunos de ellos son:

K3

K4

K5

Ejercicio:
En una fiesta hay 8 personas que en un determinado momento llenan sus copas de sidra y brindan entre ellos,
todos con todos. Cuntos choques de copas hay en total?
Solucin:
Podemos considerar en K8, donde los vrtices son las personas y las aristas representan los choques de copas, ya
que cada persona choca su copa con todos los dems excepto con s mismo.
Utilizando la propiedad:

g(vi) = 2 A

11

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Como todos los vrtices tienen grado 7, nos queda:

8 7=2

A = 28

En total hay 28 choques de copas.


Para pensar:
1)

Los Kn son grafos k-regulares? Con qu valor de k?

2)

Qu particularidad tienen las matrices de adyacencia de los grafos Kn?

Intenta responder y si tienes dudas consulta a tu tutor.

GRAFOS BIPARTITOS:
Sea un grafo simple G = (V; A; ) con V ={v1, v2, ... , vn} y A ={a1, a2, ... , am}
Se dice que G es BIPARTITO

ai

A:

V = V1

(ai) = {v
vj , vk} con vj

V2 con V1
V1

vk

V2
V2 o vk

V1
V1

vj

V2 =
V2

Es decir, los grafos BIPARTITOS son grafos cuyo conjunto de vrtices est particionado en dos subconjuntos no
vacos y disjuntos: V1 y V2 tales que los vrtices de V1 pueden ser adyacentes a los vrtices de V2 pero los de un
mismo subconjunto no son adyacentes entre s.

Ejemplo:

En el siguiente grafo: V = {1, 2, 3, 4, 5}

V1 = {1, 2, 3}

V2 = {4, 5}

Vemos que todas las aristas que hay, tienen un


extremo en V1 y el otro en V2.
Por lo tanto es BIPARTITO.

4
2
5
3

Tengamos en cuenta que la definicin no exige que deba haber arista entre todo par de vrtices (uno de V1 y el
otro de V2) sino que pide que las aristas que existan deben estar comprendidas entre un vrtice de cada
subconjunto. En este ejemplo, no hay arista entre 2 y 4, lo cual estaba permitido.

12

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

GRAFOS BIPARTITOS COMPLETOS que indicamos Kn,m.


Como su nombre lo indica deben ser bipartitos y adems completos. Es decir, el conjunto de vrtices
debe estar particionado en dos subconjuntos, cada arista debe tener un vrtice de cada subconjunto y por
ser completos cada vrtice debe formar una arista con todos los dems. Pero atencin, con todos los
dems del subconjunto al que l no pertenece.
Por lo tanto son grafos bipartitos de n+m vrtices con TODAS las aristas posibles.

Ejemplos:

K3,3

K3,2

La definicin siguiente es necesaria para luego poder comprender otros conceptos.


SUBGRAFOS:

Dado un grafo G = (V; A; ) , se denomina subgrafo al grafo G = (V; A ; /A) tal que

/A es la funcin

restringida a A.

Para obtener subgrafos de un grafo dado se puede:


suprimir uno o varios vrtices y las aristas incidentes en ellos
suprimir solamente una o varias aristas.

~
Si se suprime un vrtice v, el subgrafo restante es G v
~
Si se suprime una arista a, el subgrafo restante es G a
Veamos algunos y tengamos en cuenta que un sugrafo es parte de un grafo

13

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplos: Dado el grafo: G = (V; A; )

e
c

Algunos subgrafos son:

G1:

G2:

c
d

Este se obtuvo de suprimir los


vrtices a, e y g.
1B

~
G1 = G B siendo B = { a, e, g }

e
g

Este se obtuvo de suprimir nicamente el vrtice c.

~
G2 = G c

Muchas veces, especialmente en el diseo de redes de comunicacin, es importante conocer si dos nodos
(vrtices) de la red estn conectados, es decir si existe algn camino entre ambos. Asimismo, en el diseo de
dichas redes se trata de evitar los puntos de corte, es decir aquellos nodos que si tienen algn problema de
funcionamiento interrumpen la comunicacin entre los otros (como el vrtice c del ejemplo anterior). Estos son
conceptos de grafos que veremos a continuacin:

RELACION DE CONEXIN:
Dado un grafo G = (V; A; ) , en el conjunto de vrtices se define la siguiente relacin:
camino de vi a vj vi = vj
vi R vj

14

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Esta relacin es de equivalencia y por lo tanto pueden hallarse las clases de equivalencia, a las que se denomina
COMPONENTES CONEXAS.
GRAFOS CONEXOS:
Un grafo es conexo si y slo si tiene una nica componente conexa.
Es decir, un grafo es conexo si y slo si existe algn camino entre todo par de vrtices.

Ejemplo 1:

Este grafo es conexo ya que de cualquier


vrtice se puede llegar a cualquier otro a
travs de un camino.

x
z
y

Ejemplo 2:
Este grafo NO es conexo pues no existe ningn camino entre los vrtices a y c.

c
a

15

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Sin embargo, est formado por dos subgrafos que cada uno de ellos s es conexo. Se llaman COMPONENTES
CONEXAS:

Una componente conexa:


a

La otra:

d
c
f

Continuemos con definiciones que nos permiten reconocer caractersticas en los grafos.

ISTMO O PUNTO DE CORTE


Dado un grafo G = (V; A; ) conexo, v

~
G v es no conexo

V es istmo

Es decir, un istmo es un vrtice tal que su supresin desconecta al grafo.


PUENTE
Dado un grafo G = (V; A; ) conexo, a

A es puente

~
G a es no conexo

Es decir, un puente es una arista tal que su supresin desconecta al grafo.


CONJUNTO DESCONECTA
DESCONECTANTE
TAANTE
Dado un grafo G = (V; A; ) conexo, B

A es desconectante

~
G B es no conexo

Es decir, un conjunto de aristas es desconectante si y slo si su supresin desconecta al grafo.


CONJUNTO DE CORTE
Un conjunto B desconectante es tambin de corte

B, C no es desconectante.

O sea, para ser conjunto de corte debe estar formado por el mnimo nmero de aristas, o bien solamente
por las necesarias para desconectar al grafo.
CONECTIVIDAD
Es el menor nmero de vrtices cuya supresin desconecta al grafo.

16

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplos:

t
x

Este grafo tiene conectividad = 1 ya que


suprimiendo el vrtice z o el w queda no
conexo ( z y w son istmos ).

z
y

Este grafo tiene conectividad = 2 pues


es necesario suprimir dos vrtices para
que el subgrafo restante sea no conexo,
por ejemplo suprimiendo los vrtices 3 y 5.

En los grafos conexos, tienen especial importancia algunos caminos que se denominan Eulerianos y otros
Hamiltonianos. Con ellos se pueden resolver problemas como el de los puentes de Konigsberg que citamos al
principio de esta unidad. Los veremos a continuacin:

GRAFOS EULERIANOS:

Se denomina c
ciclo que pasa por

uleriano al camino que pasa por todas las aristas una sola vez; y ciclo euleriano al
las aristas una sola vez.

La condicin necesaria y suficiente para que en un grafo exista camino euleriano es:
El grafo debe ser conexo, y
todos los vrtices deben tener grado par, o a lo sumo dos grado impar.
La condicin necesaria y suficiente para que en un grafo exista ciclo euleriano es:
El grafo debe ser conexo, y
todos los vrtices deben tener grado par.

17

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplos:

Este grafo tiene ciclo euleriano pues todos sus


vrtices tienen grado par.

Este grafo no tiene ciclo euleriano


pues hay dos vrtices de grado 3.
Tiene solo camino euleriano.

Ejemplo
Pensemos que queremos indicar un ciclo de Euler en el siguiente grafo.

A
1
11

6
9

B
10

7
C

5
D

E
3

4
F

Un posible ciclo de Euler es:

C1 = (A; 1; B; 2; D; 3; F; 4; E; 5; C; 6; A; 7; F; 8; C; 9; B; 10; F; 11; A)


Es el nico?
No, por ejemplo otro es:

C2 =(A; 11; F; 3; D; 2; B; 10; F; 4; E; 5; C; 8; F; 7; A; 6; C; 9; B; 1; A)

18

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

CAMINOS Y CICLOS HAMILTONIANOS:

Se denomina c

o al camino que pas

a vez por

ce.

Importante: no necesariamente va a pasar por todas las aristas, pues en muchos casos repetira vrtices y no sera
hamiltoniano.

Ejemplo:
En el mismo grafo anterior, marquemos algn ciclo hamiltoniano.
Un posible ciclo hamiltoniano es: ( A ; 1 ; B ; 2 ; D ; 3 ; F ; 4 ; E ; 5 ; C ; 6 ; A )

Te proponemos que dibujes un grafo conexo que:


1. Tenga camino de Euler y camino de Hamilton
2. Tenga camino de Euler y no tenga camino de Hamilton
3. No tenga camino de Euler y tampoco camino de Hamilton
4. No tenga camino de Euler y si tenga camino de Hamilton
Recuerda que si tienes dificultades puedes consultar con el tutor.
As como en Grupos y en Algebras de Boole estudiamos los isomorfismos, tambin es importante poder saber si
dos grafos son o no isomorfos. A continuacin daremos la definicin, condiciones y un ejemplo.

ISOMORFISMOS DE GRAFOS:
Dados dos grafos: G1 = (V1; A1;

1)

y G2 = (V2 ; A2 ;

2)

Se dice que son isomorf


isomorfos
fos si y solo si existen dos funciones
funciones biyectivas
U

f: V1
tales que:

V2

A1 :

2(

g : A1

A2

g(a) ) = f( 1(a))

Si no hay aristas paralelas, entonces es suficiente:

u, v

V1 : {u, v}

A1

{ f(u), f(v) }

A2

19

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Esto significa que si en el primer grafo hay una arista entre dos vrtices, los correspondientes a estos vrtices en el
segundo grafo tambin deben estar unidos por una arista.
En pocas palabras, dos grafos son isomorfos cuando tienen la misma estructura, es decir sus vrtices estn
relacionados de igual forma aunque estn dibujados de manera distinta.
Condiciones necesarias para que dos grafos sean isomorfos:
Deben tener la misma cantidad de vrtices.
Deben tener la misma cantidad de aristas.
Deben tener los mismos grados de los vrtices.
Deben tener cadenas de las mismas longitudes.
Si uno tiene ciclos, el otro tambin debe tenerlos.
Etc.
Observacin: las condiciones mencionadas son necesarias (es decir que s o s se deben cumplir para que los grafos
sean isomorfos) pero no son suficientes ( o sea que aunque se cumplan puede ser que los grafos no sean
isomorfos)
Para estar seguros que dos grafos son isomorfos, una condicin suficiente es que tengan la misma matriz de
adyacencia.

Por ejemplo:
Sean los grafos:

G1:

y G2:

A
C

Vamos a analizar si son isomorfos:


Ambos tienen 4 vrtices y 5 aristas.
Definamos la funcin biyectiva, haciendo corresponder los vrtices con iguales grados:

f(A) = Y ; f(B) = Z ; f(C) = X ; f(D) = W


La definicin dice que si entre dos vrtices del primer grafo hay una arista, tambin debe haber una arista entre los
vrtices correspondientes en el segundo grafo.

20

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Por ejemplo entre A y B hay una arista en G1, y tambin hay una arista entre f(A) y f(B) en G2.
Lo mismo habra que comprobar para cada arista. Podemos comprobarlo para todas las aristas juntas con la matriz
ORDENANDO CONVENIENTEMENTE los vrtices, de acuerdo a la funcin biyectiva definida entre los vrtices

A
B
C
D

A
1
1
1
0

B
1
0
1
1

C
1
1
0
0

D
0
1
0
0

Y
Z
X
W

Y
1
1
1
0

Z
1
0
1
1

X
1
1
0
0

W
0
1
0
0

Como las matrices son iguales podemos asegurar que G1 es isomorfo a G2.
Importante: Si dadas dos matrices de adyacencia correspondientes a dos grafos, ellas no son iguales, no significa
que los grafos no sean isomorfos, pues tal vez reordenando una de ellas se pueda lograr que sean iguales. Para
poder afirmar que dos grafos no son isomorfos hay que mostrar alguna propiedad estructural no compartida o bien
probar que todos los ordenamientos posibles de las matrices no coinciden. Esto ltimo no es prctico pues como
sabemos la cantidad de ordenamientos posibles de n elementos es igual al factorial de n, lo cual es una cantidad
bastante elevada.

Sintetizando:
Los grafos
grafosreregulares,
gulares, loslos
grafos
grafos
completo
completos
s Kn y los grafos
grafosbipartitos
bipartitosyylos
los
grafos
grafos
bipartitos
bipartitos
completosKn,m son tipos especiales de gra
grafos.
fos.
Un subgrafo
subgra
fo esesuna
unaparte
partededeunungra
fografo
dado,dado,
sse
e puede obtener suprimiendo vrtices o aristas.
Los grafos
grafosconexos
conexosson
sonaquellos
aquellosen
enlos
losque
queexiste
existe
gnalcamino
algn camino
entre todo
entre
r pa
de
todo
vrtices.
par SiSi
grafo
noesesconexo
conexotiene
tiene
componentes
conexas.
un gra
fo no
mponentes
co
conexas.
Un istmo es un vrtice cuya supresin
desconecta
desconecta aa un
un gra
grafo
fo conexo
conexo.
.
Un puente es una arista cuya supresin desconecta
grafo
a un
conexo
grafo. conexo.
Un con
conjunto
juntodesconectante
desconectante
es
un
es
un
conjunto
con
juntodede
aristas
aristas
cuya supresin desconecta a unfogra
grafo
necesa
rias para
denomina
conexo.Si contiene solamente las
necesarias
para desconectar
desconectar al
grafo,
al grafo,
se se
denomina
con
juntodede
corte.
conjunto
corte.
Un camino o ciclo se dice Euleriano si pasa por todas las aristas una .sola
Puede
vez.repetir
vez
vrtices. La condicin necesaria y
paraexista ciclo de Euler es que el grafo
rte
a que
par
sea conexo y todos los vrtices tengan gradoPara
par.camino de Euler puede haber
s do
dos
vrticesde
degra
grado
impar.
vrtices
do impar.
Un cam
camino
ino oociclo
ciclo
sese
dice
dice
Ham
Hamiltoniano
iltoniano si pasa
si pasa
por to
dpor
os los
todos
vrt
vrtices
ices una
unaso
sola
la vez.
vez.
En En
este
este
casono hace
hacefalta
faltarecorrer
recorrertodas
todaslas
lasarista
aristas
casono
s
Dos grafos
Dos
grafosson
sonisomor
isomorfos
fos si estructuralmente
si estru
cturalmente son
son elel mismo
mismo
grafo
grafo
con con
distint
distinto
o nom
nombre.
bre.
Formalmente debe existir una
funcin
biyectiva
ambos
conserve
la. estructura.
funcin
biyectiva
entreentre
ambos
que que
conserve
la estructura

21

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Antes de continuar con el prximo tema, te proponemos que realices los ejercicios correspondientes a esta primera
parte de la unidad.
Hasta ahora hemos analizado los grafos no dirigidos, pero para muchas aplicaciones es necesario indicar el sentido
de las aristas.
Pensemos que las aristas representan calles de un pueblo y los vrtices son las esquinas. Para poder obtener el
camino ms corto entre dos esquinas dadas sin transitar en contramano, necesitamos conocer el sentido de las
calles.
Por ello vamos a definir los dgrafos o grafos dirigidos:

DGRAFOS
Un dgrafo es una terna G = (V ; A ; )
siendo: V el conjunto de vrtices V

A el conjunto de aristas o arcos


y la funcin de incidencia:

: A

VXV

En este caso la funcin de incidencia se dice dirigida.

Observaciones:
La funcin de incidencia le hace corresponder a cada arista un PAR ORDENADO de vrtices, al primero se lo
llama EXTREMO INICIAL de la arista, y el segundo es el VERTICE FINAL.
Los caminos y los ciclos se definen de la misma forma que para los grafos no dirigidos, pero hay que respetar
el sentido de las aristas.
Si todos los vrtices son distintos se trata de un camino simple.
Si todas las aristas son distintas, se trata de un camino elemental.

Ejemplo:

V = {w1,w2,w3,w4}
(a1)=(w1 ; w2)
(a4)=(w2 ; w1)

A = {a1,a2,a3,a4,a5,a6}
(a2)=(w2 ; w3)
(a5)=(w4; w1)

(a3)=(w4 ; w4)
(a6)= (w2 ; w3)

22

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Se puede diagramar de la siguiente forma:

a3

a4
w3

a2

a5

w1

a1

w4

w2

a6

Extremo inicial de a5: w4

Extremo final de a5: w1

ARISTAS PARALELAS: a2 y a6 BUCLE: a3


ARISTAS ANTIPARALELAS: a1 y a4
CAMINO: C = (w4; a5; w1; a1; w2; a2;w3)

CICLO: C = (w1;a1; w2; a4; w1)

FUNCIN GRADO EN UN DGRAFO:


Comencemos por enunciar algunas definiciones relativas al grado de un vrtice.
GRADO POSITIVO: cantidad de aristas que inciden positivamente en el vrtice (son las que entran al vrtice).
Se denota g+(v)
GRADO NEGATIVO: cantidad de aristas que inciden negativamente en el vrtice (son las que salen del vrtice).
Se denota g-(v)
GRADO TOTAL: es la suma de los grados positivo y negativo. Se denota g(v)
GRADO NETO: es la diferencia entre el grado positivo y el negativo. Se denota gN(v)

En el ejemplo anterior:

a3

a4
w3

a2

w1

a1

a5
w4

w2

a6
g+(w1) = 2 ; g+(w2) = 1 ;

g+(w3) = 2

g-(w1) = 1 ; g-(w2) = 3 ;

g-(w3) = 0

; g-(w4) = 2

g(w1) = 3 ; g(w2) = 4 ;

g(w3) = 2 ;

g(w4) = 3

gN(w1) = 1

; gN (w3) = 2

; gN (w2) = -2

; g+(w4) = 1

; gN (w4) = -1

23

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Propiedades:
1)

g+(vi)= A

2)

g-(vi)= A

3)

g(vi)= 2 A

4)

gN(vi)= 0

Todas estas propiedades se pueden demostrar. Te proponemos que lo intentes y si tienes dificultades puedes
recurrir al tutor.
En los dgrafos puede haber vrtices especiales de los que no sale ninguna arista y se denominan pozos. Otros, a
los que no les llega ninguna arista, se denominan fuentes.
Veamos las definiciones formalmente:
POZO: es un vrtice v tal que g-(v) = 0
O sea, v no es extremo inicial de ninguna arista.
FUENTE: es un vrtice v tal que g+(v) = 0
O sea, v no es extremo final de ninguna arista.

Los pozos y las fuentes son importantes en muchos casos. Por ejemplo si un camino conduce a un pozo, ya no se
puede salir de all. Cuando estudiemos las mquinas de estado finito en la ltima unidad, veremos que los pozos
son los sumideros a los que se va cuando la palabra ingresada no es aceptada por la mquina.

REPRESENTACION MATRICIAL DE DGRAFOS


MATRIZ DE ADYACENCIA
Sea un dgrafo G = (V; A; ) con V = {v1, v2, , vn} y A = {a1, a2, , am}
Se define la matriz de adyacencia de G a una matriz booleana de nxn:

Ma(G) = (( mij ))

tal que mij =

si a

A : (a)

(v ; v )
i j

0 en caso contrario

24

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplo:

a6

a9

a3

a7

Ma(G) =

a8

a1
1

a4
a2

0 1 0 1 1
0 1 1 1 0
0 0 0 0 0
0 0 1 0 0
0 0 1 1 0

a5
5

MATRIZ DE INCIDENCIA:
Sea un dgrafo G = ( V ; A ; ) con V = { v1, v2, , vn } y A = { a1, a2, , am }
Si no tiene bucles ni aristas paralelas, se define la matriz de incidencia de G a una matriz de nxm:

1 si v i es vrtice inicial de a j
Mi(G) = (( mij )) tal que mij = - 1 si v i es vrtice final de a j
0

si v i no es extremo de a j

Ejemplo:
Para el mismo dgrafo anterior pero sin el bucle:

Mi(G) =

1
1
0
0
0

1
0
0
0
1

0
1
1
0
0

1
0
0
1
0

0
0
0
1
1

0
1
0
1
0

0
0
1
1
0

0
0
1
0
1

GRAFO ASOCIADO A UN DGRAFO


Dado un dgrafo, si se cambian las aristas dirigidas por aristas no dirigidas, se obtiene el grafo asociado.
Es decir hay que ignorar el sentido de las aristas.
Si en el dgrafo original hay aristas paralelas o antiparalelas, en el grafo asociado slo se representa una de
ellas.

25

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Ejemplo:

Dgrafo:

Grafo asociado:

CONEXIDAD EN DGRAFOS
Todo dgrafo cuyo grafo asociado sea conexo, se denomina DGRAFO CONEXO.
Todo dgrafo en el que exista algn camino entre todo par de vrtices se denomina DGRAFO
FUERTEMENTE CONEXO

Veamos los ejemplos:

Ejemplo 1:

Este dgrafo es conexo y adems es fuertemente conexo.

Ejemplo 2:
B

26

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Este dgrafo es conexo pues su grafo asociado lo es:

GRAFO ASOCIADO

Pero el dgrafo NO es FUERTEMENTE CONEXO, ya que, por ejemplo, no existe camino alguno que salga del vrtice
C y llegue al vrtice B.
Lo que s hay son dos COMPONENTES FUERTEMENTE CONEXAS:

CAMINOS DE EULER Y HAMILTON EN DGRAFOS

Se definen de forma similar que para grafos no dirigidos, pero hay que respetar el sentido de las aristas.
Condicin necesaria y suficiente para que exista ciclo de Euler en un dgrafo:
v V : g+(v) = g-(v)

Ejemplo:
En este dgrafo existe ciclo de Euler:

C = (A;1;B;2;D;3;C;4;B;5;C;6:A)
y un posible ciclo de Hamilton:

C = (A;1;B;2;D;3;C;6;A)

4
C

D
3

27

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

ISOMORFISMO DE DGRAFOS
El concepto de isomorfismo de dgrafos es igual que para grafos, pero hay que tener en cuenta la direccin de las
aristas, es decir el grado positivo y negativo de cada vrtice y, por lo tanto eso debe respetarse para la asignacin,
es decir la correspondencia debe establecerse entre los vrtices del mismo grado positivo o negativo.

Ejemplo:
5

D1

D2
3

Son estos dgrafos isomorfos?...


Si definimos la funcin: f : V1

V2 tal que

f(1) = A ; f(2) = D ; f(3) = B ; f(4) = E ; f(5) = C ; f(6) = F


y construimos las matrices de adyacencia, veremos que resultan ser IGUALES:

Matriz de D1

1
2
3
4
5
6

1
0
0
0
0
0
0

Matriz de D2

2
1
0
1
0
1
0

3
0
0
0
0
0
0

4
1
0
1
0
1
0

5
0
0
0
0
0
0

6
1
0
1
0
1
0

A
D
B
E
C
F

A
0
0
0
0
0
0

D
1
0
1
0
1
0

B
0
0
0
0
0
0

E
1
0
1
0
1
0

C
0
0
0
0
0
0

F
1
0
1
0
1
0

Como las matrices son iguales, entonces los dgrafos son isomorfos.

28

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Sinteticemos lo que desarrollamos sobre dgrafos:


Un dgrafo
dgrafo esesun
un
grafo
grafo
dirig
dirigido
ido D = (V ; A ; )
Hay conceptos nuevos que no existenlosengrafos,
los
fos,gra
por
por ejemplo
ejemplo elel de
de aristas
aristas
antiparalelas,
pozosyfuentes
y fuentes.
ant
iparalelas, pozos
.
El grado
grado positivo
positivo de
de un
un vrtice
vrtice es
es el
el entrante
entrante,
, el grado
el grado
negativo
negativo
es el saliente,
es el saliente,
el
grado el grado
diferencia.
total es la suma de ambos y el grado neto esferencia
la di
.
Se pueden
caminos y ciclos respet
respetando
ando elsentido
sentido
el de
delas
lasaristas.
aristas
. Pueden
Pueden
serser
dede
grafos.
Euler o de Hamilton al igual que en los
fos.
gra
Un dgra
dgrafo
fo sesepuede
puederepresentar
representarpor
porlas
lasmatrices
matrices
de adyacencia y de incidencia
incidencia.
. La La
matrizde
deadyacenc
adyacencia
necesariamente
incidencia
tiene
elementos
matriz
ia no no
necesar
iamente essimtrica.
imtr
s es ica. LaLadedeincidenc
ia tiene
elemento
s
ser
que pueden rse
0, 1 -1 para
para poder
poder representar
representar el
el sentido
sentido de
de las
las aristas.
aristas.
El grafo
grafoasociado
asociadoaaun
ungrafo
d
dgrafo
es elesformado
ormado
el f
por los mismos
vrtices
vrtices
y considerando
y considerando
s la las
aristassin
sinsenti
sentido.
aristas
do.
Un dgra
dgrafo
fo esesconexo
conexosisisusugra
fo
grafo
asociado
asociado
loes.es
. loUn dgra
dgrafo
fo esesfuertemente
fuertementeconexo
conexosi si
existe
camino
entreto
todo
parvrt
deices.
vrtices.
existe cam
ino entre
do
parde
Al igual que en los gra
grafos,
fos, puede
puede
establecerse
establecerse
o no
o no
isomor
fismo entre dos
entre
dgra
fos
dos dgrafos
estructura.
dados. Ello ser posible solamente cuando se trate de la misma estructura
.

A continuacin, estudiaremos un tipo especial de grafos que se utilizan mucho en computacin, especficamente en
Estructuras y Bases de Datos. Son los denominados rboles.

Llamaremos rbol a todo grafo conexo y sin ciclos.

Ejemplos:
De los siguientes grafos son rboles nicamente G2 y G4 pues G1 tiene un ciclo y G3 no es conexo.
G1

G2

G3

G4

La siguiente es una propiedad muy importante porque caracteriza a los rboles:


Condicin necesaria y suficiente:
Un rbol es un grafo en el cual entre todo par de vrtices existe un nico camino simple.

29

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Propiedades bsicas de los rboles:


Si a un rbol se le agrega una arista entre dos de sus vrtices, deja de ser rbol.
Todas las aristas de un rbol son puentes.
En todo rbol se cumple que: V = A + 1
Intenta una justificacin de cada una de las propiedades anteriores, y si te animas puedes intentar una demostracin
formal. Puedes recurrir al tutor o consultar el libro de la ctedra en el captulo 17, si se presentan dificultades.
Se denomina BOSQUE al grafo no conexo en el cual cada una de las componentes es un rbol.
Propiedad: En un bosque de k componentes se cumple que V = A + k

Ejemplo:

G3 del ejemplo anterior es un bosque y tiene k =2 componentes.

RBOLES DIRIGIDOS

Un dgrafo se denomina

gido cuando su grafo asociado es un rbol.

De los rboles dirigidos nos interesa estudiar los rboles con raz.
El rbol con raz es un rbol dirigido en el cual el grado entrante (positivo) de cada vrtice es igual a 1,
salvo un nico vrtice con grado positivo igual a cero, llamado raz.

Ejemplo: De los siguientes rboles dirigidos tienen raz los dos ltimos.

30

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Un vrtice v de un rbol se dice que es HOJA cuando g(v) = 1


Los V
INTERNOS son todos aquellos que no son la raz ni las hojas.
Se llama
A a todo camino que va desde la raz a alguna hoja.

Otras definiciones que se deben tener en cuenta son las siguientes:


existe un nico camino simple de v a w.
Antecesor: v es antecesor de w
Sucesor: w es sucesor de v en el caso anterior
existe una arista de v a w.
Padre: v es padre de w
Hijo: w es hijo de v en el caso anterior.
Hermanos: v y w son hermanos si tienen el mismo padre.
Podramos decir que se reconocen como en el rbol genealgico.

Ejemplo:

a
b

En este rbol, la raz es: a


Las hojas son: i, j, o, p, f, g, l, m
El padre de k es e.
Los hijos de c son f, g, h
Todos los antecesores de j son e, b, a
Veremos ahora otras definiciones que nos resultarn tiles para trabajar rboles

31

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

El NIVEL DE UN VRTICE se define en forma recursiva:


1) El nivel de la raz es cero: n(r) = 0
2) Cada vrtice tiene un nivel ms que su padre:
si p es padre de v

n(v) = n(p) + 1

ALTURA de un rbol: es el mayor NIVEL alcanzado por las HOJAS.


Se dice que un rbol est BALANCEADO cuando todas las hojas estn en el nivel MAYOR o en UNO MENOS.
En el ejemplo anterior, la altura del rbol es: h = 4 Es balanceado? No, pues las hojas f y g estn en el nivel 2.

ARBOLES N-ARIOS
Un rbol con raz es n-ario
v V: g-(v) n
Es decir, cada vrtice puede tener a lo sumo n hijos.

CLASIFICACIN DE LOS N-ARIOS


Si n=2 entonces se dice rbol BINARIO.
Si n=3 entonces se dice rbol TERNARIO.
Un rbol se dice n-ario regular cuando todos los vrtices tienen la misma cantidad de hijos, salvo las hojas que
no tienen hijos.
Un rbol se dice n-ario regular pleno o completo cuando adems de ser n-ario regular, todas las hojas se
hallan en el mismo nivel.
Antes de continuar te proponemos que realices el siguiente ejercicio para aplicar los conceptos que
acabamos de presentar.
1. Dibuja un rbol ternario regular de altura 2 que no sea pleno.
2. Dibuja un rbol binario regular pleno de altura 3
Recuerda que puedes consultar a tu tutor si tienes dudas.
Como en el caso de los grafos, dirigidos o no donde era posible obtener subgrafos, ahora podemos encontrar
subrboles, es decir un rbol contenido en el dado, veamos la definicin formal

Sea G = ( V ; A ; ) un rbol con raz r. Sea v V, se llama subrbol con raz v, y se indica T(v),
al rbol que consta de v, todos sus descendientes y las aristas entre ellos.

32

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

RECORRIDOS DE RBOLES
Recorrer un rbol significa nombrar todos los vrtices del rbol siguiendo un determinado orden.
Ello es muy importante si consideramos una base de datos de forma arborescente. Cada vrtice del rbol es un
nodo de informacin, o sea un registro de la base. Por ejemplo, si tenemos una base de datos de clientes, cada
nodo representa a un cliente, tiene su nmero de cliente, apellido, nombre, direccin, etc. Para poder tener un
listado de todos los clientes, debemos poder recorrer el rbol, nombrando a cada cliente una vez.
Como veremos hay varias formas de hacerlo.
Las siguientes son las definiciones recursivas de los recorridos de rboles:
ORDEN PREVIO O PREORDEN

ORDEN SIMETRICO
O IN-ORDEN

ORDEN POSTERIOR O
POST-ORDEN

Ejemplo:
a

e
e

Recorrido en orden previo: a b d e h i k l c f g j


Recorrido en orden simtrico: d b h e k i l a f c j g
Recorrido en orden posterior: d h k l i e b f j g c a

33

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Representacin de expresiones algebraicas mediante rboles


Si

es una operacin binaria, el resultado de operar a con b se representa de la siguiente forma:


El operador es la raz y los operandos son los hijos o subrboles.

Si leemos este rbol en orden simtrico, obtenemos la expresin usual: a

Cuando representamos expresiones algebraicas, son comunes los siguientes nombres:


Notacin Polaca: es el orden PREVIO
Notacin usual o infija: es el orden SIMTRICO
Notacin polaca inversa: es el orden POSTERIOR
Para qu se usa la notacin polaca inversa?
Por ejemplo, algunas calculadoras, utilizan notacin polaca inversa para resolver las operaciones. Disponen de un
stack o pila, en la que van almacenando los operandos, y a medida que se ingresa un operador, calculan el
resultado de los dos ltimos elementos de la pila, dejando el resultado en su lugar. Una pila es una lista de
elementos, en la cual se van agregando nuevos elementos por un extremo y se sacan por el mismo extremo. Se
las llama LIFO (Last In First Out)
Cmo se resuelve una operacin?
Por ejemplo, si tienes que resolver 2/[(4+3)
polaca inversa, o sea orden posterior:
Construyamos el rbol:

(9-23)] con una de esas calculadoras, lo debes hacer en notacin

34

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Lo leemos en notacin polaca inversa: 2 4 3 + 9 2 3

Y as lo vamos ingresando en la calculadora.


1) Al ingresar el 2, como es un operando lo guarda en la pila:

2
2) Luego viene el 4 y lo guarda tambin:

4
2
3) Lo mismo ocurre al ingresar el 3:

3
4
2
4) Pero al ingresar el + , como es un operador, extrae los dos ltimos elementos de la pila, en este caso, entre el
4 y el 3, los opera y dicho resultado lo coloca en la pila:

3
4
2

7
2

5) Al ingresar el 9 lo coloca en la pila, como as tambin al 2 y al 3:

9
7
2

2
9
7
2

3
2
9
7
2

35

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

6) Cuando ingresamos el

, extrae los dos ltimos elementos de la pila, en este caso el 2 y el 3, realiza la

operacin ( 2 al cubo) y la coloca en la pila:

8
9
7
2
7) Con el - hace lo mismo, toma el 9 y el 8, los resta y el resultado lo pone en la pila:

1
7
2
8) Al ingresar el signo , opera los dos ltimos que hay ahora, el 7 y el 1, el resultado lo coloca en la pila:

7
2
9) Por ltimo, con el signo / hace lo mismo, operando el 2 y el 7, y quedando el resultado final en la base de la
pila:

0.2857
Sea la expresin: 5 3 - 2
a)

6 28

8 + / dada en notacin polaca inversa.

Halla y dibuja el rbol

b) Indica raz y hojas


c)

Indica la altura del rbol

d) Es balanceado?
e)

Recrrelo en preorden.

f)

Calcula el resultado de la expresin.

36

Unidad 7

GRAFOS, DGRAFOS Y RBOLES

Otras aplicaciones de rboles


Los rboles son muy tiles en las ciencias de la computacin, ya que sirven para representar estructuras de
datos jerrquicas, de forma de optimizar el tiempo de acceso a los registros.
En qumica orgnica, por ejemplo, las molculas de los alcanos son rboles. El concepto de isometra tiene que
ver con el isomorfismo.

Tambin los rboles tienen mltiples usos, ya que con ellos se pueden representar datos de una manera
organizada. Por ejemplo, los organigramas de las organizaciones son rboles dirigidos con raz, y el hecho de
que el grado positivo (entrante) de cada nodo o vrtice sea 1 significa la unidad de mando.

Sinteticemos lo que estudiamos sobre rboles:


Un rbol es un
grafo
grafo
conexo
conexo
y sin
y sin
ciclos.
ciclos.
Un rbol es un grafo
gra
fo enen
el cual
el cual
existe
existe
camino
camino
nico
nico
entre
entre
todo
todo
parpar
dede
vrtices.
vrtices.
En todo rbol la cantidad de vrtices
uno
es ms que la cantidad de aristas.
Un bosque es un
grafo
grafo
no no
conexo
conexo
acclico,
acclico,
o sea
o sea
es un
es junto
un
conconjunto
de rboles.
de rboles.
Los rboles dirigidos son dgra
dgrafos
fos cuyos
cuyos
grafos
gra
fos asociados
asociadosson
sonrboles.
rboles.
La raz de un rbol dirigido es un vrtice con grado positivo cero.
En un rbol dirigido con raz se puede ficar
identilas hojas,
las
s, los
hoja
losvrtices
vrticesinternos,
internos,los
losantecesores
antecesores
y y
deun
unvrt
vrtice,
padres
sucesoresde
ice, padres
e hijeos.hijos.
El nivel de un vrtice es uno ms que
deelsu padre siendo el nivel de la raz cero.
Los rboles diri
dirigidos
gidos pueden
pueden
serser
n-arios,
n-arios,
n-arios
ios
n-ar
regulares
gulares
re oon-arios
n-ariosre
gulares
regulares
plenos.
plenos.
Recorrer un rbolgnifica
si
nombrar
nombrar
todos
todos
los los
vrt
icesvrtices
del rbol
rbol
delsiguiendo
si
guiendo un
undetermin
terminado
de ado orden.
orden.
Vimos pre-orden, inorden y post-orden.
A travs de rboles se pueden repre
representar
sentar expresiones
siones
expre algebraicas,
gebraicas,
al
en
enesos
esoscasos
casoslos
losrecorridos
recorridos
y inversa
se denominan notacin polaca,
fijainy polaca
polaca
inversa respectivamente.
respectivamente.

Si no tienes dudas sobre los temas que abarca esta Unidad, te invitamos a iniciar el estudio de la ltima unidad del
Programa.

37

Unidad 7

You might also like