Graph g ← 生成图
palette ← WHITE
# 对非完全连通图进行深度优先搜索
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)