6色图顶点着色算法

时间:2012-01-26 15:43:21

标签: c++ algorithm graph

我正在尝试用C ++制作一个算法,用最多6种颜色为平面图的顶点着色。我只是在寻找一些伪代码,以帮助我开始。任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:6)

请参阅:

用于五幅平面图的两种线性时间算法 作者:David Matula,Yossi Shiloach,Robert Tarjan

(只是谷歌这个,你会找到一份PDF的论文)。

所以这是一篇关于在O(n)时间内对平面图进行5色着色的论文,但它首先对6色着色算法进行了简单描述。这是重要的摘录(格式化的道歉,这只是一个PDF scrape):

  

ALGORITHM 6 COLOR。给定邻接列表中的n个顶点平面图G.   形式,该算法确定G的6着色。步骤1. [建立   对于每个j,其中0-j-n-1,形成双重< <关联   j度的G的所有顶点的列表。    - 步骤2. [标签顶点最小程度最后。]对于i = n,n - 1,n * - 1,。 。 。 ,1表示非空的j度的第一个顶点   最小j的列表作为顶点t / i。从j度列表中删除vi。   对于与G中的tli相邻并且保留在某些顶点的每个顶点U'   学位列表,比方说f,从jr学位列表中删除你'并插入你'   j9 - 1度列表。第3步。[颜色顶点。]对于i = 1,2,。 。 。 ,   n,赋予顶点t)i最小的颜色值(必须是一些)   1到6之间的整数)在邻近的顶点上没有出现   t)我已经被着色了。