Computing Connected Components ------------- Connected-Components(G) 1 c := 0 2 Mark every vertex and every edge of G as unexplored 3 for every vertex v of G 4 do if v is unexplored 5 then c := c + 1 6 Label-Component-from-Vertex(G,v, c) ------------- Label-Component-from-Vertex(G, v, c) 1 Mark v as explored 2 component(v) := c 3 for every out-edge (v, w) of v 4 do if w is unexplored 5 then Mark (v, w) as a tree edge 6 Label-Component-from-Vertex(G,w, c) 7 else Mark (v, w) as a non-tree edge