我有一个本质上可以视为图形的问题。我正在考虑使用JGraphT来实现它,而不是自己动手做。使用JGraphT从图形中获取最小生成树的最佳方法是什么?

最佳答案

不幸的是,我不了解足够的图论来提供完整,直接的答案,但是我在一些项目中使用了jgrapht,所以也许这会有所帮助。

jgrapht附带的算法列表在这里:http://www.jgrapht.org/javadoc/org/jgrapht/alg/package-summary.html,您还可以在这里找到以迭代器实现的图遍历(如果有帮助的话):http://www.jgrapht.org/javadoc/org/jgrapht/traverse/package-summary.html

我很确定这些算法都不会让您满意,因此您必须自己进行编码,但是我可以从经验中告诉您,在jgrapht之上进行编码而不是从头开始是很多容易。还有一个FibonacciHeap类大概可以帮助实现Prim的算法。

如果您需要有关算法本身的帮助,则有许多带有Wikipedia条目的算法,包括详细的说明和伪代码。 Minimum spanning tree article链接到它们。

07-24 09:16