Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 Grafos PDF
5 Grafos PDF
Exploracin de grafos
Grafos
Recorridos sobre grafos
Descripcin general
Estrategias de ramificacin
Implementacin
Ejemplos
Grafos
Grafo G = (V,E)
V: Conjunto de vrtices o nodos del grafo.
E VxV
VxV:: Conjunto de aristas o arcos.
Tipos de grafos
Grafos no dirigidos
dirigidos: Aristas (no orientadas).
(v,w)
v,w) = (w,v
(w,v))
Grafos dirigidos
dirigidos:: Arcos (con direccin).
(v,w)
v,w) (w,v)
w,v)
w
2
Grafos
Ejemplo: US Biotech Industry
Grafos - Definiciones
Grafos no dirigidos
Grado de un vrtice:
Nmero de aristas que lo contienen.
Grafos dirigidos
Grafos - Definiciones
Nodos/vrtices adyacentes:
adyacentes:
Vrtices conectados por una arista (o un arco).
v
Aristas/arcos adyacentes:
adyacentes:
Arcos/aristas con un vrtice comn.
u
Grafos - Definiciones
Camino [path]:
path]:
Sucesin de arcos adyacentes tal que el vrtice final de
cada arco coincide con el inicial del siguiente.
Secuencia (w1, w2, ..., wk) V
tal que (w1, w2), (w2, w3), ..., (wk-1, wk) E.
Circuito (o ciclo):
Camino que empieza y acaba en el mismo vrtice.
Grafos - Definiciones
Grafo conexo:
conexo:
Un grafo no dirigido es un grafo conexo si para todo par
de nodos u y v existe una camido de u a v.
Componentes conexas:
conexas:
Cada uno de los conjuntos
maximales conexos.
Grafos - Definiciones
Tipos de grafos
Grafo etiquetado:
etiquetado:
Cada arista y/o vrtice tiene asociada una etiqueta/valor.
Multigrafo:
Multigrafo:
Grafo en el que se permite que entre dos vrtices
exista ms de una arista o arco.
8
Grafos - Definiciones
rbol:
rbol:
Grafo conexo que no contiene ciclos.
Teorema
Sea G un grafo de n nodos. Cualquier pareja de las
siguientes afirmaciones implica la tercera:
G es conexo.
G no contiene ciclos.
G tiene nn-1 aristas.
9
Grafos - Representacin
Representacin mediante matrices de adyacencia
1
2
3
4
5
6
7
8
1
0
1
1
0
0
0
0
0
2
1
0
1
1
1
0
0
0
3
1
1
0
0
1
0
1
1
4
0
1
0
1
1
0
0
0
5
0
1
1
1
0
1
0
0
6
0
0
0
0
1
0
0
0
7
0
0
1
0
0
0
0
1
8
0
0
1
0
0
0
1
0
Grafos - Representacin
Representacin mediante matrices de adyacencia
Ventaja:
Acceso eficiente a una arista, (1).
Inconvenientes:
(|V|2) en identificar todas las aristas.
aristas.
Espacio proporcional a |V|2
(se
(s desperdicia memoria si el grafo es poco denso).
11
Grafos - Representacin
Representacin mediante listas de adyacencia
1
12
Grafos - Representacin
Representacin mediante listas de adyacencia
Ventajas:
Espacio proporcional a |V|+|E|.
(representacin adecuada para grafos poco densos).
(|V|+|E|) en identificar todas las aristas.
Inconvenientes:
Se tarda O(grado(u)) en comprobar si (u,v)E.
Ineficiente para encontrar los arcos que llegan a un nodo
(solucin: usar estructuras de listas mltiples).
13
Pila S={}
Pila S={s}
Pila S={r,s
S={r,s}}
w
15
Pila S={v,r,s
S={v,r,s}}
v
r
Pila S={w,s
S={w,s}}
Pila S={t,w,s
S={t,w,s}}
16
Pila S={u,t,w,s
S={u,t,w,s}}
r
v
Pila S={y,u,t,w,s
S={y,u,t,w,s}}
Pila S={
S={x,y,u,t,w,s}
x,y,u,t,w,s}
w
t
17
El recorrido no es nico:
nico: depende del vrtice inicial y
del orden de visita de los vrtices adyacentes.
19
O(|V|+|E|)
si usamos la representacin basada en listas de adyacencia.
20
L1
L2
L n-1
L0 = { s }.
L1 = Nodos adyacentes a L0.
L2 = Nodos adyacentes a L1 que no pertenecen ni a L0 ni a L1.
Li+1 = Nodos que
que,, sin pertenecer a ningn nivel anterior,
estn conectados con Li a travs de una arista.
arista.
Teorema:
Teorema:
Li contiene todos los nodos que estn a distancia i de s.
21
Cola Q={s}
Cola Q={r,w
Q={r,w}}
Cola Q={w,v
Q={w,v}}
w
22
Cola Q={v,t,x
Q={v,t,x}}
r
v
Cola Q={t,x
Q={t,x}}
w
t
Cola Q={x,u
Q={x,u}}
23
Cola Q={u,y
Q={u,y}}
r
v
Cola Q={y}
w
t
Cola Q={}
24
Empezando en un nodo v:
Primero se visita v.
Luego se visitan todos sus vrtices adyacentes.
A continuacin, los adyacentes a stos
y as sucesivamente.
26
O(|V|+|E|)
si usamos la representacin
basada en listas de adyacencia
27
Flood fill
fill (coloreado por inundacin)
29