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 nodeDestination=data.getDestination();
|
||||
|
||||
BinaryHeap<Node> leTas=new BinaryHeap<Node>;
|
||||
BinaryHeap<Label> leTas=new BinaryHeap<Label>;
|
||||
|
||||
List<Arc> listeSuccesseurs;
|
||||
|
||||
|
|
@ -55,9 +55,22 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
|
|||
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){
|
||||
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