avancement Djikstra (fait pour la fusion)
This commit is contained in:
parent
e93202c4df
commit
c5d7ff8f12
1 changed files with 16 additions and 3 deletions
|
|
@ -43,7 +43,7 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
|
||||||
Node nodeOriginel=data.getOrigin();
|
Node nodeOriginel=data.getOrigin();
|
||||||
Node nodeDestination=data.getDestination();
|
Node nodeDestination=data.getDestination();
|
||||||
|
|
||||||
BinaryHeap<Node> leTas=new BinaryHeap<Node>;
|
BinaryHeap<Label> leTas=new BinaryHeap<Label>;
|
||||||
|
|
||||||
List<Arc> listeSuccesseurs;
|
List<Arc> listeSuccesseurs;
|
||||||
|
|
||||||
|
|
@ -55,9 +55,22 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
|
||||||
System.out.println("Le node originel n'a pas de successeurs \n");
|
System.out.println("Le node originel n'a pas de successeurs \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//les mettre ds le tas (les destinations de l'arc pas les arcs en eux-mêmes)
|
|
||||||
for(Arc arcActuel : listeSuccesseurs){
|
for(Arc arcActuel : listeSuccesseurs){
|
||||||
leTas.insert(arcActuel.getDestination());
|
Label labelAInserer ; //On set le label à insérer
|
||||||
|
labelAInserer.setSommetCourant(arcActuel.getDestination());
|
||||||
|
labelAInserer.setMarque(false);
|
||||||
|
labelAInserer.setCoutRealise(arcActuel.getMinimumTravelTime());
|
||||||
|
labelAInserer.setPere(arcActuel);
|
||||||
|
|
||||||
|
leTas.insert(labelAInserer); //pour la comparaison la class BinaryHeap utilise la fct compareTo qu'on a redéfinit dans Label
|
||||||
|
}
|
||||||
|
|
||||||
|
while (!leTas.isEmpty()){
|
||||||
|
Label labelMin = leTas.findMin() ;
|
||||||
|
leTas.deleteMin();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue