Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dado un escenario
donde ciertos objetos
se relacionan, se
puede “modelar el
grafo” y luego aplicar
Los grafos son estructuras de datos algoritmos para
resolver diversos
Representan relaciones entre objetos problemas
32
0
28
Vigo 356 Gerona
4
Zaragoza 0
3 95
29 6 10
32
5 Barcelona
19
Valladolid
9
34
Madrid
3 25
40 1
19 1 Valencia
3 35
Badajoz
241
15
Jaén
2 0
24
99
Sevilla Murcia
25 6 278
5
12
Cádiz Granada
No hay restricciones para formar un grafo
A, el conjunto de arcos 7 9
◦ Representan las relaciones
V = {1, 4, 5, 7, 9}
A= {(1,4), (5,1), (7,9), (7,5), (4,9), (4,1), (1,5), (9,7), (5, 7), (9,4)}
C E Grafos dirigidos
◦ Si los pares de nodos tienen
un sentido.
◦ Existe un camino
F preestablecido
D H
1 4
V = {C, D, E, F, H}
A= {(C,D), (D,F), (E,H), (H,E), (E,C)}
5
Grafos no dirigidos
Si los pares de nodos no tienen un 7 9
sentido
Grafo del ejemplo anterior
Arista
◦ Es un arco de un grafo no dirigido
Vértices adyacente Guayaquil
9
Quito
◦ Vértices unidos por un arco 7 8
Factor de Peso
◦ Valor que se puede asociar con un Ambato
5
Cuenca
arco 7
◦ Depende de lo que el grafo
represente 5
◦ Si los arcos de un grafo tienen F.P.
Grafo valorado Riobamba
Ciclos
5
3
Grafo No Dirigido
◦ Conexo (enlazado) 9
Existe un camino entre 2 7
cualquier par de nodos
4 Grafo Dirigido
5 8 Fuertemente Conexo
6 Existe un camino entre cualquier par
de nodos
A
Conexo (débilmente enlazado)
B
H Existe una cadena entre cualquier
D par de nodos
C E
En Grafo No Dirigido
◦ Grado(V)
Numero de aristas que contiene a V F
D H
Grado(Guayaquil) = 3
9
Gradoent(D) = 1 y Gradsal(D) = 1
Guayaquil Quito
8
7
En Grafo Dirigido
Ambato Grado de entrada, Graden(V)
5
Cuenca
7
Numero de arcos que llegan a V
5
Grado de Salida, Gradsal(V)
Numero de arcos que salen de V
Riobamba
A B C
D E F
Definición
◦ Un camino P en un grafo G,
desde V0 a Vn Camino A y A
◦ Es la secuencia de n+1 vértices P = {A, E, B, F, A}
◦ Tal que (Vi, Vi+1) A para 0 i
n
◦ Trayectoria de un punto a otro 4 7
10
11
6 9
Longitud de camino
El número de arcos que lo Camino entre 4 y 7
forman P = {4, 6, 9, 7}
Longitud: 3
Un trayectoria o recorrido es
una secuencia de nodos
w1,w2,…,wn tal que (wi,wi+1)
E E.
210
Los vértices
◦ Pueden formar una lista, no un vector
Los arcos
◦ Son relaciones entre vértices
◦ Se pueden representar con una lista x cada vértice
Crear la lista de adyacencia del siguiente
grafo
0 0 1 2 3 4
0 0 1 0 1 0
1 1 0 1 1 0
Matriz de
1 adyacencia
2 0 1 0 1 1
3 1 1 1 0 0
4 0 0 1 0 0
2
0 1 3
3 1 0 2 3
Lista de
2 1 3 4
4 adyacencia
3 0 1 2
4 2
0 1 2 3 4
0 0 0 210 0 450 0
210 1 210 0 60 190 0 Matriz de
2 0 60 0 130 200 adyacencia
1 3 450 190 130 0 0
450 4 0 0 200 0 0
60 190
2
200
0 1;210 3;450
130 1 0;210 2;60 3;190
3
2 1;60 3;130 4;200
4
3 0;450 1;190 2;130
4 2;200 Lista de
adyacencia
0 1 2 3 4
0 0 0 1 0 0 0
1 0 0 0 1 0
Matriz de
2 0 1 0 1 0
1 adyacencia
3 1 0 0 0 0
4 0 0 1 0 0
2
0 1
Lista de 1 3
3
adyacencia 2 1 3
4 3 0
4 2
Recorrer un grafo significa visitar todos sus
nodos partiendo de un nodo de salida.
Es muy importante asegurarnos de no ir en
círculos (i.e., caer en un ciclo).
Dos tipos básicos de recorridos:
◦ En anchura: recorrer el grafo en niveles (de los
nodos más cercanos a los más lejanos).
◦ En profundidad: buscar caminos que parten desde
el nodo de salida hasta que ya no es posible
avanzar más, después volver atrás en busca de
caminos alternativos inexplorados.
EN PROFUNDIDAD EN ANCHURA
A-B-E-I-F-C-G-J-K-H-D A-B-C-D-E-G-H-I-J-K-F
a b c
d e f
En anchura En profundidad
1 2 4 1 2 3
a b c
a b c
d e f
5 6 d e f
3 5 4 6