我有一个图,我需要获取最小的生成树,所以我使用了KruskalMinimumSpanningTree
类,现在我需要检索每个边缘权重,因此根据DefaultWeightedEdge的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());
为什么会这样呢?
最佳答案
好。我为我的问题找到了解决方案,显然这些方法是受保护的。一种方法是:
KruskalMinimumSpanningTree<Pixel, DefaultWeightedEdge> k= new
KruskalMinimumSpanningTree(gg);
Set<DefaultWeightedEdge> itr = k.getSpanningTree().getEdges();
for(DefaultWeightedEdge edge: itr)
System.out.println(gg.getEdgeWeight(edge));