Exploracin de grafos
Grafos Recorridos sobre grafos
Bsqueda primero en profundidad Bsqueda primero en anchura
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: Aristas (no orientadas). (v,w) v,w) = (w,v (w,v) ) v w
Grafos
Ejemplo: US Biotech Industry
Grafos - Definiciones
Grafos no dirigidos Grado de un vrtice: Nmero de aristas que lo contienen. Grafos dirigidos Grado de salida de un vrtice v: Nmero de arcos cuyo vrtice inicial es v. Grado de entrada de un vrtice v: Nmero de arcos cuyo vrtice final es v.
Grafos - Definiciones
Nodos/vrtices adyacentes: Vrtices conectados por una arista (o un arco). v w
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. Longitud del camino: camino: Nmero de arcos del camino (k(k-1). Circuito (o ciclo): Camino que empieza y acaba en el mismo vrtice.
Grafos - Definiciones
Grafo 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: Cada uno de los conjuntos maximales conexos.
Grafos - Definiciones
Tipos de grafos Grafo etiquetado: Cada arista y/o vrtice tiene asociada una etiqueta/valor. Grafo ponderado = Grafo con pesos: Grafo etiquetado en el que existe un valor numrico asociado a cada arista o arco. Multigrafo: Grafo en el que se permite que entre dos vrtices exista ms de una arista o arco.
8
Grafos - Definiciones
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 2 3 4 5 6 7 8 2 1 1 2 2 5 3 3 8 7 3 3 2 5 3 4 6 4 5 5 7 8
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
t x
u y
Pila S={}
r v
t x
u y
Pila S={s}
r
r v
t x
u y
w
15
t x
u y
w t u x x
r v
t x
u y
r v
t x
u y
t x
u y
w t u y x x x
r v
t x
u y
r v
t x
u y
17
19
O(|V|+|E|)
si usamos la representacin basada en listas de adyacencia.
20
21
t x
u y
Cola Q={s}
r v
t x
u y
r v
t x
u y
w
22
t x
u y
w t u x
r v
t x
u y
r v
t x
u y
t x
u y
w t u x y
r v
t x
u y
Cola Q={y}
r v
t x
u y
Cola Q={}
24
26
O(|V|+|E|)
si usamos la representacin basada en listas de adyacencia
27
29