Version 6.6.0 (2025-02-11): Originalversion auf Lehrerfortbildungsserver (2022)

This commit is contained in:
Thomas Schaller 2025-02-11 16:22:42 +01:00
parent 7f19235667
commit c922801a4e
211 changed files with 7084 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,26 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,2
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,siedlerohnefischer.png
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,0
# gerichtet 1, ungerichtet 0
directed,1
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list,infotext
Farm,284,83,1,3
Mühle,533,109,2
Bäckerei,690,154,6,5
Schweinefarm,124,239,4
Metzger,173,366,5,6
Kohlemine,425,441,7,8
Erzmine,734,280,7
Eisenschmelze,583,343,8
Werkzeugmacher,401,258,0,4,5,6
Can't render this file because it contains an unexpected character in line 7 and column 33.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,32 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,1
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,2
# Kantenfarben: RGB-Hexcode (z.B. FF0000) oder invisible
# Reihenfolge: normale Kanten, markierte Kanten, gelöschte Kanten
edgeColor,FFFFFF,FF0000,A0A0A0
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,teich.png
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,1
# gerichtet 1, ungerichtet 0
directed,0
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list
100,134,1,144.0,2,221.0
241,161,0,144.0,6,174.0
88,355,0,221.0,3,168.0
226,450,2,168.0,4,183.0
387,364,3,183.0,5,187.0
521,233,4,187.0,6,189.0,7,134.0,8,185.0
399,89,1,174.0,5,189.0
653,210,5,134.0,8,137.0
667,346,5,185.0,7,137.0,9,144.0
633,486,8,144.0
38,569,11,250.0
288,567,10,250.0
Can't render this file because it contains an unexpected character in line 10 and column 33.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,51 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Größe der Knoten
vertexSize,17
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,0
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,0
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,eis2.png
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,0
# gerichtet 1, ungerichtet 0
directed,0
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list
15,16,1,21
112,15,0,15,2
218,14,1,7,3
328,13,2,4,6
405,13,3,5
406,80,4,10,6
326,81,3,5,8,7
223,80,2,6,13,14,15
326,174,6,9,28,13
366,174,8,10,12
409,175,5,9,11
416,232,10,31,12
374,237,9,11,30
222,175,7,8,27,17,14
173,122,7,13,16
111,82,1,7,16,20
110,123,14,15,17
109,174,13,16,26,18
64,173,17,23,19
63,129,18,20,22
64,81,15,19,21
16,80,0,20,22
17,128,19,21,23
18,172,18,22,24
18,294,23,25
109,294,24,29,26
109,246,17,25,27
221,246,13,26,28
325,247,8,27,29
327,296,25,28,30
373,297,12,29,31
416,294,11,30
Can't render this file because it contains an unexpected character in line 9 and column 33.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,26 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,2
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,0
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,0
# gerichtet 1, ungerichtet 0
directed,1
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list,infotext
Albert,126,103,3,6,8,4
Boris,236,42,0,2,3,8,6
Cecile,286,131,0,8
Didi,352,89,4
Elli,382,216
Felix,294,313,4
Greta,186,284,8,5
Horst,95,211,0,6,8,3
Ian,256,216,4,5,3
Can't render this file because it contains an unexpected character in line 7 and column 33.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,26 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,1
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,2
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,0
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,1
# gerichtet 1, ungerichtet 0
directed,1
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list,infotext
,57,398
Donnerstag,173,306,3,6.0,4,3.0,2,2.0
Samstag,59,221,6,2.0,5,4.0
Mittwoch,172,217,6,5.0
Sonntag,277,220,7,6.0
Mittwoch,58,122,8,0.0
Montag,171,125,8,0.0
Samstag,278,122,8,0.0
Freitag,171,40
Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -0,0 +1,28 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,0
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,0
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,0
# gerichtet 1, ungerichtet 0
directed,0
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list,infotext
Erna,214,89,1,8,9,10,7
Gustav,348,87,0,8,9,10
Ursel,196,307,3,8,7
Heinrich,103,306,2,4
Anna,160,216,3,7
Leni,477,211,10,9,8,7
Wilfriede,419,147,10,9,8,7
Paul,480,307,8,9,10,2,4,5,6,0
Birgit,201,388,0,5,6,7,1,2
Cecile,288,390,0,5,6,7,1
Dirk,373,394,0,5,6,7,1
Can't render this file because it contains an unexpected character in line 7 and column 33.

Binary file not shown.

View file

