📜  弦图的着色

📅  最后修改于: 2022-05-13 01:56:04.208000             🧑  作者: Mango

弦图的着色

在数学图论中,弦图是具有 4 个或更多顶点的闭环,因此可以将一条边从一个顶点绘制到另一个顶点。换句话说,弦图是长度为 4 或更长的图,包含至少一个弦。和弦不过是连接图的两个顶点的边,并绘制在图的内部。

要记住的要点:

  • 弦图是完整图的子集。
  • 不包含弦的图称为孔或无弦循环。
  • 一个完整的图是一个弦图本身。

1)考虑下图 ABCD c。一条边 CB 从顶点 C 绘制到顶点 B,在该图中充当和弦。因此,下图被称为弦图。

弦图

弦图

2)考虑下面的完整图表示例。由 n*(n-1)/2 条边组成的图称为完全图,其中 n 是顶点数。在完整图中,连接所有顶点的边已经存在并且也充当和弦。因此,完整图是弦图的超集。

完整的图表

完整的图表

最小着色算法:

在本文中,我们将讨论使用贪心着色算法对弦图着色。

贪心着色算法:

  1. 首先,我们需要找到给定弦图的完美消除排序(PEO)。
  2. 然后,以我们已经找到的那个 PEO 的相反顺序遍历顶点。
  3. 为每个顶点赋予最小的颜色,使得当前顶点颜色不会在其相邻顶点中使用。
  4. 如果当前顶点的颜色已经给它的邻居,则增加颜色并将其分配给当前顶点。
  5. 重复步骤 3 和 4,直到所有顶点都着色。

示例:考虑下面的弦图 ABCD。令该图的完美消除顺序为 [D, C, B, A]。我们将反向遍历图 PEO。因此,[A, B, C, D] 与 PEO 相反。

1.首先,我们将顶点 A 着色为 1,因为我们需要用最小的当前颜色着色。

2.现在对于顶点 B,我们将检查它的邻居是否包含颜色 1。由于顶点“A”包含颜色 1,因此我们将颜色增加 1 以着色顶点 B。

3.同样,对于顶点 C,它的邻居 A 包含颜色 1,而 B 包含颜色 2,因此我们将顶点 C 着色为 3。

4.现在,对于顶点 D,由于它的邻居不包含颜色 1,所以我们将为顶点 D 着色 1。