Stable Version 3.0

3 Beispiele hinzugefügt
This commit is contained in:
Sean Reich 2024-07-06 01:34:51 +02:00
parent 79198f4f4a
commit cfcb6d4d40
2 changed files with 103 additions and 8 deletions

View File

@ -5,9 +5,7 @@
</component>
<component name="ChangeListManager">
<list default="true" id="70f8ea87-9ffc-471a-8059-ebbfc323adcc" name="Changes" comment="Stable Version 3.0">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/graph/DirectedGraph.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/DirectedGraph.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/ProjektGraph/graph/DirectedGraph.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/ProjektGraph/graph/DirectedGraph.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/graph/ExampleGraphs.java" beforeDir="false" afterPath="$PROJECT_DIR$/graph/ExampleGraphs.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@ -9,11 +9,11 @@ public class ExampleGraphs {
public DirectedGraph<VertexMarking, EdgeMarking> example1 (){
/*
* Beispiel 1 ist ein "Gitter" an Knoten und Kanten. Dabei hat jede Kante die selbe Gewichtung und Start und Endknoten sind in
* entgegengesetzten Ecken
*
* Ziel:
* Zeigen wie A* direkter sucht als Dikstra
* Beispiel 1 ist ein "Gitter" an Knoten und Kanten. Dabei hat jede Kante die selbe Gewichtung und Start und Endknoten sind in
* entgegengesetzten Ecken
*
* Ziel:
* Zeigen wie A* direkter sucht als Dikstra
*/
@ -64,4 +64,101 @@ public class ExampleGraphs {
graph.addEdge(forwardEdge);
graph.addEdge(backwardEdge);
}
public DirectedGraph<VertexMarking, EdgeMarking> example2() {
DirectedGraph<VertexMarking, EdgeMarking> example2 = new DirectedGraph<>();
MarkedVertex A = new MarkedVertex<>(50, 50, "A", null, null);
MarkedVertex B = new MarkedVertex<>(150, 50, "B", null, null);
MarkedVertex C = new MarkedVertex<>(250, 50, "C", null, null);
MarkedVertex D = new MarkedVertex<>(50, 150, "D", null, null);
MarkedVertex E = new MarkedVertex<>(150, 150, "E", null, null);
MarkedVertex F = new MarkedVertex<>(250, 150, "F", null, null);
MarkedVertex G = new MarkedVertex<>(150, 250, "G", null, null);
example2.addVertex(A);
example2.addVertex(B);
example2.addVertex(C);
example2.addVertex(D);
example2.addVertex(E);
example2.addVertex(F);
example2.addVertex(G);
example2.addEdge(new MarkedEdge<>("AB", A, B, null, 2));
example2.addEdge(new MarkedEdge<>("AC", A, C, null, 4));
example2.addEdge(new MarkedEdge<>("BD", B, D, null, 5));
example2.addEdge(new MarkedEdge<>("BE", B, E, null, 3));
example2.addEdge(new MarkedEdge<>("CE", C, E, null, 1));
example2.addEdge(new MarkedEdge<>("DF", D, F, null, 2));
example2.addEdge(new MarkedEdge<>("EF", E, F, null, 2));
example2.addEdge(new MarkedEdge<>("EG", E, G, null, 4));
example2.addEdge(new MarkedEdge<>("FG", F, G, null, 3));
return example2;
}
public DirectedGraph<VertexMarking, EdgeMarking> example3() {
DirectedGraph<VertexMarking, EdgeMarking> example3 = new DirectedGraph<>();
MarkedVertex A = new MarkedVertex<>(50, 50, "A", null, null);
MarkedVertex B = new MarkedVertex<>(150, 50, "B", null, null);
MarkedVertex C = new MarkedVertex<>(250, 50, "C", null, null);
MarkedVertex D = new MarkedVertex<>(50, 150, "D", null, null);
MarkedVertex E = new MarkedVertex<>(150, 150, "E", null, null);
example3.addVertex(A);
example3.addVertex(B);
example3.addVertex(C);
example3.addVertex(D);
example3.addVertex(E);
example3.addEdge(new MarkedEdge<>("AB", A, B, null, 1));
example3.addEdge(new MarkedEdge<>("AC", A, C, null, 1));
example3.addEdge(new MarkedEdge<>("BD", B, D, null, 1));
example3.addEdge(new MarkedEdge<>("BE", B, E, null, 2));
example3.addEdge(new MarkedEdge<>("CD", C, D, null, 1));
example3.addEdge(new MarkedEdge<>("CE", C, E, null, 2));
example3.addEdge(new MarkedEdge<>("DE", D, E, null, 1));
return example3;
}
public DirectedGraph<VertexMarking, EdgeMarking> example4() {
DirectedGraph<VertexMarking, EdgeMarking> example4 = new DirectedGraph<>();
MarkedVertex A = new MarkedVertex<>(50, 50, "A", null, null);
MarkedVertex B = new MarkedVertex<>(150, 50, "B", null, null);
MarkedVertex C = new MarkedVertex<>(250, 50, "C", null, null);
MarkedVertex D = new MarkedVertex<>(50, 150, "D", null, null);
MarkedVertex E = new MarkedVertex<>(150, 150, "E", null, null);
MarkedVertex F = new MarkedVertex<>(250, 150, "F", null, null);
MarkedVertex G = new MarkedVertex<>(50, 250, "G", null, null);
MarkedVertex H = new MarkedVertex<>(150, 250, "H", null, null);
MarkedVertex I = new MarkedVertex<>(250, 250, "I", null, null);
example4.addVertex(A);
example4.addVertex(B);
example4.addVertex(C);
example4.addVertex(D);
example4.addVertex(E);
example4.addVertex(F);
example4.addVertex(G);
example4.addVertex(H);
example4.addVertex(I);
example4.addEdge(new MarkedEdge<>("AB", A, B, null, 2));
example4.addEdge(new MarkedEdge<>("AC", A, C, null, 4));
example4.addEdge(new MarkedEdge<>("BD", B, D, null, 3));
example4.addEdge(new MarkedEdge<>("BE", B, E, null, 2));
example4.addEdge(new MarkedEdge<>("CF", C, F, null, 2));
example4.addEdge(new MarkedEdge<>("DG", D, G, null, 2));
example4.addEdge(new MarkedEdge<>("EH", E, H, null, 3));
example4.addEdge(new MarkedEdge<>("FI", F, I, null, 4));
example4.addEdge(new MarkedEdge<>("GH", G, H, null, 1));
example4.addEdge(new MarkedEdge<>("HI", H, I, null, 1));
example4.addEdge(new MarkedEdge<>("GI", G, I, null, 3));
return example4;
}
}