我在文本文件中有一个图表的邻接列表表示。例如。
0 -> 1, 2
1 ->
2 -> 1
3 -> 1
是否有可用Java或任何其他语言提供的软件可以帮助我实现这一目标?
答案 0 :(得分:1)
有一个好的lib,Universal Network/Graph Framework
这里有一个例子:
public static void main(String[] args) {
DirectedSparseGraph<String, String> g = new DirectedSparseGraph<>();
g.addVertex("0");
g.addVertex("1");
g.addVertex("2");
g.addVertex("3");
g.addEdge("Edge1", "0", "1");
g.addEdge("Edge2", "0", "2");
g.addEdge("Edge3", "2", "1");
g.addEdge("Edge4", "3", "1");
VisualizationImageServer<String, String> vv = new VisualizationImageServer<>(new CircleLayout<>(g),
new Dimension(600, 400));
Transformer<String, String> transformer = new Transformer<String, String>() {
@Override
public String transform(String arg0) {
return arg0;
}
};
vv.getRenderContext().setVertexLabelTransformer(transformer);
JFrame frame = new JFrame("My Graph");
frame.setLocationRelativeTo(null);
frame.getContentPane().add(vv);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}