grafos - unican.es · 2017-03-06 · domingo gómez pérez grafos 2 / 16....
TRANSCRIPT
Grafos
Domingo Gómez Pérez
Domingo Gómez Pérez Grafos 1 / 16
El problema de colorear un mapa político
Suponemos que tenemos un mapa con diferentes países y queremospintarlos de forma que países vecinos tengan colores diferentes. ¿Cómorepresentamos el problema?
Domingo Gómez Pérez Grafos 2 / 16
Representación (tomado del libro Algorithms dePapadimitrou et al.)
Domingo Gómez Pérez Grafos 3 / 16
Representación de grafos
Los grafos consisten en un conjunto de vértices y un conjunto de aristas, G= (V, E). La representación de las aristas puede ser mediante:
Matriz de adyacencia (grafos densos).Lista de nodos adyacentes (grafos dispersos).
Domingo Gómez Pérez Grafos 4 / 16
Recorrido en grafos (tomado del libro Algorithms dePapadimitrou et al.)
Domingo Gómez Pérez Grafos 5 / 16
Algoritmo explorar
explorar(v,G):visitados(v) = trueprevisit(v)para cada arista (v,u) en G.E:
si no visitado(u):explorar(u)
postvisit(v)
Domingo Gómez Pérez Grafos 6 / 16
Algoritmo explorar
El algoritmo explorar genera una estructura de árbol no binario.También se pueden añadir aristas de vuelta.Almacena un array de elementos del grafo que han sido visitados.
Domingo Gómez Pérez Grafos 7 / 16
Algoritmo explorar
¿Cual es el orden que da explorar?
Domingo Gómez Pérez Grafos 8 / 16
Algoritmo de recorrido en profundidad
dfs(G):para cada v en G.V:
visitados(v) = falsepara cada v en G.V:
si no visitados(v):explorar(v)
Domingo Gómez Pérez Grafos 9 / 16
DFS en laberintos
Domingo Gómez Pérez Grafos 10 / 16
DFS en laberintos malos
Domingo Gómez Pérez Grafos 11 / 16
Algoritmo exploración en profundidad
previsit(v)pre[v] = clockclock = clock + 1
postvisit(v)post[v] = clockclock = clock + 1
Domingo Gómez Pérez Grafos 12 / 16
Algoritmo exploración en profundidad
Tipos de aristas que hay en un grafo dependiendo del árbol dfs:Aristas del árbol. (Tree edges)Aristas adelante. (Forward edges)Aristas atrás. (Back edges)Aristas cruzadas. (Cross edges)
Domingo Gómez Pérez Grafos 13 / 16
Clasificar las aristas del siguiente grafo
Domingo Gómez Pérez Grafos 14 / 16
Pre/Post y clasificación de aristas
Tipo de arista (u, v) Relación entre los números pre/postarista del árbol pre[u]≤ pre[v]≤ post[v]≤ post[u]arista adelante pre[u]≤ pre[v]≤ post[v]≤ post[u]arista atrás pre[v]≤ pre[u]≤ post[u]≤ post[v]
Domingo Gómez Pérez Grafos 15 / 16
Aplicaciones del algoritmo DFS
Domingo Gómez Pérez Grafos 16 / 16