有人对图形算法的Java库有很好的经验吗?我试过JGraph,发现它还行,谷歌中有很多不同的。有哪些是人们在实际生产代码中成功使用或推荐的?
澄清一下,我不是在寻找一个生成图形/图表的库,我在寻找一个有助于图算法的库,例如最小生成树,Kruskal的算法节点,边等。理想情况下,它在一个漂亮的Java OO API中具有一些良好的算法/数据结构。
有人对图形算法的Java库有很好的经验吗?我试过JGraph,发现它还行,谷歌中有很多不同的。有哪些是人们在实际生产代码中成功使用或推荐的?
澄清一下,我不是在寻找一个生成图形/图表的库,我在寻找一个有助于图算法的库,例如最小生成树,Kruskal的算法节点,边等。理想情况下,它在一个漂亮的Java OO API中具有一些良好的算法/数据结构。
当前回答
JGraphT是一个非常简单而强大的Java图形库,它做得非常好,为了消除任何困惑,它与JGraph不同。一些示例代码:
UndirectedGraph<String, DefaultEdge> g =
new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);
String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";
// add the vertices
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);
// add edges to create a circuit
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v4);
g.addEdge(v4, v1);
其他回答
java中的教学图算法实现可以在这里找到(由教授Sedgewick等人): http://algs4.cs.princeton.edu/code/
我是在coursera上参加这些优秀的算法课程时被介绍给他们的(也由Sedgewick教授教授):
https://www.coursera.org/course/algs4partI
https://www.coursera.org/course/algs4partII
如果你实际上是在寻找图表库,而不是节点/边缘图库,我建议你挥霍大无面图库(BFG)。它比JFreeChart更容易使用,看起来更好,运行更快,有更多的输出选项,真的没有可比性。
我不知道我是否可以称之为生产就绪,但是有jGABL。
查看蓝图:
蓝图是属性图数据模型的接口、实现、实现和测试套件的集合。蓝图类似于JDBC,但用于图形数据库。在TinkerPop开源软件堆栈中,蓝图作为基础技术用于:
管道:一个惰性的数据流框架
Gremlin:一种图遍历语言
框架:对象到图的映射器
熔炉:一个图形算法包
Rexster:图形服务器
如果需要性能,可以看看Grph。该图书馆由法国大学和CNRS/Inria开发。
http://www.i3s.unice.fr/~hogie/grph/
该项目是主动和被动的支持提供!