From cad511386bac9ff197caac04bd6fee9a6b216a3d Mon Sep 17 00:00:00 2001 From: Benmouffok Helwen Date: Fri, 29 May 2026 12:11:38 +0200 Subject: [PATCH] =?UTF-8?q?Dijkstra=20fonctionnel=20valid=C3=A9=20avec=20l?= =?UTF-8?q?e=20prof+il=20manquera=20=C3=A0=20impl=C3=A9menter=20LabelStar?= =?UTF-8?q?=20et=20Astar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../algorithm/shortestpath/DijkstraAlgorithm.java | 7 +++++-- .../insa/graphs/algorithm/shortestpath/Label.java | 5 +++-- .../graphs/algorithm/shortestpath/LabelStar.java | 12 ++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/LabelStar.java diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java index 4bb6939..5d35836 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java @@ -61,14 +61,17 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { if (nouveauCout < labelSucc.getCoutRealise()) { boolean dejaDansTas = Double.isFinite(labelSucc.getCoutRealise()); - labelSucc.setCoutRealise(nouveauCout); - labelSucc.setPere(arc); + if (dejaDansTas) { tas.remove(labelSucc); } else { notifyNodeReached(arc.getDestination()); } + labelSucc.setCoutRealise(nouveauCout); + labelSucc.setPere(arc); + + tas.insert(labelSucc); } } diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java index a1bce0c..a3ef8da 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java @@ -16,7 +16,8 @@ public class Label implements Comparable