【发布时间】:2020-04-02 17:28:18
【问题描述】:
我正在寻找一种我不确定如何定义的算法,但我的想法是在单个图中有多个不相交的最小生成树。
考虑这个无向图,其中所有节点都连接到图中的每个其他节点。 (懒得画,但想象 9 个顶点退出/进入每个节点)
我正在寻找一种可以输入以下参数的算法: 最大顶点公关。节点和最大树跨度。
例如,我告诉算法:没有节点可以直接连接到超过 2 个其他节点,并且图中没有任何树可能包含超过 3 个顶点(4 个节点),这样的结果是一个解决方案。
它最终将用 Python 3.0 编写,但现在我只是在寻找一些关于我如何处理它的输入。
【问题讨论】:
-
最小生成树是给定图的边的子集。在您的示例中,该图没有边;它是断开连接的,因此不能有生成树。
-
出现的每个节点都连接到第一个图像中的每个其他节点。我希望这是隐含的,因为我懒得绘制 100 个顶点连接。
-
您的编辑现在清楚了,谢谢。
-
在什么意义上你的森林是最小的?简单地从现有的生成树中删除边会给你一个满足你的约束的森林。 (事实上,一个简单的解决方案是
n单节点树的集合。) -
好的,所以对于某些参数
K和每个顶点n的约束1 <= degree(n) < K使这变得不平凡(因为您不一定只从现有的生成树中删除边)。
标签: python graph minimum-spanning-tree