0
在java中構造無向圖的最佳方式是什麼?我需要創建一個圖形,以便我可以在其上運行BFS和DFS。圖形應該包含路徑成本和相鄰邊等信息。在Java中創建圖表
在java中構造無向圖的最佳方式是什麼?我需要創建一個圖形,以便我可以在其上運行BFS和DFS。圖形應該包含路徑成本和相鄰邊等信息。在Java中創建圖表
您可以使用可用的庫。例如,JgraphT是一個提供標準圖算法的庫。 JgraphT提供了一個用於執行BFS的迭代器,請參閱here。這裏有一個簡單的例子:
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);
}
@Schrieveslaach謝謝你的回覆,但我想自己構建一個方法,而不是使用外部庫。 – v1kas