Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grafos
Estructura de Datos
Facultad de Ciencias de la computación
BUAP.
Verano 2005
Introducción
Los grafos sirven para representar relaciones
arbitrarias (no necesariamente jerárquicas)
entre objetos de datos
PLAZA DE
CASTILLA
GUZMAN
EL BUENO
NUEVOS
CUATRO MINISTERIOS
CAMINOS
AVDA. DE
AMÉRICA
GREGORIO
CANAL
MARAÑÓN
Tarjetas impresas
it.uc3m.es
Circuitos integrados
Redes de transporte
inf.uc3m.es
Autopistas
Vuelos
Redes de ordenadores uc3m.es
LANs telefonica.net
rediris.net
Internet
Web
Bases de datos
otro.net
Diagramas entidad/relación juan
pablo
david
Grafo dirigido 3
V(G2) = {1,3,5,7,9} 9
A(G2) = {(1,3),(3,1),(9,1),
5
(3,5),(5,7)}
1
7
Estructura de Datos Grafos - 6
Fundamentos
Grado de un nodo
En un grafo dirigido
—Grado de un nodo u = nº de aristas que contienen a u
En un grafo dirigido
—Grado de entrada de u = nº de arcos que llegan a u
—Grado de salida de u = nº de arcos que salen de u
Grafos conexos
Un grafo no dirigido es conexo si existe un camino
entre cualquier par de nodos que forman el grafo
Ejemplos:
vertices(referenciaArista) (refVertice,
Acceso a las aristas refVertice)
destino(referenciaArista) refVertice
origen(referenciaArista) refVertice
etiqueta((referenciaArista) etiqueta
2 2 2 1
4 3 4
0 1 0 0 0 0 1 0 0 0
0 1 1 1 0 0 2 0 0
0 0 1 0 0
1 0 0 1 0 6 0 0 2
0 1 0 0 1
1 0 0 0 0 0 0 0 0
0 0 0 0 0
1 1 0 0 0 0 0 1 0
0 0 0 1 0
3 1
1
5
4
4
5 1 2 4
RPP(vi) RPA(vi)
{ {
marcar vi como visitado marcar vi como visitado
para cada vk adyacente a v meter vi en cola q
si vk no visitado mientras cola q no vacía
entonces RPP(vk) sacar v de cola q
} para cada vk adyacente a v
si vk no visitado
entonces
marcar vk visitado
meter vk en cola q
}
4
11 12 11
9 13
8
5
2 8
5 7
6 12
9
4
3 6 9 11
13
8
2 7
5 10
12 12
9
6
3
10
1 7
4
11
13
8
2 5
12
9
6
3
10
1 7
4
11
13
8
2 5
12
9