From dd6632a1b375b7431df96eed29dda1155c42f10c Mon Sep 17 00:00:00 2001 From: Pellerin Tiphaine Date: Thu, 16 Apr 2026 10:45:43 +0200 Subject: [PATCH] classe label et algo dijkstra --- .../shortestpath/DijkstraAlgorithm.java | 78 ++++++++ .../graphs/algorithm/shortestpath/Label.java | 53 ++++++ .../algorithm/utils/BinarySearchTree.java | 17 +- .../algorithm/utils/PriorityQueueTest.java | 24 ++- .../be-graphes-algos-0.0.1-SNAPSHOT.jar | Bin 0 -> 44295 bytes .../graphs/algorithm/AbstractAlgorithm.class | Bin 0 -> 2239 bytes .../algorithm/AbstractInputData$Mode.class | Bin 0 -> 1319 bytes .../graphs/algorithm/AbstractInputData.class | Bin 0 -> 1651 bytes .../algorithm/AbstractSolution$Status.class | Bin 0 -> 1433 bytes .../graphs/algorithm/AbstractSolution.class | Bin 0 -> 1662 bytes .../graphs/algorithm/AlgorithmFactory.class | Bin 0 -> 4260 bytes .../insa/graphs/algorithm/ArcInspector.class | Bin 0 -> 481 bytes ...Factory$NoFilterByLengthArcInspector.class | Bin 0 -> 1464 bytes ...Factory$OnlyCarsByLengthArcInspector.class | Bin 0 -> 1836 bytes ...orFactory$OnlyCarsByTimeArcInspector.class | Bin 0 -> 1278 bytes ...nspectorFactory$OnlyPedestrianByTime.class | Bin 0 -> 2423 bytes .../algorithm/ArcInspectorFactory.class | Bin 0 -> 1194 bytes .../carpooling/CarPoolingAlgorithm.class | Bin 0 -> 1427 bytes .../algorithm/carpooling/CarPoolingData.class | Bin 0 -> 558 bytes .../CarPoolingGraphicObserver.class | Bin 0 -> 437 bytes .../carpooling/CarPoolingObserver.class | Bin 0 -> 154 bytes .../carpooling/CarPoolingSolution.class | Bin 0 -> 832 bytes .../carpooling/CarPoolingTextObserver.class | Bin 0 -> 428 bytes .../PackageSwitchAlgorithm.class | Bin 0 -> 1484 bytes .../packageswitch/PackageSwitchData.class | Bin 0 -> 573 bytes .../PackageSwitchGraphicObserver.class | Bin 0 -> 458 bytes .../packageswitch/PackageSwitchObserver.class | Bin 0 -> 163 bytes .../packageswitch/PackageSwitchSolution.class | Bin 0 -> 859 bytes .../PackageSwitchTextObserver.class | Bin 0 -> 449 bytes .../shortestpath/AStarAlgorithm.class | Bin 0 -> 524 bytes .../shortestpath/BellmanFordAlgorithm.class | Bin 0 -> 3941 bytes .../shortestpath/DijkstraAlgorithm.class | Bin 0 -> 986 bytes .../shortestpath/ShortestPathAlgorithm.class | Bin 0 -> 2602 bytes .../shortestpath/ShortestPathData.class | Bin 0 -> 1790 bytes .../shortestpath/ShortestPathObserver.class | Bin 0 -> 316 bytes .../shortestpath/ShortestPathSolution.class | Bin 0 -> 3838 bytes .../ShortestPathTextObserver.class | Bin 0 -> 1613 bytes .../graphs/algorithm/utils/BinaryHeap.class | Bin 0 -> 4672 bytes .../utils/BinaryHeapFormatter$Context.class | Bin 0 -> 2293 bytes .../algorithm/utils/BinaryHeapFormatter.class | Bin 0 -> 5051 bytes .../algorithm/utils/BinarySearchTree.class | Bin 0 -> 3106 bytes .../utils/ElementNotFoundException.class | Bin 0 -> 1280 bytes .../utils/EmptyPriorityQueueException.class | Bin 0 -> 444 bytes .../algorithm/utils/PriorityQueue.class | Bin 0 -> 603 bytes .../WeaklyConnectedComponentObserver.class | Bin 0 -> 421 bytes ...WeaklyConnectedComponentTextObserver.class | Bin 0 -> 2044 bytes .../WeaklyConnectedComponentsAlgorithm.class | Bin 0 -> 6050 bytes .../WeaklyConnectedComponentsData.class | Bin 0 -> 720 bytes .../WeaklyConnectedComponentsSolution.class | Bin 0 -> 3326 bytes .../target/formatter-maven-cache.properties | 40 ++++ .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 44 +++++ .../compile/default-compile/inputFiles.lst | 37 ++++ .../default-testCompile/createdFiles.lst | 5 + .../default-testCompile/inputFiles.lst | 3 + ...26-04-16T08-58-56_601-jvmRun1-commands.bin | 1 + .../2026-04-16T08-58-56_601-jvmRun1.dump | 3 + ...26-04-16T09-02-11_066-jvmRun1-commands.bin | 1 + .../2026-04-16T09-02-11_066-jvmRun1.dump | 3 + ...26-04-16T09-04-42_991-jvmRun1-commands.bin | 1 + .../2026-04-16T09-04-42_991-jvmRun1.dump | 3 + ....graphs.algorithm.utils.BinaryHeapTest.xml | 176 ++++++++++++++++++ ...s.algorithm.utils.BinarySearchTreeTest.xml | 176 ++++++++++++++++++ ....graphs.algorithm.utils.BinaryHeapTest.txt | 4 + ...s.algorithm.utils.BinarySearchTreeTest.txt | 4 + .../algorithm/utils/BinaryHeapTest.class | Bin 0 -> 1504 bytes .../utils/BinarySearchTreeTest.class | Bin 0 -> 1534 bytes .../PriorityQueueTest$MutableInteger.class | Bin 0 -> 1915 bytes .../PriorityQueueTest$TestParameters.class | Bin 0 -> 888 bytes .../algorithm/utils/PriorityQueueTest.class | Bin 0 -> 10404 bytes 70 files changed, 658 insertions(+), 18 deletions(-) create mode 100644 be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java create mode 100644 be-graphes-algos/target/be-graphes-algos-0.0.1-SNAPSHOT.jar create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AbstractAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AbstractInputData$Mode.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AbstractInputData.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AbstractSolution$Status.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AbstractSolution.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/AlgorithmFactory.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspector.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspectorFactory$NoFilterByLengthArcInspector.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspectorFactory$OnlyCarsByLengthArcInspector.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspectorFactory$OnlyCarsByTimeArcInspector.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspectorFactory$OnlyPedestrianByTime.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/ArcInspectorFactory.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingData.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingGraphicObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingSolution.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/carpooling/CarPoolingTextObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchData.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchGraphicObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchSolution.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/packageswitch/PackageSwitchTextObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/BellmanFordAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/ShortestPathAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/ShortestPathData.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/ShortestPathObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/ShortestPathSolution.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/ShortestPathTextObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/BinaryHeap.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/BinaryHeapFormatter$Context.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/BinaryHeapFormatter.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/BinarySearchTree.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/ElementNotFoundException.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/EmptyPriorityQueueException.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/utils/PriorityQueue.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentTextObserver.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsAlgorithm.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsData.class create mode 100644 be-graphes-algos/target/classes/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsSolution.class create mode 100644 be-graphes-algos/target/formatter-maven-cache.properties create mode 100644 be-graphes-algos/target/maven-archiver/pom.properties create mode 100644 be-graphes-algos/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 be-graphes-algos/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 be-graphes-algos/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 be-graphes-algos/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T08-58-56_601-jvmRun1-commands.bin create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T08-58-56_601-jvmRun1.dump create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T09-02-11_066-jvmRun1-commands.bin create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T09-02-11_066-jvmRun1.dump create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T09-04-42_991-jvmRun1-commands.bin create mode 100644 be-graphes-algos/target/surefire-reports/2026-04-16T09-04-42_991-jvmRun1.dump create mode 100644 be-graphes-algos/target/surefire-reports/TEST-org.insa.graphs.algorithm.utils.BinaryHeapTest.xml create mode 100644 be-graphes-algos/target/surefire-reports/TEST-org.insa.graphs.algorithm.utils.BinarySearchTreeTest.xml create mode 100644 be-graphes-algos/target/surefire-reports/org.insa.graphs.algorithm.utils.BinaryHeapTest.txt create mode 100644 be-graphes-algos/target/surefire-reports/org.insa.graphs.algorithm.utils.BinarySearchTreeTest.txt create mode 100644 be-graphes-algos/target/test-classes/org/insa/graphs/algorithm/utils/BinaryHeapTest.class create mode 100644 be-graphes-algos/target/test-classes/org/insa/graphs/algorithm/utils/BinarySearchTreeTest.class create mode 100644 be-graphes-algos/target/test-classes/org/insa/graphs/algorithm/utils/PriorityQueueTest$MutableInteger.class create mode 100644 be-graphes-algos/target/test-classes/org/insa/graphs/algorithm/utils/PriorityQueueTest$TestParameters.class create mode 100644 be-graphes-algos/target/test-classes/org/insa/graphs/algorithm/utils/PriorityQueueTest.class 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..4d0c6de 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,15 @@ package org.insa.graphs.algorithm.shortestpath; +import java.util.ArrayList; +import java.util.Collections; + +import org.insa.graphs.algorithm.utils.BinaryHeap; +import org.insa.graphs.model.Arc; +import org.insa.graphs.model.Graph; +import org.insa.graphs.model.Node; +import org.insa.graphs.algorithm.AbstractSolution.Status; +import org.insa.graphs.model.Path; + public class DijkstraAlgorithm extends ShortestPathAlgorithm { public DijkstraAlgorithm(ShortestPathData data) { @@ -9,16 +19,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(); + Graph graph = data.getGraph(); + final int nbNodes = graph.size(); + ArrayList