Java jgrapht KruskalmiminSpanningTree检索边权重
我有一个图,我需要得到最小生成树,所以我使用了Java jgrapht KruskalmiminSpanningTree检索边权重,java,jgrapht,Java,Jgrapht,我有一个图,我需要得到最小生成树,所以我使用了kruskalmimimumspanningtree类,现在我需要检索每个边的权重,因此根据的API有一个方法getWeight() 它检索边的权重,但是在实现以下代码后,方法getWeight()不存在 KruskalMinimumSpanningTree<Pixel, DefaultWeightedEdge> k= new KruskalMinimumSpanningTree(gg); Set<Def
kruskalmimimumspanningtree
类,现在我需要检索每个边的权重,因此根据的API有一个方法getWeight()
它检索边的权重,但是在实现以下代码后,方法getWeight()
不存在
KruskalMinimumSpanningTree<Pixel, DefaultWeightedEdge> k= new KruskalMinimumSpanningTree(gg);
Set<DefaultWeightedEdge> itr = k.getSpanningTree().getEdges();
for(DefaultWeightedEdge edge: itr)
System.out.println(edge.getWeight());
kruskalminiumspanningtree k=新的kruskalminiumspanningtree(gg);
设置itr=k.getSpanningTree().GetEdge();
对于(默认权重边缘:itr)
System.out.println(edge.getWeight());
为什么会这样 好的。我为我的问题找到了解决方案,显然这些方法是受保护的。一种方法是:
KruskalMinimumSpanningTree<Pixel, DefaultWeightedEdge> k= new
KruskalMinimumSpanningTree(gg);
Set<DefaultWeightedEdge> itr = k.getSpanningTree().getEdges();
for(DefaultWeightedEdge edge: itr)
System.out.println(gg.getEdgeWeight(edge));
kruskalmimimumspanningtree k=new
KruskalminumSpanningtree(gg);
设置itr=k.getSpanningTree().GetEdge();
对于(默认权重边缘:itr)
System.out.println(gg.getedgewight(edge));
这是正确的(也是预期的)方法。您需要通过图形界面查询边的权重。