你好我目前正在研究Dijkstras算法。我想计算选择的特定边缘的大小以便改变下一个边缘的成本等。我有一个问题,即添加特定边缘被选择的次数。我链接了部分代码。
Edge dirC = new Edge("d" + nodes.get(i * ds.columns + j), nodes.get(i * ds.columns + j), nodes.get((i + 1) * ds.columns + j), downcost1);
edges.add(dirC);
在这部分中添加了特定边缘“dirC”。我想添加一个“dicCcount”然后获取计数器的值,以便在运行此部分后在if语句中使用它。 Edge类看起来像这样。
package autonavigate;
public class Edge {
private final String id;
private final Vertex source;
private final Vertex destination;
private final double weight;
public Edge(String id, Vertex source, Vertex destination, double weight) {
this.id = id;
this.source = source;
this.destination = destination;
this.weight = weight;
}
public String getId() {
return id;
}
public Vertex getDestination() {
return destination;
}
public Vertex getSource() {
return source;
}
public double getWeight() {
return weight;
}
@Override
public String toString() {
return source + " " + destination;
}
}
我试图解决这个问题几个小时,但我无法弄清楚如何做到这一点。它不是一个家庭作业,它是我为遥控车做的一个程序:)。
有任何建议吗?
答案 0 :(得分:0)
如果我正确理解您的问题,您可以考虑以下其中一项: