【发布时间】:2014-02-15 14:29:18
【问题描述】:
我正在阅读顶点着色算法。我看到解释如何使用 BFS 解决问题的文档(暗示问题可以在 O(|V|+|E|) 中解决。但我也看到它提到这是一个 NP-hard 问题。
这两者如何结合在一起?能不能给点灯?
这是我遇到的算法,对我来说它看起来像是一般情况下的多项式解决方案:
用数字标识每种颜色。从一个节点开始,并为其分配编号最少的颜色。使用 BFS 访问其每个邻居。在访问一个节点时,检查它的每个邻居的颜色,并分配没有分配给任何邻居的最小编号的颜色。
据说 BFS 方法仅适用于 2 种颜色。我可以理解为什么上述技术不适用于超过 2 种颜色
【问题讨论】:
标签: algorithm graph-algorithm np-hard