无向图的着色

问题描述

给出一个无向图,其边缘数为e,颜色值为m。因此,我们必须检查在没有两个相邻顶点具有相同颜色的条件下,图是否可以用m种不同颜色着色。

我认为,对于每个顶点,如果顶点的度数m,那么我们可以为 颜色为m的图形。

如果对于任何顶点,度数为> = m,则我们无法使用m的颜色为图形着色。

我使用以上方法尝试解决M-Colouring图,但没有用。

有人可以告诉我,为什么上述方法不起作用吗?

对于其中一个测试用例,我有一个疑问:给定m = 3,顶点数= 4,边= e 边是4-> 3、4-> 2、1-> 4、3-> 2、1-> 2。

是说用3种颜色我们可以为上面的无向图着色。怎么可能呢?顶点4的度为3,因此,相邻顶点的数目为3。如果我包括顶点4本身,则有四个相邻顶点。我们如何只用3种颜色为这四个相邻的顶点着色?我认为这是不可能的。如果我以错误的方式思考,请告诉我。

如果问题或提问方式有任何问题,请在下面评论,这将是有帮助的。

解决方法

节点的两个邻居可以具有相同的颜色,例如图

1----2
|    |
|    |
4----3

是2色的,因为我们可以用颜色1为奇数顶点着色,而用颜色2为偶数顶点着色。对于每个顶点v,v的邻居具有相同的颜色,与v的颜色不同,因此没有违反。

,

https://stackoverflow.com/a/63760170/14194633的帖子中我知道,顶点的度数与图形着色无关。因为在着色时,我们必须以某种方式着色,以使两个相邻的顶点都不具有相同的颜色。

根据我在问题中发布的示例,给定m =3。在我认为的方法中,顶点度4为3,如果我包含顶点,则顶点度为4,因此为3。 4本身,因此我们必须给彼此相邻的这四个顶点着色,我认为不可能仅用m着色四个顶点即3种颜色。但这不是真的。

coloured graph image

即使顶点的度数4 >= m(给定m = 3),我们仍然可以使用3种颜色为图形着色。

这里的事情不是检查顶点的程度,而是将颜色应用于顶点并检查其相邻顶点是否具有相同的颜色

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...