Hallo im Moment arbeite ich an einem Dijkstras-Algorithmus. Ich möchte die Anzahl bestimmter Kanten zählen, die ausgewählt werden, um die Kosten für die nächste Kante usw. zu ändern. Ich habe ein Problem damit, hinzuzufügen, wie oft eine bestimmte Kante ausgewählt wurde. Ich verbinde Teile meines Codes.Zählen Sie spezifische Kanten für Dijkstra-Algorithmus
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);
wird eine spezifische Flanke "DIRC" in diesem Teil hinzugefügt. Ich möchte einen "dicCcount" hinzufügen und dann den Wert des Zählers zurückholen, um ihn in einer if-Anweisung zu verwenden, nachdem dieser Teil ausgeführt wurde. Die Edge-Klasse sieht so aus.
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;
}
}
Ich habe versucht, dies für Stunden zu lösen, aber ich kann nicht herausfinden, wie es zu tun. Es ist keine Hausaufgabe, es ist ein Programm, das ich für ein ferngesteuertes Auto gemacht habe :).
Irgendwelche Vorschläge, wie es geht?