From cd0803a07b5cc6eca175c9fbdf5b39c758d83afd Mon Sep 17 00:00:00 2001 From: Fu Boyu Date: Fri, 14 Apr 2023 16:05:24 +0200 Subject: [PATCH] Dijkstra fini --- .../shortestpath/DijkstraAlgorithm.java | 86 +++++++++++++++++ .../graphs/algorithm/shortestpath/Label.java | 65 +++++++++++++ .../graphs/algorithm/utils/BinaryHeap.java | 11 ++- .../main/java/org/insa/graphs/model/Path.java | 94 ++++++++++++++++--- 4 files changed, 242 insertions(+), 14 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 bacb8e3..b376afa 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,16 @@ package org.insa.graphs.algorithm.shortestpath; +import java.util.List; +import java.util.ArrayList; +import java.util.Collections; +import org.insa.graphs.algorithm.AbstractSolution; +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.model.Path; + + public class DijkstraAlgorithm extends ShortestPathAlgorithm { public DijkstraAlgorithm(ShortestPathData data) { @@ -11,6 +22,81 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { final ShortestPathData data = getInputData(); ShortestPathSolution solution = null; // TODO: + Graph graph = data.getGraph(); + List nodes = graph.getNodes(); + BinaryHeap