diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/marathon.txt b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/marathon.txt index 74c3bc0..7be616b 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/marathon.txt +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/marathon.txt @@ -11,6 +11,9 @@ contraintes : - on vérifie que tous les sommets du marathon se situent à l'intérieur de cette zone - chaque sommet doit avoir une zone (autour de lui) de sommets voisins acceptables. Cette zone doit contenir tous les sommets de distance inférieure ou égale à 4 km par rapport au sommet précédent. - on ne peut pas avoir des arcs qui se croisent +- on ne peut pas avoir d'obstacles sur le chemin +- on ne peut pas avoir de grosses montées ou descentes + 1er algo: on considère qu'on connait le point de départ et le point d'arrivée @@ -18,8 +21,29 @@ contraintes : ALGO int dist_done = 0; //distance déja effectuée depuis le point de départ - - +liste_deja_visite //liste avec sommets déjà visités (au début elle ne contient que l'origine) +//on appelle origine le point de départ et dest le point de destination +zone //zone des arcs acceptables pour chaque sommet. Par exemple zone[k] donne tous les arcs acceptables en partant du sommet k. + +//x est le sommet qu'on est en train de traiter +//suc est l'arc successeur + +for suc in zone[x] loop + +if suc.roadType==PEDESTRIAN or suc.roadType==CYCLEWAY or suc.roadType==TRUNK or suc.roadType==TRACK then + //on lève une exception et on affiche un message qui dit que cette rue n'est pas acceptable car elle est très petite +end if + + +for i in liste_deja_visite loop + if x==i then + //on lève une exception et on affiche un message pour dire que le sommet a déjà été visité + end if +end loop + + +if x==dest then + //on est arrivé à la destination diff --git a/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/DijkstraTest.java b/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/DijkstraTest.java index a62514d..3cbda83 100644 --- a/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/DijkstraTest.java +++ b/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/DijkstraTest.java @@ -9,6 +9,7 @@ import org.insa.graphs.algorithm.shortestpath.ShortestPathData; import org.insa.graphs.algorithm.shortestpath.ShortestPathSolution; import org.insa.graphs.model.Graph; import org.insa.graphs.model.Node; +import org.insa.graphs.model.Path; import org.insa.graphs.model.io.BinaryGraphReader; import org.insa.graphs.model.io.GraphReader; import java.io.IOException; @@ -62,7 +63,7 @@ public class DijkstraTest { bellman2 = new BellmanFordAlgorithm(new ShortestPathData(graph1,origin2,destination2,ArcInspectorFactory.getAllFilters().get(2))); solDijkstra2 = dijkstra2.run(); solBellman2 = bellman2.run(); - } + } @Test public void testDijkstra1(){//test en distance avec Bellman-Ford