通过一个顶点删除创建一个常规图形
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过一个顶点删除创建一个常规图形相关的知识,希望对你有一定的参考价值。
问题:给定一个无向图,使用邻接列表实现。我正在寻找一种算法,通过一个顶点删除将其转换为规则图(每个顶点具有相同的度数)。
例如:
答案
迭代所有顶点,按度数对它们进行分区。
如果所有都具有相同的度数,则只有存在具有度数n - 1的顶点才有可能。
如果你可以将它们划分为2个不同的度数集:让我们用较低的度数调用X,用较高的度数调用Y.让我们调用dg(X)和dg(Y)这些顶点的程度
- 如果其中一个分区只有1个顶点,并且其度数为0或另一个集合中的顶点数量,则将其删除
- 如果dg(Y) - dg(X)> 1,则不可能
- 如果dg(Y) - dg(X)= 1且| Y | = dg(X),检查X中的顶点是否连接到Y的所有顶点并将其删除。
- 如果dg(Y) - dg(X)= 1且| X | = dg(Y),检查Y中的顶点是否连接到X的所有顶点并将其删除。
- 任何其他情况都不可能有2个分区
如果你可以分成3组:
- 其中一个顶点必须只有一个顶点,并且该顶点必须连接到另一个最高度集的所有顶点,并且不能连接到其余的顶点。其他最高学位集与剩余集之间的学位差也必须为1
任何其他情况,它是不可能的
以上是关于通过一个顶点删除创建一个常规图形的主要内容,如果未能解决你的问题,请参考以下文章