From 369b12ee76533d81fca920ca538a3639888a1e39 Mon Sep 17 00:00:00 2001 From: Brendan Saint-Germes Date: Mon, 11 May 2026 12:00:05 +0200 Subject: [PATCH] =?UTF-8?q?ajout:=20Impl=C3=A9mentation=20de=20l'algorithm?= =?UTF-8?q?e=20de=20Dijkstra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shortestpath/DijkstraAlgorithm.java | 91 +++++++++++++++++-- .../graphs/algorithm/shortestpath/Label.java | 52 +++++++++++ .../graphs/algorithm/utils/BinaryHeap.java | 2 - .../org/insa/graphs/gui/simple/Launch.java | 4 +- 4 files changed, 139 insertions(+), 10 deletions(-) create mode 100644 be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.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 18a540f..68b8e1b 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 @@ -1,5 +1,17 @@ package org.insa.graphs.algorithm.shortestpath; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import org.insa.graphs.algorithm.AbstractSolution.Status; +import org.insa.graphs.algorithm.utils.BinaryHeap; +import org.insa.graphs.algorithm.utils.ElementNotFoundException; +import org.insa.graphs.model.Arc; +import org.insa.graphs.model.Node; +import org.insa.graphs.model.Path; + + public class DijkstraAlgorithm extends ShortestPathAlgorithm { public DijkstraAlgorithm(ShortestPathData data) { @@ -8,17 +20,84 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { @Override protected ShortestPathSolution doRun() { - - // retrieve data from the input problem (getInputData() is inherited from the - // parent class ShortestPathAlgorithm) final ShortestPathData data = getInputData(); - // variable that will contain the solution of the shortest path problem + + System.out.println("==> Initialisation du tas binaire"); + final HashMap labels = new HashMap<>(); // clé-valeur pour retrouver le label associé à un noeud à partir de son id + final BinaryHeap