Java中的图形创建
在java中构造无向图的最佳方法是什么?我需要创建一个图表,以便在其上运行BFS和DFS。该图表应包括路径成本和相邻边等信息。您可以使用可用的库。例如,是一个提供标准图形算法的库。JgraphT提供了一个用于执行BFS的迭代器,请参见。下面是一个简单的例子:Java中的图形创建,java,search,graph,tree,breadth-first-search,Java,Search,Graph,Tree,Breadth First Search,在java中构造无向图的最佳方法是什么?我需要创建一个图表,以便在其上运行BFS和DFS。该图表应包括路径成本和相邻边等信息。您可以使用可用的库。例如,是一个提供标准图形算法的库。JgraphT提供了一个用于执行BFS的迭代器,请参见。下面是一个简单的例子: SimpleWeightedGraph<Integer, DefaultWeightedEdge> graph = new SimpleWeightedGraph<>(DefaultWeightedEdge.clas
SimpleWeightedGraph<Integer, DefaultWeightedEdge> graph = new SimpleWeightedGraph<>(DefaultWeightedEdge.class);
graph.addVertex(1);
graph.addVertex(2);
graph.addVertex(3);
DefaultWeightedEdge edge = graph.addEdge(1, 3);
graph.setEdgeWeight(edge, 11.22);
edge = graph.addEdge(3, 2);
graph.setEdgeWeight(edge, 44.33);
BreadthFirstIterator<Integer, DefaultWeightedEdge> it = new BreadthFirstIterator<>(graph);
for (; it.hasNext();) {
Integer i = it.next();
System.out.println("Node: " + i);
}
SimpleWeightedGraph图形=新的SimpleWeightedGraph(defaultWeightEdge.class);
图.addVertex(1);
图.添加顶点(2);
图.添加顶点(3);
DefaultWeightedEdge边=graph.addEdge(1,3);
图.SetedgeWight(edge,11.22);
边=图形。添加边(3,2);
图.SetedgeWight(edge,44.33);
宽幅拼接器it=新的宽幅拼接器(图);
for(;it.hasNext();){
整数i=it.next();
System.out.println(“节点:+i”);
}
@Schrieveslaach感谢您的回复,但我想自己构造一个方法,而不是使用外部库。