You are on page 1of 7

Lectura 2: Definiciones y Conceptos Relacionados a

Grafos
Temas:
2.1 Grafos y digrafos
2.2 Adyacencia
2.3 Grado de un vrtice
2.4 Ciclos y caminos
2.5 Grafos simples y multigrafos
2.6 Grafos densos y dispersos
2.7 Bucle
2.8 Grafos conexos
2.9 Grafos completos
2.10 Ejemplo de propiedades de grafos

Bibliografa:
- Estructuras de Datos en Java, Mark Weiss, Addison Wesley, 2000, captulo 14

2.1

Grafos y digrafos

Como mencionamos en la lectura anterior, un grafo es un una tupla <V, E>, donde
V: conjunto de vrtices (nodos)
E: conjunto de aristas (arcos)
y cada arista es un par (v,w), donde v,w V.
Los grafos pueden ser dirigidos (o dgrafos), y en ese caso (v,w) se trata un par ordenado.
Algunas veces las aristas tienen un peso o costo asociado (v,w,p), v,w V, p R. Por ejemplo, en
el grafo de la Figura 1, se observa un conjunto de ciudades, donde las distancias entre ellas estn
determinadas por los pesos de cada arista. Este grafo puede ser utilizado para encontrar el
camino ms corto (en kilmetros) que lleva de una ciudad a otra.

Materia: Algoritmos y Estructuras de Datos 2


Profesor: Claudio Ochoa

-1-

Bogot

1.500

320
0

800
Lima

Brasilia

160
0

230
1900 0

201
0

900

250
0

500
120
0

280
0
210
0

Santiago
2.000

Asuncin

200
00

Buenos Aires

Figura 1. Grafo de distancia entre ciudades

2.2

Adyacencia

Decimos que un vrtice w es adyacente a un vrtice v si existe una arista (v,w) en E. En el caso
de grafos no dirigidos, si w es adyacente a v, entonces v es adyacente a w. En el caso de
dgrafos, esto no se cumple, a no ser que tanto (v,w) y (w.v) sean aristas del grafo.

2.3

Grado de un vrtice

Se considera grado de un vrtice a la cantidad de aristas que llegan o salen de l. Para el caso de
grafos no dirigidos, el grado de un vrtice es simplemente la cantidad de aristas incidentes a este
vrtice.
En el caso de grafos dirigidos, podemos definir un grado de entrada y un grado de salida. El grado
de entrada est determinado por el nmero de aristas que llegan al grafo, mientras que el grado
de salida est determinado por el nmero de aristas que salen de l. Por ejemplo, en la siguiente
figura el grado de salida de V2 es 2, mientras que el grado de entrada de V2 es 1.

Materia: Algoritmos y Estructuras de Datos 2


Profesor: Claudio Ochoa

-2-

V0

V1

10
1

V2

3
V3

V4

V5

V6
1

Figura 2. Grafo dirigido

A un vrtice del que slo salen aristas se le denomina fuente (en el ejemplo anterior, el vrtice V4),
mientras que a aquellos vrtices a los que slo llegan aristas se les denomina sumidero (en el
caso anterior, el vrtice V5); tiene grado positivo 0.

2.4

Ciclos y caminos

Un camino es secuencia de vrtices w1,..,wN donde (wi,wi+1) E, para 1 i < N. Se define como la
longitud de un camino al nmero de aristas en el camino. Por ejemplo, la longitud del camino
w1,..,wN es N-1. Cuando las aristas tienen peso, se define su longitud como la suma de los pesos
de las aristas en el camino. Un camino simple es un camino en el que todos los vrtices son
distintos, con excepcin del primero y el ltimo.
Un ciclo es un camino w1,..,wN donde w1 y wN son el mismo vrtice. Un ciclo hamiltoniano tiene,
adems, que recorrer todos los vrtices exactamente una vez (excepto el vrtice del que parte y al
cual llega). La Figura 3 muestra un ciclo hamiltoniano.
Por ejemplo, en un museo grande (al estilo del Louvre), lo idneo sera recorrer todas las salas
una sola vez, esto es buscar un ciclo hamiltoniano en el grafo que representa el museo (los
vrtices son las salas y las aristas los corredores o puertas entre ellas).
Materia: Algoritmos y Estructuras de Datos 2
Profesor: Claudio Ochoa

