【问题标题】:Graph 3-colors coloring with the use of the given function使用给定函数绘制 3 色图
【发布时间】:2013-11-15 14:58:56
【问题描述】:

我有函数 three_colorability(n,E) 输出真(当具有这些边和顶点的图形可以用 3 种颜色着色时)或假(如果不是)。 (!没有参数可以知道已经着色的内容) 我们假设这个函数在线性时间复杂度下工作。

我必须使用给定的函数对给定的无向图 G 进行 3 着色算法,该函数将在多项式时间内起作用。

我无法解决这个问题。

【问题讨论】:

    标签: algorithm graph graph-theory graph-algorithm graph-coloring


    【解决方案1】:

    添加 3 个新节点,按它们代表的颜色命名为 C1C2C3。在新节点(C1,C2)(C2,C3)(C1,C3) 之间添加边。如果three_colorability(V,E) 为真,则three_colorability(V+{C1,C2,C3},E+{(C1,C2),(C2,C3),(C1,C3)}) 也为真。

    对于每个(原始)顶点 vthree_colorability() 对于添加了两条边 {(v,C1), (v,C2), (v,C3)} 的至少一个图形返回 true。例如。如果 three_colorability() 对添加边 {(v,C2), (v,C3)} 的图形返回 true,则意味着 v 可以用颜色 1 着色。

    要查找所有顶点的颜色,请逐步查找顶点颜色并将这两条边添加到图中。

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 2015-05-27
      • 2022-01-20
      • 2020-11-10
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多