Graph g ← グラフを生成 palette ← WHITE # 連結とは限らないグラフgに対して深さ優先探索を行う depthFirstSearch(): for v ← 0 to g.N - 1: color[v] ← WHITE for v ← 0 to g.N - 1: if color[v] = WHITE: palette ← 新しい色 # 色の源を更新 dfs(v) # 再帰による深さ優先探索 dfs(u): color[u] ← palette for v in g.adjLists[u]: if color[v] = WHITE: dfs(v)