@ -0,0 +1,35 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,0
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,0
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,0
# gerichtet 1, ungerichtet 0
directed,0
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list,infotext
M,68,104,2,5,15,10,17,11,3,6,4,16,12,9,7,14
m,103,66,3,5,8,7,14,12,11,2,13,17,6,4,9,16
D,207,29,0,1,5,15,10,17,11,8,7,13,6,4,14,9,12
d,265,30,0,1,6,4,16,12,11,5,8,10,14,9,7,17
Inf,453,283,0,1,2,3,6,16,12,11,14,17,9
E,358,52,0,1,2,3,15,10,17,11,8,14,12,9,16
e,398,86,0,1,2,3,4,16,12,11,14,17,10
Ch,299,406,0,1,2,3,8,13,17,11,9,16,12
F,452,146,1,2,3,5,7,10,14,12,11,13,17,16
f,458,203,0,1,2,3,4,5,7,16,12,11,14,17
ch,243,405,0,2,3,5,6,8,15,17,11,14,12
s,42,183,0,1,2,3,4,5,6,7,8,9,10,15,17,16,14,12,13
bk,38,256,0,1,2,3,4,5,6,7,8,9,10,11,16,14
b,112,362,1,2,7,8,11,17
B,159,387,0,1,2,3,4,5,6,8,9,10,11,12
p,381,380,0,2,5,10,11,17
P,416,351,0,1,3,4,5,6,7,8,9,11,12,17
mu,59,306,0,1,2,3,4,5,6,7,8,9,10,11,13,15,16
Can't render this file because it contains an unexpected character in line 7 and column 33.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,32 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,1
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,0
# Kantenfarben: RGB-Hexcode (z.B. FF0000) oder invisible
# Reihenfolge: normale Kanten, markierte Kanten, gelöschte Kanten
edgeColor,000000,FF0000,A0A0A0
# Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,gefaengnis.png
#
# Graph:
# gewichtet 1, ungewichtet 0
weighted,1
# gerichtet 1, ungerichtet 0
directed,0
# Der Graph liegt hier in Form einer Adjazenzliste vor.
# Jede Zeile steht fuer einen Knoten, durch Komma getrennt steht der adjazente Knoten mit dem zugehoerigen Kantengewicht.
list
93,316,1,2.0,10,0.0,11,0.0
143,211,0,2.0,2,1.0,9,1.0,7,2.0
139,144,1,1.0,3,2.0,11,2.0
190,89,2,2.0,4,1.0
266,79,3,1.0,5,1.0,6,2.0
302,157,4,1.0,8,2.0
246,137,4,2.0,7,1.0
224,179,1,2.0,6,1.0,8,1.0
269,221,5,2.0,7,1.0,9,1.0,10,1.0
200,247,1,1.0,8,1.0
309,266,0,0.0,8,1.0
44,160,0,0.0,2,2.0
Can't render this file because it contains an unexpected character in line 10 and column 33.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,72 @@
package algorithmen;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.nio.file.*;
import graph.*;
/**
* Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
* Algorithmus: Algorithmus A von Moore
*
* @version 1.0 from 10.12.2020
* @author Thomas Schaller
*/
public class GraphAlgo_ScotlandYard extends GraphAlgo {
// Anfang Attribute
public String getBezeichnung() {
return "ScotlandYard (Moore)";
}
// Anfang Methoden
public void fuehreAlgorithmusAus() {
if (g.getAnzahlKnoten()==0) {
return;
}
info("Erzeuge leere toDo-Liste und füge Startknoten hinzu");
List<Knoten> toDo = new ArrayList<Knoten>();
int[] detektive={46,89,140};
for (int e : detektive) {
g.getKnoten(e-1).setWert(0);
g.getKnoten(e-1).setBesucht(true);
toDo.add(g.getKnoten(e-1));
}
while(toDo.size()>0) {
info("Nimm ersten Knoten aus der toDo-Liste (momentan "+toDo.size()+" Elemente) heraus");
Knoten k = toDo.remove(0);
infoIndentMore();
k.setMarkiert(true);
info("Markiere den Knoten");
info("Er hat Entfernung "+k.getIntWert());
info("Für jeden Nachbarknoten");
infoIndentMore();
for(Knoten n : g.getNachbarknoten(k)) {
if(!n.isBesucht()){
n.setWert(k.getIntWert()+1);
toDo.add(n);
info("- ist noch nicht markiert, setze Entfernung "+(k.getIntWert()+1)+" und füge der ToDo-Liste am Ende hinzu.");
g.getKante(k,n).setMarkiert(true);
n.setBesucht(true);
info(" toDo-Liste hat jetzt "+toDo.size()+" Elemente");
} else {
info("- ist schon markiert");
}
}
infoIndentLess();
infoIndentLess();
step();
}
info("ToDo-Liste fertig abgearbeitet");
} // end
// Ende Methoden
}