Beruflich Dokumente
Kultur Dokumente
DFS-Visit(u)
DFS(G)
1 for each vertex u V [G] 1 color [u] ← GRAY
2 time ← time + 1
2 do color [u] ← WHITE
3 d [u] ← time
3 π[u] ← NIL
4 for each v Adj [u]
4 time ← 0
5 for each vertex u V [G] 5 do if color [v] = WHITE
6 then π[v] ← u
6 do if color [u] = WHITE
7 DFS-Visit (v)
7 then DFS-Visit (u)
8 color [u] ← BLACK
9 f[u] ← time ← time + 1
Depth First Search
For each vertex u V(G)
color [u] WHITE
π [u] NIL
u v w
time 0
x y z
Depth First Search
Considering white vertex u
color [u] GRAY
d[u] time + 1 = 0 + 1 = 1
Adj[u] = v, x
u v w
1/ color [v] = WHITE
π[v] ← u
DFS-VISIT (v)
x y z
Depth First Search
x y z
Depth First Search
3/
x y z
Depth First Search
4/ 3/
x y z
Depth First Search
4/ 3/
x y z
Depth First Search
The vertex x is finished.
4/5 3/
x y z
Depth First Search
4/5 3/6
x y z
Depth First Search
4/5 3/6
x y z
Depth First Search
The edge (u, x) is a forward
edge that is a non tree edge
and is labeled as F
u v w
1/ 2/7
F B
4/5 3/6
x y z
Depth First Search
The vertex u is finished.
4/5 3/6
x y z
Depth First Search
Considering white vertex w
color [w] GRAY
d[w] time + 1 = 8 + 1 = 9
u v w
Adj[w] = y, z
1/8 2/7 9/
F B color [y] ≠ WHITE
4/5 3/6
x y z
Depth First Search