avancement Djikstra (fait pour la fusion)

This commit is contained in:
Matteo Sabben 2025-05-09 10:35:15 +02:00
parent e93202c4df
commit c5d7ff8f12

View file

@ -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();
} }