diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..919ce1f --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..f3c84df --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..c51a615 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..947ef88 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_blackears_svgSalamander_v1_1_1.xml b/.idea/libraries/Maven__com_github_blackears_svgSalamander_v1_1_1.xml new file mode 100644 index 0000000..0eb11fa --- /dev/null +++ b/.idea/libraries/Maven__com_github_blackears_svgSalamander_v1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 0000000..d411041 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_kxml_kxml2_2_3_0.xml b/.idea/libraries/Maven__net_sf_kxml_kxml2_2_3_0.xml new file mode 100644 index 0000000..67cf048 --- /dev/null +++ b/.idea/libraries/Maven__net_sf_kxml_kxml2_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_ant_ant_1_8_1.xml b/.idea/libraries/Maven__org_apache_ant_ant_1_8_1.xml new file mode 100644 index 0000000..f122bf2 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_ant_ant_1_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_1.xml b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_1.xml new file mode 100644 index 0000000..1435a57 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapsforge_mapsforge_core_0_13_0.xml b/.idea/libraries/Maven__org_mapsforge_mapsforge_core_0_13_0.xml new file mode 100644 index 0000000..fb3ffc3 --- /dev/null +++ b/.idea/libraries/Maven__org_mapsforge_mapsforge_core_0_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapsforge_mapsforge_map_0_13_0.xml b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_0_13_0.xml new file mode 100644 index 0000000..0f8ad1c --- /dev/null +++ b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_0_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapsforge_mapsforge_map_awt_0_13_0.xml b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_awt_0_13_0.xml new file mode 100644 index 0000000..6e1c2ba --- /dev/null +++ b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_awt_0_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapsforge_mapsforge_map_reader_0_13_0.xml b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_reader_0_13_0.xml new file mode 100644 index 0000000..0f17059 --- /dev/null +++ b/.idea/libraries/Maven__org_mapsforge_mapsforge_map_reader_0_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapsforge_mapsforge_themes_0_13_0.xml b/.idea/libraries/Maven__org_mapsforge_mapsforge_themes_0_13_0.xml new file mode 100644 index 0000000..04930e6 --- /dev/null +++ b/.idea/libraries/Maven__org_mapsforge_mapsforge_themes_0_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..80cd069 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..1c9660a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/be-graphes-algos/be-graphes-algos.iml b/be-graphes-algos/be-graphes-algos.iml new file mode 100644 index 0000000..5e684f2 --- /dev/null +++ b/be-graphes-algos/be-graphes-algos.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file 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..7fdb523 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 org.insa.graphs.algorithm.AbstractSolution; +import org.insa.graphs.algorithm.utils.BinaryHeap; +import org.insa.graphs.algorithm.utils.Label; +import org.insa.graphs.model.Arc; +import org.insa.graphs.model.Graph; +import org.insa.graphs.model.Node; +import org.insa.graphs.model.Path; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + public class DijkstraAlgorithm extends ShortestPathAlgorithm { public DijkstraAlgorithm(ShortestPathData data) { @@ -9,8 +21,76 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { @Override protected ShortestPathSolution doRun() { final ShortestPathData data = getInputData(); + Graph gr = data.getGraph(); + + // array containing all the labels + Label[] labels = new Label[gr.size()]; + + + //initialization of the labels + int i = 0; + for (Node l : gr.getNodes()){ + labels[i] = new Label(l, false, null); + i++; + } + + // initialization of the heap & the first node + BinaryHeap