使用DFS进行顶点着色

时间:2015-03-07 10:15:03

标签: algorithm depth-first-search

我正在尝试使用DFS使用最少数量的颜色为图形的顶点着色。我被困在一个特定的地方,无法从一个起始点完全访问图表。一旦我为顶点指定了颜色,我会改变它吗?是否涉及回溯?

如果存在回溯,如何使用DFS为如下图形着色:

A  B
 \ |
  \|
C--D

1 个答案:

答案 0 :(得分:1)

对于图形,您可以检查节点是否已着色(已访问过)以跟踪DFS已访问过哪些节点。

当节点的DFS无法向前移动时,您必须从其他未访问的节点启动DFS,直到每个节点都被访问/着色。

此外,一旦遇到访问/彩色节点,就会终止每个DFS路径。

这是一种贪婪的着色算法。但是,在选择最小颜色数时可能不是最佳选择。 请点击http://en.wikipedia.org/wiki/Graph_coloring#Algorithms

了解更多信息