我試圖運行Dijkstra的圖形上的算法。我需要讀取圖形建模語言(將gml文件插入到我的Graph,Vertex和Edges Data結構中)。 的GML文件是有點像這樣 圖表 [ 定向0 節點 [ ID 0 標籤 「楊百翰」 值7 ] 節點 [ ID 1 標籤 「FloridaState」 值0 ] 。 。 。 。 的Java是否有可以讀取這些數據轉化爲我的課任庫?或者有關在Java中創建解析器的建議?我正在嘗試jgraphT,但似乎無法弄清楚。有一個類GMLImporter,但我不明白如何使用它。它需要Vertex Provider和Edge提供程序。請提出一些解決方法!jGraphT庫爲Java
0
A
回答
0
在1.0.0版本從2016年9月,我們已包括全新的GML進口商/出口商。使用它們非常簡單。在Jgrapht每個班配備了一個廣泛的測試套件(只是爲了確保我們不會在版本之間打破任何東西)。這些測試類的好處是它們包含大量的例子。例如參見類GmlImporterTest.java
。
實施例:讀取從GML文件一個無向加權圖:
Graph<String, E> g=new SimpleWeightedGraph<String, E>(DefaultWeightedEdge.class);
VertexProvider<String> vp = new VertexProvider<String>()
{
@Override
public String buildVertex(String label, Map<String, String> attributes)
{
return label;
}
};
EdgeProvider<String, E> ep = new EdgeProvider<String, E>()
{
@Override
public E buildEdge(String from, String to, String label, Map<String, String> attributes)
{
return g.getEdgeFactory().createEdge(from, to);
}
};
GmlImporter<String, E> importer = new GmlImporter<String, E>(vp, ep);
importer.importGraph(g, new File("myGraph.gml"));
的VertexProvider
和EdgeProvider
告訴進口商如何創建頂點/邊對象。
相關問題
- 1. Java JGrapht二分圖
- 2. Java:.equals()失敗集(JGraphT)
- 3. JAVA Jgrapht Hopcroft Karp Bipartite匹配
- 4. JGraphT不能轉換爲org.jgrapht.graph.DefaultWeightedEdge
- 5. 在jgrapht
- 6. 可以使用JGraphT java庫來製作3D圖形
- 7. JGraphT示例
- 8. 擴展SimpleWeightedGraph - JgraphT
- 9. Jgrapht邊緣顏色
- 10. 目標C的jGraphT?
- 11. 在JGraphT中合併圖表
- 12. JGraphT - 最大獨立集
- 13. JGraphT避免循環(Bellman Ford)
- 14. JGraphT圖最短路徑
- 15. UndirectedGraph使用JgraphT/Jgraph定義
- 16. JGraphT - 適用於BFS WeightedGraph
- 17. Java:使用JGraphT生成最小生成樹?
- 18. 如何將jgrapht庫添加到我的系統中?
- 19. jgrapht class jgrapht中,這將允許我動態地構造一個圖
- 20. 使用JGraphT來管理相關任務
- 21. 什麼DefaultEdge.class意味着jgrapht例如
- 22. JGrapht:使用DirectedSubgraph.java類生成子圖
- 23. 用JGraphT更改頂點的內容
- 24. JGraphT - UndirectedGraph - addEdge方法不起作用
- 25. JGraphT的圖形佈局算法
- 26. 讓加權圖在JGraphT中工作
- 27. 如何在JGraphT中複製圖形?
- 28. Java和JGraphT - 不理解結果 - 傳遞值/參考問題或別的東西?
- 29. 如何在JGraphT上爲自己創建的Java類創建自己的JUnit測試?
- 30. 如何將Android庫更改爲Java庫