如何打印所有可能的图形组合

假设我们将图中顶点的数量设置为n。 (我们可以通过用户输入等来设置)

我想打印使用边缘连接顶点的所有可能情况。 (所以,我想打印n个顶点的所有可能的(简单的)连通图。)

另外,对于每种情况,我想打印每种情况下每个顶点的度数。


一个简单而简单的解决方案是创建所有可能的图形,并过滤出未连接的图形。

创建一组所有可能的边缘。 有n(n-1)/2个,这就是这个集合的大小。

找到所需设置的功率集。 这个能量集代表了所有可能创建的图形。

该维基百科文章还给出了一个算法来计算一个集合的幂集。 这篇文章还讨论了这个问题(Java)

对于每个创建的子集 - 检查它是否连接。 它可以使用诸如BFS的发现算法完成。 当且仅当BFS从单个(随机)源开始时才发现所有顶点,该图连通。

链接地址: http://www.djcxy.com/p/37309.html

上一篇: how to print all possible graph combinations

下一篇: How to prove Mersenne Twister c#