JGraphX中是否有任何方法可以返回有向图的最小生成树枝?
我一直在使用getMinimumSpanningTree方法,设置' true'为了导演'参数,但它实际上是Prim的算法,在一些有向图上失败。
答案 0 :(得分:0)
据我所知,JGraphX的功能相当有限。您可以使用Mathematica和名为FindSpanningTree的函数来解决此问题。默认情况下,它会为您选择最合适的功能,但如果您需要,可以将方法设置为 MinimumCostArborescence 。
要查找最小生成树,您有3个选项:
我个人更喜欢大多数图表的Kruskal算法。
如果你认为设置JLink使用Mathematica有点过分或者想要一个免费的解决方案,那么可行的免费开源替代方案就是Python库Sage。 Sage在通用图表下有一个名为edge_disjoint_spanning_trees的方法。
如果你更喜欢这个选项,那么这里有5种从java调用python的方法:link。