-3-

Se habla tambin de camino hamiltoniano si no se impone regresar al punto de partida. Por


ejemplo, un caballo puede recorrer todas las casillas de un tablero de ajedrez sin pasar dos veces
por la misma: es un camino hamiltoniano.
Hoy en da, no se conocen mtodos generales para hallar un ciclo hamiltoniano en tiempo
polinmico, siendo la bsqueda por fuerza bruta de todos los posibles caminos u otros mtodos
excesivamente costosos. Existen, sin embargo, mtodos para descartar la existencia de ciclos o
caminos hamiltonianos en grafos pequeos.
El problema de determinar la existencia de ciclos hamiltonianos, entra en el conjunto de los NPcompletos.

Figura 3. Ciclo hamiltoniano


Fuente: http://es.wikipedia.org/wiki/Archivo:Hamiltonian_path.svg

Si un grafo no contiene ciclos, decimos que el grafo es acclico.

2.5

Grafos simples y multigrafos

Un grafo es simple si a lo sumo slo 1 arista une dos vrtices cualesquiera. Esto es equivalente a
decir que una arista cualquiera es la nica que une dos vrtices especficos.
Materia: Algoritmos y Estructuras de Datos 2
Profesor: Claudio Ochoa

-4-

Un grafo que no es simple se denomina multigrado

2.6

Grafos densos y dispersos

Si un grafo tiene un gran nmero de aristas, decimos que se trata de un grafo denso. En el caso
de los grafos dirigidos, podemos ser mas precisos diciendo que es denso si |E| (|V|2). Si |E|
(|V|) decimos que el grafo es disperso. En la mayora de las aplicaciones los grafos son
dispersos.

Ntese que puede haber grafos que no sean ni densos ni dispersos.

2.7

Bucle

Un bucle es una arista (v,v), es decir, una arista que sale y llega al mismo nodo. En la figura 4,
vemos un bucle, donde una arista sale y llega al nodo A

Figura 4. Bucle

2.8

Grafos conexos

Un grafo es conexo si cada par de vrtices est conectado por un camino, es decir, si para
cualquier par de vrtices (a, b), existe al menos un camino posible desde a hacia b.
Un grafo es fuertemente conexo si cada par de vrtices est conectado por al menos dos caminos
disjuntos, es decir, es conexo y no existe un vrtice tal que al sacarlo el grafo resultante sea
disconexo.

Materia: Algoritmos y Estructuras de Datos 2


Profesor: Claudio Ochoa

-5-

Es posible determinar si un grafo es conexo usando un algoritmo Bsqueda en anchura (Breadth

First Search, o BFS) o Bsqueda en profundidad (Depth First Search, o DFS).

Figura 5. Grafos conexos y no conexos


Fuente: http://es.wikipedia.org/wiki/Archivo:GrafoConexo.jpg

2.9

Grafos completos

Un grafo es completo si existen aristas uniendo todos los pares posibles de vrtices, es decir, todo
par de vrtices (a, b) debe tener una arista e que los une.

Un grafo completo de n vrtices tiene exactamente

aristas.

2.10 Ejemplo de propiedades de grafos

Materia: Algoritmos y Estructuras de Datos 2


Profesor: Claudio Ochoa

-6-

Figura 6. Grafo de ejemplo

En el grafo de la figura 6:

Los nodos c y e tienen grado 4, y los dems nodos tienen grado 5

Existe un lazo o bucle en el nodo d

Es multigrafo ya que existen dos aristas que unen los vrtices a y b

Existen varios caminos que unen el nodo a y el nodo d


o

Por ejemplo, a-b-c-d, a-e-d , a-d o a-c-d

El camino a-c-d-a es un ciclo

El camino a-c-d-a es un camino simple, mientras que a-c-b-d-c-a no lo es

Es un grafo conexo, ya que todos los nodos tienen al menos un camino a otro nodo

Es un grafo completo, ya que existen aristas para todo par de vrtices

Es un grafo denso, ya que |E|=12, si fuera dirigido |E|=23 |V|2=25

Materia: Algoritmos y Estructuras de Datos 2


Profesor: Claudio Ochoa

-7-

You might also like