我有一个图,我需要获取最小的生成树,所以我使用了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));

10-02 21:58