基于JUNG开发,用来图展示于计算
基于JUNG开发,用于图展示于计算
JUNG
http://jung.sourceforge.net/
Java Universal Network/Graph Framework:提供有向图,无向图,混合网络,以及各种展现接口,只要不是绘制特别巨大的图,效过还可以。
构造一个图:
写道
Graph<Integer, String> g2 = new SparseMultigraph<Integer, String>();
g2.addVertex((Integer)1);
g2.addVertex((Integer)2);
g2.addVertex((Integer)3);
g2.addEdge("Edge-A", 1,3);
g2.addEdge("Edge-B", 2,3, EdgeType.DIRECTED);
g2.addEdge("Edge-C", 3, 2, EdgeType.DIRECTED);
g2.addEdge("Edge-P", 2,3); // A parallel edge
System.out.println("The graph g2 = " + g2.toString());
g2.addVertex((Integer)1);
g2.addVertex((Integer)2);
g2.addVertex((Integer)3);
g2.addEdge("Edge-A", 1,3);
g2.addEdge("Edge-B", 2,3, EdgeType.DIRECTED);
g2.addEdge("Edge-C", 3, 2, EdgeType.DIRECTED);
g2.addEdge("Edge-P", 2,3); // A parallel edge
System.out.println("The graph g2 = " + g2.toString());
很适合演示数据结构中的 图论和Tree结构
Dijkstra,EMP最大网络流算法,聚类算法都有,还不错
如输出Dijkstra路径:
DijkstraShortestPath<MyNode,MyLink> alg = new DijkstraShortestPath(g);
List<MyLink> l = alg.getPath(n1, n4);
System.out.println("The shortest unweighted path from" + n1 +
" to " + n4 + " is:");
System.out.println(l.toString());
R:听说简单易用,也没有试过
GraphViz:没有用过,听说不错