考虑是否可以使用 BFS 实现图形着色,我想出了下面的伪代码方法。
虽然它看起来像一个贪心算法,但我不确定它的正确性。有专家意见吗?
colors[MAX_COLORS];
colorsUsedSoFar[] = NIL;
like BFS, color first node u with colors[0] i.e color[u] = colors[0];
colorsUsedSoFar[] += colors[0];
for each node v adjacent to u{
(if v not already colored){
color[v] = color from the colorsUsedSoFar[] but NotUsedByItsAdjacents
If all the colors in colorsUsedSoFar[] are used by adjacents, assign a new color to v)
}
}
“像 BFS”,我的意思是使用队列并处理直到队列耗尽。