Depth-first search: Difference between revisions

From Algowiki
Jump to navigation Jump to search
Line 8: Line 8:
==== DFS(''G'') ====
==== DFS(''G'') ====
:'''for''' each vertex ''u'' ∈ ''V'' [''G'']  
:'''for''' each vertex ''u'' ∈ ''V'' [''G'']  
::'''do''' color['''u'''] ← WHITE
::'''do''' color[''u''] ← WHITE
::: ''π''[''u''] ← NIL
::: ''π''[''u''] ← NIL
:''time'' ← 0
:''time'' ← 0

Revision as of 11:03, 15 August 2014

Definition

Pseudocode

DFS(G)

for each vertex uV [G]
do color[u] ← WHITE
π[u] ← NIL
time ← 0
do if color[u] == WHITE
then DFS-VISiT(u)


DFS-VISIT(u)

color[u] ← GRAY
timetime + 1
d[u] ← time
for each vAdj[u]
do if color[v] = WHITE
then π [v] ← u
DFS-VISIT(v)
color[u] ← BLACK
f[u] ← timetime + 1