feat(astar): create labels by algorithm
This commit is contained in:
parent
632662ee75
commit
f77aea0371
2 changed files with 14 additions and 1 deletions
|
@ -1,9 +1,18 @@
|
|||
package org.insa.graphs.algorithm.shortestpath;
|
||||
|
||||
import org.insa.graphs.model.Node;
|
||||
|
||||
public class AStarAlgorithm extends DijkstraAlgorithm {
|
||||
private Node destination;
|
||||
|
||||
@Override
|
||||
protected Label createLabel(Node node) {
|
||||
return new LabelStar(node, destination);
|
||||
}
|
||||
|
||||
public AStarAlgorithm(ShortestPathData data) {
|
||||
super(data);
|
||||
destination = data.getDestination();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,6 +16,10 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
|
|||
super(data);
|
||||
}
|
||||
|
||||
protected Label createLabel(Node node) {
|
||||
return new Label(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ShortestPathSolution doRun() {
|
||||
|
||||
|
@ -38,7 +42,7 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
|
|||
for (Node node : graph.getNodes()) {
|
||||
// Luckily they are ordered by id.
|
||||
// ArrayList.set only works if the value is already initialized (because why Java?)
|
||||
labels.add(new Label(node));
|
||||
labels.add(this.createLabel(node));
|
||||
}
|
||||
|
||||
Label s = labels.get(data.getOrigin().getId());
|
||||
|
|
Loading…
Reference in a new issue