From 03d1d8f729a6ff0ed4e0199b94e0198baddcaa61 Mon Sep 17 00:00:00 2001 From: alartigu Date: Mon, 1 Jun 2020 18:17:28 +0200 Subject: [PATCH] Dernieres modifications --- .../graphs/algorithm/shortestpath/DijkstraAlgorithm.java | 8 +++++++- .../org/insa/graphs/algorithm/utils/ComparerAlgoTest.java | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) 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 21d1c3e..cd35bb3 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 @@ -43,6 +43,8 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { double old_cost = 0 ; // on utilisera cette variable pour vérifier si le coût est croissant int nbMarque = 0; // correspond au nombre de sommet marqué + int explorer = 0 ; // correspond au nombre de sommet exploré + while(!TabLabel[data.getDestination().getId()].isMarque() ) { // tant que la destination est non marqués Node X ; try { @@ -73,6 +75,7 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { Tas.insert(TabLabel[Y.getId()]); TabLabel[Y.getId()].setFather(a); this.notifyNodeReached(Y); + explorer ++ ; } else if(TabLabel[Y.getId()].getCost() > TabLabel[X.getId()].getCost()+ data.getCost(a)) { TabLabel[Y.getId()].setCost( TabLabel[X.getId()].getCost()+ data.getCost(a) ); @@ -85,7 +88,8 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { } } } - + long fin = System.nanoTime(); // pour le temps d'execution + // Create the path from the array of predecessors... ArrayList arcs = new ArrayList<>(); @@ -134,6 +138,8 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { System.out.println("Nb iterations: " + nbMarque + ", Nb arcs du PCC: " + arcs.size()); + System.out.println("Nb de sommets explorés : " + explorer); + return solution; } diff --git a/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/ComparerAlgoTest.java b/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/ComparerAlgoTest.java index 188e227..9606eea 100644 --- a/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/ComparerAlgoTest.java +++ b/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/ComparerAlgoTest.java @@ -96,7 +96,7 @@ public class ComparerAlgoTest { Assume.assumeTrue(parameters.getOrigin() == parameters.getDestination() && parameters.getGraph().getMapName() != graph2.getMapName()); ShortestPathAlgorithm DA = new DijkstraAlgorithm(parameters); ShortestPathAlgorithm BF = new BellmanFordAlgorithm(parameters); - assertEquals( DA.run().getPath() , BF.run().getPath()); + assertEquals( DA.run().getStatus() , BF.run().getStatus()); } // -----------------------------DijkstraNormalPathSP------------------------------------- @@ -117,7 +117,7 @@ public class ComparerAlgoTest { Assume.assumeTrue(parameters.getOrigin() == parameters.getDestination() && parameters.getGraph().getMapName() != graph2.getMapName()); AStarAlgorithm AS = new AStarAlgorithm(parameters); ShortestPathAlgorithm BF = new BellmanFordAlgorithm(parameters); - assertEquals( AS.run().getPath() , BF.run().getPath()); + assertEquals( AS.run().getStatus() , BF.run().getStatus()); } // ----------------------------------AStarNormalPathSP-------------------------------------