GRAFOS - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

GRAFOS

Description:

V es un conjunto finito de vertices (estados) y ... Q.enqueue(s) while (Q != u = Q.dequeue() for each v Adj[u] { if color[v] = WHITE ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 60
Provided by: homeGa
Category:
Tags: grafos | enqueue

less

Transcript and Presenter's Notes

Title: GRAFOS


1
GRAFOS
Ing. Andrea Quan
2
Grafo Dirigido
  • Un directed graph o digraph G es un par (V,E) en
    donde
  • V es un conjunto finito de vertices (estados) y
  • E es una relación binaria que representa las
    relaciones entre estado y estado (arcos)
  • Se le llama grafo dirigido porque cada arco tiene
    una dirección.

3
Grafo Dirigido
G
V 1,2,3,4,5,6 E (1,2), (2,2), (2,4),
(2,5), (4,1), (4,5), (5,4), (6,3)
4
Grafo no-dirigido
  • Un grafo no dirigido se define de la misma manera
    que un grafo dirigido, la única diferencia es los
    arcos no tiene dirección, funcionan como arcos de
    doble dirección.
  • La relación binaria E que lo representa es
    simétrica.

5
Grafo no-dirigido
G
V 1,2,3,4,5,6 E (1,2), (1,5), (2,1),
(2,5), (5,1), (5,2), (3,6), (6,3)
6
Paths
A
B
Length 3
7
Representación de un Grafo
  • Existen dos maneras conocidas para representar un
    grafo
  • Una colección de listas de adyacencia
  • Representada con un arreglo de listas
    encadenadas con length igual al número de estados
  • Una matriz de adyacencia
  • Con casillas que representan las relaciones de
    todos los estados con todos los estados.

8
Ejemplo Grafo dirigido
9
Ejemplo Grafo no dirigido
10
Weighted Graphs
  • Es la misma definición, solo que cada arco tiene
    asociado a el un peso.

11
Breadth-first search
  • Breadth-first search es uno de los dos algoritmos
    de búsqueda que veremos en clase
  • Teniendo un vertice inicial s, breadth-first
    search descubre todos los vertices que pueden ser
    alcanzados desde s, y calcula la distancia que
    existe hacia ellos

12
Breadth-first search
  • El algoritmo descubre todos los vértices a una
    distancia k de s, antes de descubrir cualquier
    vértice a una distancia k 1 de s.
  • Para ir mantener la información del proceso, el
    algoritmo colorea cada nodo blanco, gris o negro.
  • Blanco ? vertice no descubierto
  • Gris ? vertice descubierto
  • Negro ? vertice descubierto, todos los vertices
    adyacentes también descubiertos

13
BFS(G,s) for each vertex u ? VG s
coloru WHITE, du ?, ?u
null colors GRAY , ds 0, ?u null,
Q ? Q.enqueue(s) while (Q ! ? ) u
Q.dequeue() for each v ? Adju if
colorv WHITE colorv GRAY dv
du 1 ?v u Q.enqueue(v)
coloru BLACK
14
Ejemplo
Inicial C
15
Ejemplo
?
Inicial C
16
Ejemplo
?
0
Inicial C
Q ?
17
Ejemplo
?
Inicial C
Q
18
Ejemplo
?
Inicial C
Q
U C
19
Ejemplo
?
Inicial C
Q
U C
20
Ejemplo
?
Inicial C
Q
U C
21
Ejemplo
?
Inicial C
Q
U C
22
Ejemplo
?
Inicial C
Q
U A
23
Ejemplo
?
Inicial C
Q
U A
24
Ejemplo
?
Inicial C
Q
U A
25
Ejemplo
?
Inicial C
Q
U D
26
Ejemplo
?
Inicial C
Q
U D
27
Ejemplo
?
Inicial C
Q
U D
28
Ejemplo
?
Inicial C
Q
U D
29
Ejemplo
?
Inicial C
Q
U B
30
Ejemplo
?
Inicial C
Q
U B
31
Ejemplo
?
Inicial C
Q
U E
32
Ejemplo
?
Inicial C
Q
U E
33
Ejemplo
?
Inicial C
Q
U E
34
Ejemplo
?
Inicial C
Q
U E
35
Ejemplo
?
Inicial C
Q
U F
36
Ejemplo
?
Inicial C
Q
U F
37
Ejemplo
?
Inicial C
Q
U F
38
Ejemplo
?
Inicial C
Q
U G
39
Ejemplo
?
Inicial C
Q
U H
40
Breadth-first tree
?
41
Depth-first search
  • Este algoritmo recorre TODO el grafo.
  • Utiliza la misma técnica que breadth-first search
    coloreando los estados.
  • No guarda distancias entre nodos (ya que recorre
    todos los nodos)

42
DFS() for each vertex u ? VG coloru
WHITE ?u null time 0 for
each vertex u ? VG if coloru WHITE
DFS-Visit(u)
43
DFS-Visit(u) coloru GRAY time time
1 du time for each v ? Adju if
colorv WHITE ?v u DFS-Visit(v)
coloru BLACK fu time time 1
44
Ejemplo
45
Ejemplo
TIME 0
46
Ejemplo
1/
TIME 1
47
Ejemplo
1/
2/
TIME 2
48
Ejemplo
1/
2/
3/
TIME 3
49
Ejemplo
1/
2/
3/
4/
TIME 4
50
Ejemplo
1/
2/
3/
4/5
TIME 5
51
Ejemplo
1/
2/
3/6
4/5
TIME 6
52
Ejemplo
1/
2/7
3/6
4/5
TIME 7
53
Ejemplo
1/8
2/7
3/6
4/5
TIME 8
54
Ejemplo
9/
1/8
2/7
3/6
4/5
TIME 9
55
Ejemplo
9/
1/8
2/7
3/6
4/5
10/
TIME 10
56
Ejemplo
9/
1/8
2/7
3/6
4/5
10/11
TIME 11
57
Ejemplo
9/12
1/8
2/7
3/6
4/5
10/11
TIME 12
58
Ejemplo
9/12
1/8
2/7
3/6
4/5
10/11
TIME 12
59
Ejemplo
Write a Comment
User Comments (0)
About PowerShow.com