Fetch Upstream v7.4 - 01/2025

This commit is contained in:
Max Mustermann 2026-03-17 08:43:07 +01:00
parent 09967a1c1b
commit 667bc4638b
68 changed files with 2772 additions and 2770 deletions

View file

@ -2,12 +2,14 @@ PROJEKTBEZEICHNUNG: GraphenTester
PROJEKTZWECK: Didaktisches Werkzeug um Graphenrepräsentation und -algorithmen kennen zu lernen PROJEKTZWECK: Didaktisches Werkzeug um Graphenrepräsentation und -algorithmen kennen zu lernen
VERSION oder DATUM: 24.06.2021 VERSION oder DATUM: 24.06.2021
INSTALLATIONSHINWEISE:
im Ordner Hintergrund
WIE IST DAS PROJEKT IN BLUEJ ZU STARTEN: WIE IST DAS PROJEKT IN BLUEJ ZU STARTEN:
Rechtsklick auf die Klasse Graphentester Rechtsklick auf die Klasse Graphentester
--> new --> new
--> OK --> OK
AUTOR(EN): Dirk Zechnall / Thomas Schaller AUTOR(EN): Dirk Zechnall / Thomas Schaller
**********************************************************************************************
UPSTREAM URL: https://edugit.edugit.org/ts-zsl-rska/graphentester/-/tree/master/3_vorlagen_tauschordner/1_graphentester

View file

@ -14,7 +14,7 @@ import javafx.application.Platform;
* Abstrakte Oberklasse für alle zu simulierende Algorithmen * Abstrakte Oberklasse für alle zu simulierende Algorithmen
* Diese müssen die Methode getBezeichnung(): String und fuehreAlgorithmusAus() überschreiben. * Diese müssen die Methode getBezeichnung(): String und fuehreAlgorithmusAus() überschreiben.
* *
* @version 6.7 (Dez. 2020) * @version 7.1 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -78,10 +78,9 @@ public abstract class GraphAlgo extends Thread {
/** /**
* Muss vom Algorithmus aufgerufen werden, um einen Haltepunkt zu setzen * Muss vom Algorithmus aufgerufen werden, um einen Haltepunkt zu setzen
*/ */
public void step() { public void step() throws InterruptedException {
if(gp == null) return; if(gp == null) return;
try{ try{
//System.out.println("Step");
gp.updateImage(); gp.updateImage();
aktuellerZustand = g.getStatus(); aktuellerZustand = g.getStatus();
waitforclick = true; waitforclick = true;
@ -95,9 +94,13 @@ public abstract class GraphAlgo extends Thread {
if (hilfe != null) hilfe.setReviewAllowed(false); if (hilfe != null) hilfe.setReviewAllowed(false);
g.setStatus(aktuellerZustand); g.setStatus(aktuellerZustand);
aktuellerZustand = null; aktuellerZustand = null;
if(Thread.interrupted()){
throw new InterruptedException();
}
}catch(Exception e) { }catch(Exception e) {
// Erneutes Stop, damit nicht stop während des Sleeps hier abgefangen wird. // Erneutes Stop, damit nicht stop während des Sleeps hier abgefangen wird.
stop(); //System.out.println("Step wurde unterbrochen");
throw e;
} }
} }
@ -146,17 +149,13 @@ public abstract class GraphAlgo extends Thread {
if (hilfe != null) hilfe.setReviewAllowed(false); if (hilfe != null) hilfe.setReviewAllowed(false);
fuehreAlgorithmusAus(); fuehreAlgorithmusAus();
gp.updateImage(); gp.updateImage();
// System.out.println("Algorithmus beendet"); //System.out.println("Algorithmus beendet");
} catch( ThreadDeath e){ } catch( InterruptedException e){
// System.out.println("Algorithmus vorzeitig beendet."+e); //System.out.println("Algorithmus vorzeitig beendet."+e);
} } finally {
if (hilfe != null) hilfe.setReviewAllowed(true); if (hilfe != null) hilfe.setReviewAllowed(true);
inArbeit = false; inArbeit = false;
return;
} }
else
{
return;
} }
} }
// Ende Methoden // Ende Methoden
@ -184,7 +183,7 @@ public abstract class GraphAlgo extends Thread {
/** /**
* Methode für den eigentlichen Algorithmus * Methode für den eigentlichen Algorithmus
*/ */
public abstract void fuehreAlgorithmusAus(); public abstract void fuehreAlgorithmusAus() throws InterruptedException;
/** /**
* Name des Algorithmus für die Dropdown-Auswahl * Name des Algorithmus für die Dropdown-Auswahl
@ -257,3 +256,4 @@ public abstract class GraphAlgo extends Thread {
} }
} }

View file

@ -9,7 +9,7 @@ import graph.*;
* Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. * Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
* Algorithmus: Bellman-Ford * Algorithmus: Bellman-Ford
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -37,7 +37,7 @@ public class GraphAlgo_BellmanFord extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -10,7 +10,7 @@ import graph.*;
* Dieser Algorithmus nummeriert alle Knoten des Graphen. * Dieser Algorithmus nummeriert alle Knoten des Graphen.
* Algorithmus: Breitensuche mit ToDo-Liste (Schlange) * Algorithmus: Breitensuche mit ToDo-Liste (Schlange)
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -23,7 +23,7 @@ public class GraphAlgo_Breitensuche extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -10,7 +10,7 @@ import graph.*;
* die gleiche Farbe haben und möglichst wenige Farben benutzt werden. * die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
* Algorithmus: Backtracking * Algorithmus: Backtracking
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -25,7 +25,7 @@ public class GraphAlgo_ColoringBacktracking extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }
@ -35,7 +35,7 @@ public class GraphAlgo_ColoringBacktracking extends GraphAlgo {
step(); step();
} }
private void bestimmeColoring(int benutzteFarben) { private void bestimmeColoring(int benutzteFarben) throws InterruptedException {
int min = Integer.MAX_VALUE; int min = Integer.MAX_VALUE;
List<Knoten> knoten = g.getAlleKnoten(k->k.getFarbe()<=0); List<Knoten> knoten = g.getAlleKnoten(k->k.getFarbe()<=0);

View file

@ -9,7 +9,7 @@ import graph.*;
* die gleiche Farbe haben und möglichst wenige Farben benutzt werden. * die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
* Algorithmus: Näherungslösung mit Greedy-Algorithmus * Algorithmus: Näherungslösung mit Greedy-Algorithmus
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
public class GraphAlgo_ColoringGreedy extends GraphAlgo { public class GraphAlgo_ColoringGreedy extends GraphAlgo {
@ -26,7 +26,7 @@ public class GraphAlgo_ColoringGreedy extends GraphAlgo {
// Ende Attribute // Ende Attribute
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
List<Knoten> knoten = g.getAlleKnoten(); List<Knoten> knoten = g.getAlleKnoten();
info("Wiederhole für jeden Knoten"); info("Wiederhole für jeden Knoten");
for (Knoten aktuellerKnoten: knoten ) { for (Knoten aktuellerKnoten: knoten ) {

View file

@ -10,7 +10,7 @@ import graph.*;
* die gleiche Farbe haben und möglichst wenige Farben benutzt werden. * die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
* Algorithmus: Näherungslösung mit Greedy-Algorithmus (Knotenreihenfolge zufällig) * Algorithmus: Näherungslösung mit Greedy-Algorithmus (Knotenreihenfolge zufällig)
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -28,7 +28,7 @@ public class GraphAlgo_ColoringGreedyRandom extends GraphAlgo {
// Ende Attribute // Ende Attribute
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
List<Knoten> knoten = g.getAlleKnoten(); List<Knoten> knoten = g.getAlleKnoten();
Collections.shuffle(knoten); Collections.shuffle(knoten);
info("Wiederhole für jeden Knoten"); info("Wiederhole für jeden Knoten");

View file

@ -10,7 +10,7 @@ import graph.*;
* Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. * Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
* Algorithmus: Dijkstra * Algorithmus: Dijkstra
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -31,7 +31,7 @@ public class GraphAlgo_Dijkstra extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -11,7 +11,7 @@ import graph.*;
* Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen. * Dieser Algorithmus findet die kürzesten Pfade in einem gewichteten Graphen.
* Algorithmus: Dijkstra * Algorithmus: Dijkstra
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -34,7 +34,7 @@ public class GraphAlgo_DijkstraMitVorgaenger extends GraphAlgo {
gp.getGraphOptions().knotenLangtext = new String[]{"Infotext","Entfernung","Vorgänger","Markiert","Besucht"}; gp.getGraphOptions().knotenLangtext = new String[]{"Infotext","Entfernung","Vorgänger","Markiert","Besucht"};
} }
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -10,7 +10,7 @@ import graph.*;
* und bestimmt den Zeitbedarf. * und bestimmt den Zeitbedarf.
* Algorithmus: Backtracking * Algorithmus: Backtracking
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -26,7 +26,7 @@ public class GraphAlgo_DominatingSetBacktracking extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
long starttime = System.currentTimeMillis(); long starttime = System.currentTimeMillis();
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
@ -41,7 +41,7 @@ public class GraphAlgo_DominatingSetBacktracking extends GraphAlgo {
private void bestimmeDominierendeMenge(int knoten) { private void bestimmeDominierendeMenge(int knoten) throws InterruptedException {
List<String> status = g.getStatus(); List<String> status = g.getStatus();
List<Knoten> markierte = g.getAlleKnoten(kn->kn.isMarkiert()); List<Knoten> markierte = g.getAlleKnoten(kn->kn.isMarkiert());

View file

@ -11,7 +11,7 @@ import graph.*;
* Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen * Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen
* und bestimmt den Zeitbedarf. * und bestimmt den Zeitbedarf.
* Algorithmus: Genetischer Algorithmus * Algorithmus: Genetischer Algorithmus
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -31,7 +31,7 @@ public class GraphAlgo_DominatingSetGenetisch extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
population = new int[popGroesse][g.getAnzahlKnoten()]; population = new int[popGroesse][g.getAnzahlKnoten()];
double[] bewertungen = new double[popGroesse]; double[] bewertungen = new double[popGroesse];
for(int i=0; i<popGroesse; i++) { for(int i=0; i<popGroesse; i++) {

View file

@ -1,56 +0,0 @@
package algorithmen;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.nio.file.*;
import java.util.Random;
import graph.*;
/**
* Dieser Algorithmus bestimmt die kleinste dominierende Menge in einem Graphen
* und bestimmt den Zeitbedarf.
* Algorithmus: Greedy mit Strategie:
* Nimm den Knoten mit den meisten Nachbarn
*
* @version 1.0 from 10.12.2020
* @author Thomas Schaller
*/
public abstract class GraphAlgo_DominatingSetGreedy extends GraphAlgo {
/** Bestimmt besten Knoten nach Strategie */
protected abstract Knoten bestimmeBesten();
// Anfang Methoden
public void fuehreAlgorithmusAus() {
if (g.getAnzahlKnoten()==0) {
return;
}
List<Knoten> knoten = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht());
info("Solange es noch nicht überdeckte Knoten gibt, wiederhole...");
int nr = 1;
while(knoten.size() > 0) {
info("Bestimme "+(nr++)+". hinzuzufügenden Knoten");
infoIndentMore();
Knoten bester = bestimmeBesten();
bester.setMarkiert(true);
bester.setBesucht(false);
info("Markiere diesen Knoten ...");
List<Knoten> nachbarn = g.getNachbarknoten(bester,kn->!kn.isMarkiert() && !kn.isBesucht());
for(Knoten k : nachbarn) {
k.setBesucht(true);
}
info("... und setze alle bisher nicht überdeckten Nachbarn auf besucht");
knoten = g.getAlleKnoten(kn->!kn.isMarkiert() && !kn.isBesucht());
step();
infoIndentLess();
}// end of while
nr--;
melde("Dominierende Menge mit " + nr + " Knoten gefunden.");
}
// Ende Methoden
}

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* Nimm den Knoten mit den meisten Nachbarn * Nimm den Knoten mit den meisten Nachbarn
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -48,7 +48,7 @@ public class GraphAlgo_DominatingSetGreedyA extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -13,7 +13,7 @@ import graph.*;
* und bestimmt den Zeitbedarf. * und bestimmt den Zeitbedarf.
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* Nimm den Knoten mit den wenigsten Nachbarn * Nimm den Knoten mit den wenigsten Nachbarn
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -47,7 +47,7 @@ public class GraphAlgo_DominatingSetGreedyB extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* Nimm den Knoten mit den meisten Nachbarn * Nimm den Knoten mit den meisten Nachbarn
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -49,7 +49,7 @@ public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* Nimm den Knoten mit den meisten Nachbarn * Nimm den Knoten mit den meisten Nachbarn
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -49,7 +49,7 @@ public class GraphAlgo_DominatingSetGreedyD extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo {
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
*/ */
private Knoten bestimmeBesten() { private Knoten bestimmeBesten() throws InterruptedException {
Random r= new Random(); Random r= new Random();
List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() ); List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() );
@ -68,7 +68,7 @@ public class GraphAlgo_DominatingSetGreedyE extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo {
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
*/ */
private Knoten bestimmeBesten() { private Knoten bestimmeBesten() throws InterruptedException {
Random r= new Random(); Random r= new Random();
List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() ); List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() );
@ -68,7 +68,7 @@ public class GraphAlgo_DominatingSetGreedyF extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo {
* ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von einem beliebigen schon ausgewählten Knoten die Entfernung 3 hat
*/ */
private Knoten bestimmeBesten() { private Knoten bestimmeBesten() throws InterruptedException {
Random r= new Random(); Random r= new Random();
List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() ); List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() );
@ -68,7 +68,7 @@ public class GraphAlgo_DominatingSetGreedyG extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo {
/** Bestimmt besten Knoten nach Strategie: /** Bestimmt besten Knoten nach Strategie:
* ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat * ein nicht abgedeckten Knoten, der von möglichst vielen schon ausgewählten Knoten die Entfernung 3 hat
*/ */
private Knoten bestimmeBesten() { private Knoten bestimmeBesten() throws InterruptedException {
Random r = new Random(); Random r = new Random();
List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() ); List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() );
List<Knoten> nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() ); List<Knoten> nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() );
@ -71,7 +71,7 @@ public class GraphAlgo_DominatingSetGreedyH extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -14,7 +14,7 @@ import graph.*;
* Algorithmus: Greedy mit Strategie: * Algorithmus: Greedy mit Strategie:
* ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat * ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -30,7 +30,7 @@ public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo {
* ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat * ein nicht abgedeckten Knoten, der von den ausgewählten Knoten eine möglichst große Entfernung hat
*/ */
private Knoten bestimmeBesten() { private Knoten bestimmeBesten() throws InterruptedException {
Random r = new Random(); Random r = new Random();
List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() ); List<Knoten> markierte = g.getAlleKnoten(k->k.isMarkiert() );
List<Knoten> nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() ); List<Knoten> nichtabgedeckte = g.getAlleKnoten(k->!k.isMarkiert() && !k.isBesucht() );
@ -84,7 +84,7 @@ public class GraphAlgo_DominatingSetGreedyI extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -8,7 +8,7 @@ import graph.*;
* Algorithmus: Zunächst wird auf geraden Grad der Knoten getestet, danach * Algorithmus: Zunächst wird auf geraden Grad der Knoten getestet, danach
* mit Tiefensuche der Zusammenhang des Graphen überprüft. * mit Tiefensuche der Zusammenhang des Graphen überprüft.
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -18,7 +18,7 @@ public class GraphAlgo_EulerkreisExistenz extends GraphAlgo {
return "Eulerkreis (Existenz)"; return "Eulerkreis (Existenz)";
} }
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -25,7 +25,7 @@ public class GraphAlgo_MST_Kruskal extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
int farbe = 1; int farbe = 1;
List<Kante> kanten = g.getAlleKanten(); List<Kante> kanten = g.getAlleKanten();
List<Knoten> knoten = g.getAlleKnoten(); List<Knoten> knoten = g.getAlleKnoten();

View file

@ -24,7 +24,7 @@ public class GraphAlgo_MST_Prim extends GraphAlgo {
return "MST (Prim)"; return "MST (Prim)";
} }
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
int markiert = 0; int markiert = 0;
List<Knoten> knoten; List<Knoten> knoten;
List<Kante> kanten; List<Kante> kanten;

View file

@ -10,7 +10,7 @@ import graph.*;
* Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen. * Dieser Algorithmus findet die kürzesten Pfade in einem ungewichteten Graphen.
* Algorithmus: Algorithmus A von Moore * Algorithmus: Algorithmus A von Moore
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -23,7 +23,7 @@ public class GraphAlgo_Moore extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -32,7 +32,7 @@ public class GraphAlgo_TSPBacktracking extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
start = this.getStartKnoten(); start = this.getStartKnoten();
probiere(start); probiere(start);
g.setStatus(besteLoesung); g.setStatus(besteLoesung);
@ -40,7 +40,7 @@ public class GraphAlgo_TSPBacktracking extends GraphAlgo {
melde("beste Route gefunden:" +getInfo()); melde("beste Route gefunden:" +getInfo());
} // end of for } // end of for
public void probiere(Knoten akt) { public void probiere(Knoten akt) throws InterruptedException {
boolean fertig = true; boolean fertig = true;
infoIndentMore(); infoIndentMore();
akt.setMarkiert(true); akt.setMarkiert(true);

View file

@ -30,7 +30,7 @@ public class GraphAlgo_TSPGenetisch extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
population = new int[popGroesse][g.getAnzahlKnoten()+1]; population = new int[popGroesse][g.getAnzahlKnoten()+1];
double[] rundreiseLaenge = new double[popGroesse]; double[] rundreiseLaenge = new double[popGroesse];
for(int i=0; i<popGroesse; i++) { for(int i=0; i<popGroesse; i++) {

View file

@ -28,7 +28,7 @@ public class GraphAlgo_TSPGreedy extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
Knoten start = this.getStartKnoten(); Knoten start = this.getStartKnoten();
Knoten akt = start; Knoten akt = start;
Kante min; Kante min;

View file

@ -29,7 +29,7 @@ public class GraphAlgo_TSPGreedy2 extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
int farbe = 1; int farbe = 1;
int anzkanten = 0; int anzkanten = 0;
List<Kante> kanten = g.getAlleKanten(); List<Kante> kanten = g.getAlleKanten();

View file

@ -27,7 +27,7 @@ public class GraphAlgo_TSPGreedyOpt extends GraphAlgo {
} }
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
Knoten start = this.getStartKnoten(); Knoten start = this.getStartKnoten();
Knoten akt = start; Knoten akt = start;
List<Knoten> reihung = new ArrayList<Knoten>(); List<Knoten> reihung = new ArrayList<Knoten>();

View file

@ -10,7 +10,7 @@ import graph.*;
* Dieser Algorithmus nummeriert alle Knoten des Graphen. * Dieser Algorithmus nummeriert alle Knoten des Graphen.
* Algorithmus: Tiefensuche mit ToDo-Liste (Stapel) * Algorithmus: Tiefensuche mit ToDo-Liste (Stapel)
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -24,7 +24,7 @@ public class GraphAlgo_Tiefensuche extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }

View file

@ -10,7 +10,7 @@ import graph.*;
* Dieser Algorithmus nummeriert alle Knoten des Graphen. * Dieser Algorithmus nummeriert alle Knoten des Graphen.
* Algorithmus: Tiefensuche rekursiv * Algorithmus: Tiefensuche rekursiv
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -24,14 +24,14 @@ public class GraphAlgo_TiefensucheRek extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
} }
nummeriere(getStartKnoten(), 0); nummeriere(getStartKnoten(), 0);
} // end } // end
private int nummeriere(Knoten k, int nr) { private int nummeriere(Knoten k, int nr) throws InterruptedException {
// Abbruchbedingung // Abbruchbedingung
if(k.isBesucht()) { if(k.isBesucht()) {
info("Untersuche "+g.getKnoteninfo(k,false)+" => ist schon besucht"); info("Untersuche "+g.getKnoteninfo(k,false)+" => ist schon besucht");

View file

@ -10,7 +10,7 @@ import graph.*;
* Er sucht einen Zyklus im Graphen. * Er sucht einen Zyklus im Graphen.
* Algorithmus: Backtracking * Algorithmus: Backtracking
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -22,13 +22,13 @@ public class GraphAlgo_ZyklusBacktracking extends GraphAlgo {
return "Zyklensuche (Backtracking)"; return "Zyklensuche (Backtracking)";
} }
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
List<String> loesung = backtracking(getStartKnoten()); List<String> loesung = backtracking(getStartKnoten());
if(loesung != null) g.setStatus(loesung); if(loesung != null) g.setStatus(loesung);
step(); step();
} }
public List<String> backtracking(Knoten k){ public List<String> backtracking(Knoten k) throws InterruptedException {
List<String> loesung = null; List<String> loesung = null;

View file

@ -8,7 +8,7 @@ import graph.*;
/** /**
* Dieser Algorithmus findet eine topologische Sortierung des Graphen. * Dieser Algorithmus findet eine topologische Sortierung des Graphen.
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -23,7 +23,7 @@ public class GraphAlgo_toplogischeSortierung extends GraphAlgo {
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
String reihenfolge = ""; String reihenfolge = "";
if (g.getAnzahlKnoten()==0) { if (g.getAnzahlKnoten()==0) {
return; return;
@ -43,26 +43,28 @@ public class GraphAlgo_toplogischeSortierung extends GraphAlgo {
info("Sortiere die noch nicht markierten Knoten nach ihrem Wert"); info("Sortiere die noch nicht markierten Knoten nach ihrem Wert");
Knoten k = knoten.get(0); Knoten k = knoten.get(0);
k.setMarkiert(true); k.setMarkiert(true);
info("Nimm Knoten "+g.getKnoteninfo(k,false)+" und markiere ihn."); info("Nimm Knoten mit dem geringsten Wert: "+g.getKnoteninfo(k,false)+" und markiere ihn.");
if(k.getIntWert() != 0) { if(k.getIntWert() != 0) {
melde("Fehler: Wert ist nicht 0 - Zyklus vorhanden"); melde("Fehler: Wert ist nicht 0 - Zyklus vorhanden - Keine topologische Sortierung möglich");
knoten.clear(); knoten.clear();
return; return;
} else { } else {
reihenfolge += " "+g.getKnoteninfo(k, false); reihenfolge += " "+g.getKnoteninfo(k, false);
info("Füge ihn der Liste hinzu: "+reihenfolge); info("Füge ihn der Liste hinzu: "+reihenfolge);
knoten.remove(k); knoten.remove(k);
info("Reduziere den Wert aller Nachbarn von "+g.getKnoteninfo(k,false)+" um 1");
infoIndentMore();
for(Knoten k2 : g.getNachbarknoten(k)) { for(Knoten k2 : g.getNachbarknoten(k)) {
k2.setWert(k2.getIntWert()-1); k2.setWert(k2.getIntWert()-1);
info("Setze "+g.getKnoteninfo(k2, false)+" auf "+k2.getIntWert());
} }
info("Reduziere den Wert aller Nachbarn von Knoten "+g.getNummer(k)+" um 1"); infoIndentLess();
} }
step(); step();
} }
melde("Topologische Sortierung: "+reihenfolge); melde("Topologische Sortierung: "+reihenfolge);
} // end } // end
// Ende Methoden // Ende Methoden

View file

@ -23,16 +23,16 @@ dependency7.type=UsesDependency
dependency8.from=GraphAlgo_DominatingSetGreedyH dependency8.from=GraphAlgo_DominatingSetGreedyH
dependency8.to=GraphAlgo_Moore dependency8.to=GraphAlgo_Moore
dependency8.type=UsesDependency dependency8.type=UsesDependency
objectbench.height=140 objectbench.height=66
objectbench.width=750 objectbench.width=1428
package.divider.horizontal=0.6003172085646312 package.divider.horizontal=0.6003172085646312
package.divider.vertical=0.822463768115942 package.divider.vertical=0.9027962716378163
package.editor.height=661 package.editor.height=671
package.editor.width=1133 package.editor.width=1292
package.editor.x=234 package.editor.x=100
package.editor.y=49 package.editor.y=118
package.frame.height=928 package.frame.height=852
package.frame.width=1297 package.frame.width=1452
package.numDependencies=8 package.numDependencies=8
package.numTargets=32 package.numTargets=32
package.showExtends=true package.showExtends=true
@ -47,222 +47,222 @@ target1.name=GraphAlgo_ColoringGreedyRandom
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=290 target1.width=290
target1.x=600 target1.x=740
target1.y=590 target1.y=590
target10.height=50 target10.height=50
target10.name=GraphAlgo_DominatingSetGreedyF target10.name=GraphAlgo_DominatingSetGreedyF
target10.showInterface=false target10.showInterface=false
target10.type=ClassTarget target10.type=ClassTarget
target10.width=280 target10.width=280
target10.x=290 target10.x=430
target10.y=420 target10.y=420
target11.height=50 target11.height=50
target11.name=GraphAlgo_DominatingSetGreedyG target11.name=GraphAlgo_DominatingSetGreedyG
target11.showInterface=false target11.showInterface=false
target11.type=ClassTarget target11.type=ClassTarget
target11.width=290 target11.width=290
target11.x=290 target11.x=430
target11.y=470 target11.y=470
target12.height=50 target12.height=50
target12.name=GraphAlgo_TSPGreedy target12.name=GraphAlgo_TSPGreedy
target12.showInterface=false target12.showInterface=false
target12.type=ClassTarget target12.type=ClassTarget
target12.width=230 target12.width=230
target12.x=600 target12.x=740
target12.y=160 target12.y=160
target13.height=50 target13.height=50
target13.name=GraphAlgo_DominatingSetGreedyD target13.name=GraphAlgo_DominatingSetGreedyD
target13.showInterface=false target13.showInterface=false
target13.type=ClassTarget target13.type=ClassTarget
target13.width=290 target13.width=290
target13.x=290 target13.x=430
target13.y=320 target13.y=320
target14.height=50 target14.height=50
target14.name=GraphAlgo_TSPGenetisch target14.name=GraphAlgo_TSPGenetisch
target14.showInterface=false target14.showInterface=false
target14.type=ClassTarget target14.type=ClassTarget
target14.width=230 target14.width=230
target14.x=600 target14.x=740
target14.y=340 target14.y=340
target15.height=50 target15.height=50
target15.name=GraphAlgo_DominatingSetGreedyE target15.name=GraphAlgo_DominatingSetGreedyE
target15.showInterface=false target15.showInterface=false
target15.type=ClassTarget target15.type=ClassTarget
target15.width=280 target15.width=280
target15.x=290 target15.x=430
target15.y=370 target15.y=370
target16.height=50 target16.height=50
target16.name=GraphAlgo_DominatingSetGenetisch target16.name=GraphAlgo_DominatingSetGenetisch
target16.showInterface=false target16.showInterface=false
target16.type=ClassTarget target16.type=ClassTarget
target16.width=300 target16.width=300
target16.x=290 target16.x=430
target16.y=640 target16.y=640
target17.height=50 target17.height=50
target17.name=GraphAlgo_ZyklusBacktracking target17.name=GraphAlgo_ZyklusBacktracking
target17.showInterface=false target17.showInterface=false
target17.type=ClassTarget target17.type=ClassTarget
target17.width=210 target17.width=230
target17.x=20 target17.x=160
target17.y=410 target17.y=410
target18.height=50 target18.height=50
target18.name=GraphAlgo_DominatingSetGreedyH target18.name=GraphAlgo_DominatingSetGreedyH
target18.showInterface=false target18.showInterface=false
target18.type=ClassTarget target18.type=ClassTarget
target18.width=290 target18.width=290
target18.x=290 target18.x=430
target18.y=520 target18.y=520
target19.height=50 target19.height=50
target19.name=GraphAlgo_DominatingSetGreedyI target19.name=GraphAlgo_DominatingSetGreedyI
target19.showInterface=false target19.showInterface=false
target19.type=ClassTarget target19.type=ClassTarget
target19.width=280 target19.width=280
target19.x=290 target19.x=430
target19.y=570 target19.y=570
target2.height=50 target2.height=50
target2.name=GraphAlgo_Tiefensuche target2.name=GraphAlgo_Tiefensuche
target2.showInterface=false target2.showInterface=false
target2.type=ClassTarget target2.type=ClassTarget
target2.width=210 target2.width=210
target2.x=20 target2.x=160
target2.y=160 target2.y=160
target20.height=50 target20.height=50
target20.name=GraphAlgo_Moore target20.name=GraphAlgo_Moore
target20.showInterface=false target20.showInterface=false
target20.type=ClassTarget target20.type=ClassTarget
target20.width=210 target20.width=210
target20.x=10 target20.x=150
target20.y=480 target20.y=480
target21.height=50 target21.height=50
target21.name=GraphAlgo_BellmanFord target21.name=GraphAlgo_BellmanFord
target21.showInterface=false target21.showInterface=false
target21.type=ClassTarget target21.type=ClassTarget
target21.width=210 target21.width=210
target21.x=10 target21.x=150
target21.y=660 target21.y=660
target22.height=50 target22.height=50
target22.name=GraphAlgo_Breitensuche target22.name=GraphAlgo_Breitensuche
target22.showInterface=false target22.showInterface=false
target22.type=ClassTarget target22.type=ClassTarget
target22.width=210 target22.width=210
target22.x=20 target22.x=160
target22.y=280 target22.y=280
target23.height=50 target23.height=50
target23.name=GraphAlgo_toplogischeSortierung target23.name=GraphAlgo_toplogischeSortierung
target23.showInterface=false target23.showInterface=false
target23.type=ClassTarget target23.type=ClassTarget
target23.width=210 target23.width=250
target23.x=20 target23.x=160
target23.y=350 target23.y=350
target24.height=50 target24.height=50
target24.name=GraphAlgo_DominatingSetBacktracking target24.name=GraphAlgo_DominatingSetBacktracking
target24.showInterface=false target24.showInterface=false
target24.type=ClassTarget target24.type=ClassTarget
target24.width=320 target24.width=320
target24.x=290 target24.x=430
target24.y=100 target24.y=100
target25.height=50 target25.height=50
target25.name=GraphAlgo_ColoringGreedy target25.name=GraphAlgo_ColoringGreedy
target25.showInterface=false target25.showInterface=false
target25.type=ClassTarget target25.type=ClassTarget
target25.width=240 target25.width=240
target25.x=600 target25.x=740
target25.y=530 target25.y=530
target26.height=50 target26.height=50
target26.name=GraphAlgo_DijkstraMitVorgaenger target26.name=GraphAlgo_DijkstraMitVorgaenger
target26.showInterface=false target26.showInterface=false
target26.type=ClassTarget target26.type=ClassTarget
target26.width=210 target26.width=250
target26.x=10 target26.x=150
target26.y=600 target26.y=600
target27.height=50 target27.height=50
target27.name=GraphAlgo_EulerkreisExistenz target27.name=GraphAlgo_EulerkreisExistenz
target27.showInterface=false target27.showInterface=false
target27.type=ClassTarget target27.type=ClassTarget
target27.width=210 target27.width=220
target27.x=20 target27.x=160
target27.y=100 target27.y=100
target28.height=50 target28.height=50
target28.name=GraphAlgo_TiefensucheRek target28.name=GraphAlgo_TiefensucheRek
target28.showInterface=false target28.showInterface=false
target28.type=ClassTarget target28.type=ClassTarget
target28.width=210 target28.width=210
target28.x=20 target28.x=160
target28.y=220 target28.y=220
target29.height=50 target29.height=50
target29.name=GraphAlgo_TSPGreedy2 target29.name=GraphAlgo_TSPGreedy2
target29.showInterface=false target29.showInterface=false
target29.type=ClassTarget target29.type=ClassTarget
target29.width=230 target29.width=230
target29.x=600 target29.x=740
target29.y=220 target29.y=220
target3.height=50 target3.height=50
target3.name=GraphAlgo_MST_Prim target3.name=GraphAlgo_TSPBacktracking
target3.showInterface=false target3.showInterface=false
target3.type=ClassTarget target3.type=ClassTarget
target3.width=230 target3.width=240
target3.x=890 target3.x=740
target3.y=100 target3.y=100
target30.height=50 target30.height=50
target30.name=GraphAlgo_ColoringBacktracking target30.name=GraphAlgo_ColoringBacktracking
target30.showInterface=false target30.showInterface=false
target30.type=ClassTarget target30.type=ClassTarget
target30.width=270 target30.width=270
target30.x=600 target30.x=740
target30.y=470 target30.y=470
target31.height=50 target31.height=50
target31.name=GraphAlgo_Dijkstra target31.name=GraphAlgo_Dijkstra
target31.showInterface=false target31.showInterface=false
target31.type=ClassTarget target31.type=ClassTarget
target31.width=210 target31.width=210
target31.x=10 target31.x=150
target31.y=540 target31.y=540
target32.height=50 target32.height=50
target32.name=GraphAlgo_TSPGreedyOpt target32.name=GraphAlgo_TSPGreedyOpt
target32.showInterface=false target32.showInterface=false
target32.type=ClassTarget target32.type=ClassTarget
target32.width=230 target32.width=230
target32.x=600 target32.x=740
target32.y=280 target32.y=280
target4.height=50 target4.height=50
target4.name=GraphAlgo_TSPBacktracking target4.name=GraphAlgo_MST_Prim
target4.showInterface=false target4.showInterface=false
target4.type=ClassTarget target4.type=ClassTarget
target4.width=240 target4.width=230
target4.x=600 target4.x=1030
target4.y=100 target4.y=100
target5.height=50 target5.height=50
target5.name=GraphAlgo_DominatingSetGreedyB target5.name=GraphAlgo_DominatingSetGreedyB
target5.showInterface=false target5.showInterface=false
target5.type=ClassTarget target5.type=ClassTarget
target5.width=290 target5.width=290
target5.x=290 target5.x=430
target5.y=220 target5.y=220
target6.height=50 target6.height=50
target6.name=GraphAlgo target6.name=GraphAlgo
target6.showInterface=false target6.showInterface=false
target6.type=AbstractTarget target6.type=AbstractTarget
target6.width=100 target6.width=100
target6.x=310 target6.x=450
target6.y=10 target6.y=10
target7.height=50 target7.height=50
target7.name=GraphAlgo_DominatingSetGreedyC target7.name=GraphAlgo_DominatingSetGreedyC
target7.showInterface=false target7.showInterface=false
target7.type=ClassTarget target7.type=ClassTarget
target7.width=290 target7.width=290
target7.x=290 target7.x=430
target7.y=270 target7.y=270
target8.height=50 target8.height=50
target8.name=GraphAlgo_MST_Kruskal target8.name=GraphAlgo_MST_Kruskal
target8.showInterface=false target8.showInterface=false
target8.type=ClassTarget target8.type=ClassTarget
target8.width=230 target8.width=230
target8.x=890 target8.x=1030
target8.y=160 target8.y=160
target9.height=50 target9.height=50
target9.name=GraphAlgo_DominatingSetGreedyA target9.name=GraphAlgo_DominatingSetGreedyA
target9.showInterface=false target9.showInterface=false
target9.type=ClassTarget target9.type=ClassTarget
target9.width=290 target9.width=290
target9.x=290 target9.x=430
target9.y=170 target9.y=170

View file

@ -1,5 +1,5 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0 # Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0 showWeights,1
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0 # Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1 showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2 # Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2

Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -1,10 +1,10 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0 # Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0 showWeights,1
# Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0 # Knoteninfo anzeigen 1,Knoteninfo nicht anzeigen 0
showInfoText,1 showInfoText,1
# Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2 # Knoten leer 0, Knotenname anzeigen 1, Wert des Knoten anzeigen 2
vertexStyle,2 vertexStyle,1
# Bild im Hintergrund (bitte im images-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben! # Bild im Hintergrund (bitte im "images"-Ordner ablegen) --> Dateiname angeben. Fall kein Bild bitte 0 schreiben!
image,siedler.png image,siedler.png
# #
# Graph: # Graph:

Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -1,27 +0,0 @@
# 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
Orange,214,136,4,3
Himbeere,377,78,4,0,2
Brombeere,595,81,5,6
Mirabelle,190,301
Mango,521,274,7
Erdbeere,753,95,4,6
Apfel,804,314,4
Blaubeere,338,444,3
Birne,754,463,6,9
Zwetschge,546,465,4,7
Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -1,27 +0,0 @@
# 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
Orange,214,136,4
Himbeere,377,78,4,0,2
Brombeere,595,81,5,6
Mirabelle,190,301,0
Mango,521,274,7
Erdbeere,753,95,4,6
Apfel,804,314,4
Blaubeere,338,444,3
Birne,754,463,6,9
Zwetschge,546,465,4,7
Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -1,28 +0,0 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Größe der Knoten
vertexSize,26
# 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,159,45,3,4,6,8
Boris,173,316,0,2,3,6,8
Cecile,283,148,0,8
Didi,362,311,4
Elli,81,264
Felix,418,241,4
Greta,53,137,5,8
Horst,346,38,0,3,6,8
Ian,467,103,3,4
Can't render this file because it contains an unexpected character in line 9 and column 33.

View file

@ -1,23 +0,0 @@
# 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,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
s,178,282,1,2
a,282,181,0,3
b,293,376,0,3,5
c,386,271,1,2,4,5
e,530,170,3,5
d,524,418,2,3,4
Can't render this file because it contains an unexpected character in line 7 and column 33.

View file

@ -1,29 +0,0 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,1
# Größe der Knoten
vertexSize,60
# 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,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
Anfangsdorf (A),190,418,2,35.0,1,25.0,3,80.0
Nebenstadt (N),299,315,0,25.0,2,30.0,8,58.0
Kurzweil (K),367,470,0,35.0,1,30.0,8,48.0,4,26.0
Langhausen (L),428,669,4,27.0,0,80.0
Seeheim (S),507,533,2,26.0,5,21.0,3,27.0
Burgheim (B),637,567,4,21.0,7,47.0
Talhausen (T),754,190,8,53.0,9,25.0
Waldstetten (W),824,433,9,28.0,8,60.0,5,47.0
Calmberg (C),563,352,1,58.0,2,48.0,6,53.0,7,60.0
Dusenheim (D),873,279,6,25.0,7,28.0
Can't render this file because it contains an unexpected character in line 9 and column 33.

View file

@ -1,25 +0,0 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,0
# Größe der Knoten
vertexSize,36
# 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
186,310,1
221,189,3,4
367,99,1,5
417,226,2
385,350,0,3,5
566,221,4
Can't render this file because it contains an unexpected character in line 9 and column 33.

View file

@ -1,25 +0,0 @@
# Anzeigeoptionen:# Gewichte anzeigen 1, Gewichte nicht anzeigen 0
showWeights,1
# Größe der Knoten
vertexSize,49
# 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
132,352,1,-4.0,2,9.0
343,352,3,6.0
302,467,3,-8.0
490,467,4,6.0,5,7.0
577,291,5,-3.0
662,520,3,-2.0
Can't render this file because it contains an unexpected character in line 9 and column 33.

View file

@ -1,3 +1,3 @@
false,false false,false
272.0,138.0,1648.0,822.0 180.0,174.0,1328.0,762.0
H:\GitTest\3_vorlagen_tauschordner\1_graphentester\beispielgraphen\03_routenplanung\03_badenbaden.csv

1 false,false
2 272.0,138.0,1648.0,822.0 180.0,174.0,1328.0,762.0
3

View file

@ -32,13 +32,14 @@ import javafx.collections.ObservableList;
* Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar. * Die Klasse Controller stellt den Controller des Hauptfensters / Menu dar.
* *
* @author Thomas Schaller * @author Thomas Schaller
* @version 03.03.2023 (v7.1) * @version 12.02.2025 (v7.4)
* v7.0: Die aktuelle Bildschirmposition und der angezeigte Graph werden in config.csv abgelegt. * v7.0: Die aktuelle Bildschirmposition und der angezeigte Graph werden in config.csv abgelegt.
* v7.1: Verzeichnisauswahl für Laden/Speichern verbessert * v7.1: Verzeichnisauswahl für Laden/Speichern verbessert
* v7.4: Unterbrechen von Simulieren-Thread neu geregelt.
*/ */
public class Controller { public class Controller {
private String version = "7.0 (Februar 2023)"; private String version = "7.4 (Januar 2025)";
private String pfad; // Pfad der aktuell angezeigten Datei private String pfad; // Pfad der aktuell angezeigten Datei
@FXML @FXML

View file

@ -40,7 +40,8 @@ import javafx.collections.ObservableList;
* durchgeführt werden. * durchgeführt werden.
* *
* @author Thomas Schaller * @author Thomas Schaller
* @version 03.03.2023 (v7.0) * @version 12.02.2025 (v7.4)
* v7.4: Unterbrechen eines Algorithmus neu geregelt.
* v7.1: Fehler bei Aktualisierung des Hilfefensters behoben, Splitpane statt HBox * v7.1: Fehler bei Aktualisierung des Hilfefensters behoben, Splitpane statt HBox
* v7.0: Mechanismus geändert, so dass die init-Methode des Algorithmus beim Wechesel eines Algorithmus * v7.0: Mechanismus geändert, so dass die init-Methode des Algorithmus beim Wechesel eines Algorithmus
* aufgerufen wird, um die für diesen Algorithmus passenden Anzeigeeinstellungen zu setzen. * aufgerufen wird, um die für diesen Algorithmus passenden Anzeigeeinstellungen zu setzen.
@ -189,7 +190,7 @@ public class SimulationTabMitController extends TabMitController implements Hilf
} }
public void changeAlgorithm() { public void changeAlgorithm() {
if(aktAlgo != null && aktAlgo.isAlive()) aktAlgo.stop(); if(aktAlgo != null && aktAlgo.isAlive() && !aktAlgo.isInterrupted()) aktAlgo.interrupt();
graph.initialisiereAlleKnoten(); graph.initialisiereAlleKnoten();
graph.initialisiereAlleKanten(); graph.initialisiereAlleKanten();

View file

@ -17,14 +17,14 @@ dependency5.type=UsesDependency
dependency6.from=Controller dependency6.from=Controller
dependency6.to=EditTabMitController dependency6.to=EditTabMitController
dependency6.type=UsesDependency dependency6.type=UsesDependency
objectbench.height=172 objectbench.height=66
objectbench.width=451 objectbench.width=776
package.divider.horizontal=0.599476439790576 package.divider.horizontal=0.599476439790576
package.divider.vertical=0.642 package.divider.vertical=0.8537074148296593
package.editor.height=314 package.editor.height=419
package.editor.width=636 package.editor.width=640
package.editor.x=1113 package.editor.x=577
package.editor.y=290 package.editor.y=358
package.frame.height=600 package.frame.height=600
package.frame.width=800 package.frame.width=800
package.numDependencies=6 package.numDependencies=6
@ -37,19 +37,19 @@ readme.width=49
readme.x=10 readme.x=10
readme.y=10 readme.y=10
target1.height=50 target1.height=50
target1.name=EditTabMitController target1.name=HauptTabMitController
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=180 target1.width=200
target1.x=10 target1.x=10
target1.y=80 target1.y=140
target2.height=50 target2.height=50
target2.name=HauptTabMitController target2.name=EditTabMitController
target2.showInterface=false target2.showInterface=false
target2.type=ClassTarget target2.type=ClassTarget
target2.width=200 target2.width=180
target2.x=10 target2.x=10
target2.y=140 target2.y=80
target3.height=70 target3.height=70
target3.name=Hilfefenster target3.name=Hilfefenster
target3.showInterface=false target3.showInterface=false
@ -61,14 +61,14 @@ target4.height=50
target4.name=TabMitController target4.name=TabMitController
target4.showInterface=false target4.showInterface=false
target4.type=ClassTarget target4.type=ClassTarget
target4.width=130 target4.width=140
target4.x=300 target4.x=300
target4.y=110 target4.y=110
target5.height=50 target5.height=50
target5.name=SimulationTabMitController target5.name=SimulationTabMitController
target5.showInterface=false target5.showInterface=false
target5.type=ClassTarget target5.type=ClassTarget
target5.width=200 target5.width=210
target5.x=210 target5.x=210
target5.y=210 target5.y=210
target6.height=50 target6.height=50
@ -89,6 +89,6 @@ target8.height=50
target8.name=UnterTabMitController target8.name=UnterTabMitController
target8.showInterface=false target8.showInterface=false
target8.type=ClassTarget target8.type=ClassTarget
target8.width=170 target8.width=180
target8.x=220 target8.x=220
target8.y=270 target8.y=270

View file

@ -1,604 +1,460 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de"> <html lang="de">
<head> <head>
<!-- Generated by javadoc (11.0.14.1) on Thu Apr 20 12:17:13 CEST 2023 --> <!-- Generated by javadoc (17) on Tue Nov 19 12:26:17 CET 2024 -->
<title>GraphElement</title> <title>GraphElement</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-04-20"> <meta name="dc.created" content="2024-11-19">
<meta name="description" content="declaration: package: graph, class: GraphElement">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script> <script type="text/javascript" src="../script.js"></script>
</head> </head>
<body> <body class="class-declaration-page">
<script type="text/javascript"><!-- <script type="text/javascript">var evenRowColor = "even-row-color";
try { var oddRowColor = "odd-row-color";
if (location.href.indexOf('is-external=true') == -1) { var tableTab = "table-tab";
parent.document.title="GraphElement"; var activeTableTab = "active-table-tab";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script> </script>
<noscript> <noscript>
<div>JavaScript is disabled on your browser.</div> <div>JavaScript is disabled on your browser.</div>
</noscript> </noscript>
<!-- ======== START OF CLASS DATA ======== --> <div class="flex-box">
<div class="flex-content">
<main role="main"> <main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">graph</a></div> <div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">graph</a></div>
<h2 title="Class GraphElement" class="title">Class GraphElement</h2> <h1 title="Class GraphElement" class="title">Class GraphElement</h1>
</div> </div>
<div class="contentContainer"> <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<ul class="inheritance"> <div class="inheritance">graph.GraphElement</div>
<li>java.lang.Object</li> </div>
<li> <section class="class-description" id="class-description">
<ul class="inheritance"> <dl class="notes">
<li>graph.GraphElement</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt> <dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.Comparable&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</code></dd> <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</code></dd>
</dl> </dl>
<hr> <hr>
<pre>public abstract class <span class="typeNameLabel">GraphElement</span> <div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">GraphElement</span>
extends java.lang.Object <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements java.lang.Comparable&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</pre> implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</span></div>
<div class="block">Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten. <div class="block">Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.
Sie ist nur für die interne Verarbeitung wichtig.</div> Sie ist nur für die interne Verarbeitung wichtig.</div>
<dl> <dl class="notes">
<dt><span class="simpleTagLabel">Version:</span></dt> <dt>Version:</dt>
<dd>28.02.2023 (v7.0) <dd>28.02.2023 (v7.0)
v7.0: Die am Element gespeicherten Informationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden. v7.0: Die am Element gespeicherten Informationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden.
Es wird auch gespeichert, als welcher Typ die Information übergeben wurde.</dd> Es wird auch gespeichert, als welcher Typ die Information übergeben wurde.</dd>
<dt><span class="simpleTagLabel">Author:</span></dt> <dt>Author:</dt>
<dd>Thomas Schaller</dd> <dd>Thomas Schaller</dd>
</dl> </dl>
</li> </section>
</ul> <section class="summary">
</div> <ul class="summary-list">
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== --> <!-- =========== FIELD SUMMARY =========== -->
<section role="region"> <li>
<ul class="blockList"> <section class="field-summary" id="field-summary">
<li class="blockList"><a id="field.summary"> <h2>Field Summary</h2>
<!-- --> <div class="caption"><span>Fields</span></div>
</a> <div class="summary-table three-column-summary">
<h3>Field Summary</h3> <div class="table-header col-first">Modifier and Type</div>
<table class="memberSummary"> <div class="table-header col-second">Field</div>
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption> <div class="table-header col-last">Description</div>
<tr> <div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<th class="colFirst" scope="col">Modifier and Type</th> <div class="col-second even-row-color"><code><a href="#daten" class="member-name-link">daten</a></code></div>
<th class="colSecond" scope="col">Field</th> <div class="col-last even-row-color">&nbsp;</div>
<th class="colLast" scope="col">Description</th> <div class="col-first odd-row-color"><code>protected graph.Graph</code></div>
</tr> <div class="col-second odd-row-color"><code><a href="#g" class="member-name-link">g</a></code></div>
<tr class="altColor"> <div class="col-last odd-row-color">&nbsp;</div>
<td class="colFirst"><code>protected java.util.HashMap&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td> <div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#daten">daten</a></span></code></th> <div class="col-second even-row-color"><code><a href="#sortierKriterium" class="member-name-link">sortierKriterium</a></code></div>
<td class="colLast">&nbsp;</td> <div class="col-last even-row-color">&nbsp;</div>
</tr> <div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<tr class="rowColor"> <div class="col-second odd-row-color"><code><a href="#typen" class="member-name-link">typen</a></code></div>
<td class="colFirst"><code>protected graph.Graph</code></td> <div class="col-last odd-row-color">&nbsp;</div>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#g">g</a></span></code></th> </div>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortierKriterium">sortierKriterium</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.HashMap&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typen">typen</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section> </section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== --> <!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region"> <li>
<ul class="blockList"> <section class="constructor-summary" id="constructor-summary">
<li class="blockList"><a id="constructor.summary"> <h2>Constructor Summary</h2>
<!-- --> <div class="caption"><span>Constructors</span></div>
</a> <div class="summary-table two-column-summary">
<h3>Constructor Summary</h3> <div class="table-header col-first">Constructor</div>
<table class="memberSummary"> <div class="table-header col-last">Description</div>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption> <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">GraphElement</a>()</code></div>
<tr> <div class="col-last even-row-color">&nbsp;</div>
<th class="colFirst" scope="col">Constructor</th> </div>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">GraphElement</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section> </section>
</li>
<!-- ========== METHOD SUMMARY =========== --> <!-- ========== METHOD SUMMARY =========== -->
<section role="region"> <li>
<ul class="blockList"> <section class="method-summary" id="method-summary">
<li class="blockList"><a id="method.summary"> <h2>Method Summary</h2>
<!-- --> <div id="method-summary-table">
</a> <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<h3>Method Summary</h3> <div id="method-summary-table.tabpanel" role="tabpanel">
<table class="memberSummary"> <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption> <div class="table-header col-first">Modifier and Type</div>
<tr> <div class="table-header col-second">Method</div>
<th class="colFirst" scope="col">Modifier and Type</th> <div class="table-header col-last">Description</div>
<th class="colSecond" scope="col">Method</th> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<th class="colLast" scope="col">Description</th> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareTo(graph.GraphElement)" class="member-name-link">compareTo</a><wbr>(<a href="GraphElement.html" title="class in graph">GraphElement</a>&nbsp;e)</code></div>
</tr> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compareTo(graph.GraphElement)">compareTo</a></span>&#8203;(<a href="GraphElement.html" title="class in graph">GraphElement</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums <div class="block">Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums
Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.</div> Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.</div>
</td> </div>
</tr> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<tr id="i1" class="rowColor"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBoolean(java.lang.String)" class="member-name-link">getBoolean</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<td class="colFirst"><code>boolean</code></td> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBoolean(java.lang.String)">getBoolean</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
</td> </div>
</tr> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<tr id="i2" class="altColor"> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDouble(java.lang.String)" class="member-name-link">getDouble</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<td class="colFirst"><code>double</code></td> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDouble(java.lang.String)">getDouble</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
</td> </div>
</tr> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<tr id="i3" class="rowColor"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInt(java.lang.String)" class="member-name-link">getInt</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<td class="colFirst"><code>int</code></td> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInt(java.lang.String)">getInt</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
</td> </div>
</tr> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<tr id="i4" class="altColor"> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getKurztext(java.lang.String%5B%5D)" class="member-name-link">getKurztext</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;namen)</code></div>
<td class="colFirst"><code>abstract java.util.List&lt;java.lang.String&gt;</code></td> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getKurztext(java.lang.String%5B%5D)">getKurztext</a></span>&#8203;(java.lang.String[]&nbsp;namen)</code></th>
<td class="colLast">
<div class="block">Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im <div class="block">Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im
Kreis bzw.</div> Kreis bzw.</div>
</td> </div>
</tr> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<tr id="i5" class="rowColor"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLangtext(java.lang.String%5B%5D)" class="member-name-link">getLangtext</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;namen)</code></div>
<td class="colFirst"><code>abstract java.util.List&lt;java.lang.String&gt;</code></td> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLangtext(java.lang.String%5B%5D)">getLangtext</a></span>&#8203;(java.lang.String[]&nbsp;namen)</code></th>
<td class="colLast">
<div class="block">Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im <div class="block">Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im
Tooltip-Fenster zurück.</div> Tooltip-Fenster zurück.</div>
</td> </div>
</tr> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<tr id="i6" class="altColor"> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStatus()" class="member-name-link">getStatus</a>()</code></div>
<td class="colFirst"><code>java.lang.String</code></td> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStatus()">getStatus</a></span>()</code></th>
<td class="colLast">
<div class="block">Liefert den Status einer Kante als String.</div> <div class="block">Liefert den Status einer Kante als String.</div>
</td> </div>
</tr> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<tr id="i7" class="rowColor"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getString(java.lang.String)" class="member-name-link">getString</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<td class="colFirst"><code>java.lang.String</code></td> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getString(java.lang.String)">getString</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Gibt zusätzliche Daten als String zurück</div> <div class="block">Gibt zusätzliche Daten als String zurück</div>
</td> </div>
</tr> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<tr id="i8" class="altColor"> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#set(java.lang.String,boolean)" class="member-name-link">set</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<td class="colFirst"><code>void</code></td> boolean&nbsp;wert)</code></div>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,boolean)">set</a></span>&#8203;(java.lang.String&nbsp;name, <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
boolean&nbsp;wert)</code></th>
<td class="colLast">
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div> <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div>
</td> </div>
</tr> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<tr id="i9" class="rowColor"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#set(java.lang.String,double)" class="member-name-link">set</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<td class="colFirst"><code>void</code></td> double&nbsp;wert)</code></div>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,double)">set</a></span>&#8203;(java.lang.String&nbsp;name, <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
double&nbsp;wert)</code></th>
<td class="colLast">
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante
Double.POSITIVE_INFINITY bzw.</div> Double.POSITIVE_INFINITY bzw.</div>
</td> </div>
</tr> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<tr id="i10" class="altColor"> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#set(java.lang.String,int)" class="member-name-link">set</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<td class="colFirst"><code>void</code></td> int&nbsp;wert)</code></div>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,int)">set</a></span>&#8203;(java.lang.String&nbsp;name, <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
int&nbsp;wert)</code></th>
<td class="colLast">
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante
Integer.MAX_VALUE bzw.</div> Integer.MAX_VALUE bzw.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,java.lang.String)">set</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;wert)</code></th>
<td class="colLast">
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setGraph(graph.Graph)">setGraph</a></span>&#8203;(graph.Graph&nbsp;g)</code></th>
<td class="colLast">
<div class="block">Speichert den Graphen, in den Knoten/Kante eingefügt wurde.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSortierkriterium(java.lang.String)">setSortierkriterium</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Setzt das Sortierkriterium des Knoten/der Kante.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStatus(java.lang.String)">setStatus</a></span>&#8203;(java.lang.String&nbsp;status)</code></th>
<td class="colLast">
<div class="block">Setzt den Status einer Kante, der in einem String gespeichert ist.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div> </div>
<div class="details"> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<ul class="blockList"> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#set(java.lang.String,java.lang.String)" class="member-name-link">set</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<li class="blockList"> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;wert)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setGraph(graph.Graph)" class="member-name-link">setGraph</a><wbr>(graph.Graph&nbsp;g)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Speichert den Graphen, in den Knoten/Kante eingefügt wurde.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSortierkriterium(java.lang.String)" class="member-name-link">setSortierkriterium</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Setzt das Sortierkriterium des Knoten/der Kante.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setStatus(java.lang.String)" class="member-name-link">setStatus</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;status)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Setzt den Status einer Kante, der in einem String gespeichert ist.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== --> <!-- ============ FIELD DETAIL =========== -->
<section role="region"> <li>
<ul class="blockList"> <section class="field-details" id="field-detail">
<li class="blockList"><a id="field.detail"> <h2>Field Details</h2>
<!-- --> <ul class="member-list">
</a> <li>
<h3>Field Detail</h3> <section class="detail" id="daten">
<a id="daten"> <h3>daten</h3>
<!-- --> <div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">daten</span></div>
</a> </section>
<ul class="blockList">
<li class="blockList">
<h4>daten</h4>
<pre>protected&nbsp;java.util.HashMap&lt;java.lang.String,&#8203;java.lang.String&gt; daten</pre>
</li> </li>
</ul> <li>
<a id="typen"> <section class="detail" id="typen">
<!-- --> <h3>typen</h3>
</a> <div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">typen</span></div>
<ul class="blockList"> </section>
<li class="blockList">
<h4>typen</h4>
<pre>protected&nbsp;java.util.HashMap&lt;java.lang.String,&#8203;java.lang.String&gt; typen</pre>
</li> </li>
</ul> <li>
<a id="g"> <section class="detail" id="g">
<!-- --> <h3>g</h3>
</a> <div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">graph.Graph</span>&nbsp;<span class="element-name">g</span></div>
<ul class="blockList"> </section>
<li class="blockList">
<h4>g</h4>
<pre>protected&nbsp;graph.Graph g</pre>
</li> </li>
</ul> <li>
<a id="sortierKriterium"> <section class="detail" id="sortierKriterium">
<!-- --> <h3>sortierKriterium</h3>
</a> <div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">sortierKriterium</span></div>
<ul class="blockListLast"> </section>
<li class="blockList">
<h4>sortierKriterium</h4>
<pre>protected&nbsp;java.lang.String sortierKriterium</pre>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== --> <!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region"> <li>
<ul class="blockList"> <section class="constructor-details" id="constructor-detail">
<li class="blockList"><a id="constructor.detail"> <h2>Constructor Details</h2>
<!-- --> <ul class="member-list">
</a> <li>
<h3>Constructor Detail</h3> <section class="detail" id="&lt;init&gt;()">
<a id="&lt;init&gt;()"> <h3>GraphElement</h3>
<!-- --> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">GraphElement</span>()</div>
</a> </section>
<ul class="blockListLast">
<li class="blockList">
<h4>GraphElement</h4>
<pre>public&nbsp;GraphElement()</pre>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
</li>
<!-- ============ METHOD DETAIL ========== --> <!-- ============ METHOD DETAIL ========== -->
<section role="region"> <li>
<ul class="blockList"> <section class="method-details" id="method-detail">
<li class="blockList"><a id="method.detail"> <h2>Method Details</h2>
<!-- --> <ul class="member-list">
</a> <li>
<h3>Method Detail</h3> <section class="detail" id="setStatus(java.lang.String)">
<a id="setStatus(java.lang.String)"> <h3>setStatus</h3>
<!-- --> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setStatus</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;status)</span></div>
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatus</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setStatus&#8203;(java.lang.String&nbsp;status)</pre>
<div class="block">Setzt den Status einer Kante, der in einem String gespeichert ist. <div class="block">Setzt den Status einer Kante, der in einem String gespeichert ist.
Form: markiert,geloescht,farbe Form: markiert,geloescht,farbe
Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und
die farbe eine Zahl</div> die farbe eine Zahl</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>status</code> - Statusstring</dd> <dd><code>status</code> - Statusstring</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getStatus()"> <section class="detail" id="getStatus()">
<!-- --> <h3>getStatus</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getStatus</span>()</div>
<ul class="blockList">
<li class="blockList">
<h4>getStatus</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getStatus()</pre>
<div class="block">Liefert den Status einer Kante als String. <div class="block">Liefert den Status einer Kante als String.
Form: markiert,geloescht,farbe Form: markiert,geloescht,farbe
Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und
die farbe eine Zahl</div> die farbe eine Zahl</div>
<dl> <dl class="notes">
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>Statusstring</dd> <dd>Statusstring</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="setSortierkriterium(java.lang.String)"> <section class="detail" id="setSortierkriterium(java.lang.String)">
<!-- --> <h3>setSortierkriterium</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setSortierkriterium</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>setSortierkriterium</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSortierkriterium&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Setzt das Sortierkriterium des Knoten/der Kante.</div> <div class="block">Setzt das Sortierkriterium des Knoten/der Kante.</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung des Wertes nach dem sortiert werden soll</dd> <dd><code>name</code> - Bezeichnung des Wertes nach dem sortiert werden soll</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getKurztext(java.lang.String[])"> <section class="detail" id="getKurztext(java.lang.String[])">
<!-- --> <h3>getKurztext</h3>
</a> <div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getKurztext</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;namen)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getKurztext</h4>
<pre class="methodSignature">public abstract&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getKurztext&#8203;(java.lang.String[]&nbsp;namen)</pre>
<div class="block">Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im <div class="block">Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im
Kreis bzw. Kasten zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile Kreis bzw. Kasten zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile
dargestellt. Es werden nur die Werte angezeigt. Es sind max. 2 Zeilen zulässig.</div> dargestellt. Es werden nur die Werte angezeigt. Es sind max. 2 Zeilen zulässig.</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>namen</code> - Namen der Werte, die im Kurztext angezeigt werden sollen.</dd> <dd><code>namen</code> - Namen der Werte, die im Kurztext angezeigt werden sollen.</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getLangtext(java.lang.String[])"> <section class="detail" id="getLangtext(java.lang.String[])">
<!-- --> <h3>getLangtext</h3>
</a> <div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getLangtext</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;namen)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getLangtext</h4>
<pre class="methodSignature">public abstract&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getLangtext&#8203;(java.lang.String[]&nbsp;namen)</pre>
<div class="block">Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im <div class="block">Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im
Tooltip-Fenster zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile Tooltip-Fenster zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile
dargestellt. Es wird jeweils die Bezeichnung und der Wert ausgegeben.</div> dargestellt. Es wird jeweils die Bezeichnung und der Wert ausgegeben.</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>namen</code> - Namen der Werte, die im Tooltip angezeigt werden sollen.</dd> <dd><code>namen</code> - Namen der Werte, die im Tooltip angezeigt werden sollen.</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="setGraph(graph.Graph)"> <section class="detail" id="setGraph(graph.Graph)">
<!-- --> <h3>setGraph</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setGraph</span><wbr><span class="parameters">(graph.Graph&nbsp;g)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>setGraph</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setGraph&#8203;(graph.Graph&nbsp;g)</pre>
<div class="block">Speichert den Graphen, in den Knoten/Kante eingefügt wurde. Damit kann er selbst seine Nummer <div class="block">Speichert den Graphen, in den Knoten/Kante eingefügt wurde. Damit kann er selbst seine Nummer
ermitteln.</div> ermitteln.</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>g</code> - Graph</dd> <dd><code>g</code> - Graph</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="set(java.lang.String,java.lang.String)"> <section class="detail" id="set(java.lang.String,java.lang.String)">
<!-- --> <h3>set</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">set</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<ul class="blockList"> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;wert)</span></div>
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;wert)</pre>
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div> <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der Art der Daten</dd> <dd><code>name</code> - Bezeichnung der Art der Daten</dd>
<dd><code>wert</code> - Wert der zu speichernden Daten</dd> <dd><code>wert</code> - Wert der zu speichernden Daten</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="set(java.lang.String,double)"> <section class="detail" id="set(java.lang.String,double)">
<!-- --> <h3>set</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">set</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<ul class="blockList"> double&nbsp;wert)</span></div>
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(java.lang.String&nbsp;name,
double&nbsp;wert)</pre>
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante
Double.POSITIVE_INFINITY bzw. NEGATIVE_INFINITY wird als +/- unendlich dargestellt</div> Double.POSITIVE_INFINITY bzw. NEGATIVE_INFINITY wird als +/- unendlich dargestellt</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der Art der Daten</dd> <dd><code>name</code> - Bezeichnung der Art der Daten</dd>
<dd><code>wert</code> - Wert der zu speichernden Daten</dd> <dd><code>wert</code> - Wert der zu speichernden Daten</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="set(java.lang.String,int)"> <section class="detail" id="set(java.lang.String,int)">
<!-- --> <h3>set</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">set</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<ul class="blockList"> int&nbsp;wert)</span></div>
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(java.lang.String&nbsp;name,
int&nbsp;wert)</pre>
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante
Integer.MAX_VALUE bzw. MIN_VALUE werden als +/- unendlich dargestellt.</div> Integer.MAX_VALUE bzw. MIN_VALUE werden als +/- unendlich dargestellt.</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der Art der Daten</dd> <dd><code>name</code> - Bezeichnung der Art der Daten</dd>
<dd><code>wert</code> - Wert der zu speichernden Daten</dd> <dd><code>wert</code> - Wert der zu speichernden Daten</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="set(java.lang.String,boolean)"> <section class="detail" id="set(java.lang.String,boolean)">
<!-- --> <h3>set</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">set</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<ul class="blockList"> boolean&nbsp;wert)</span></div>
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(java.lang.String&nbsp;name,
boolean&nbsp;wert)</pre>
<div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div> <div class="block">Speichert zusätzliche Daten am Knoten oder der Kante</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der Art der Daten</dd> <dd><code>name</code> - Bezeichnung der Art der Daten</dd>
<dd><code>wert</code> - Wert der zu speichernden Daten</dd> <dd><code>wert</code> - Wert der zu speichernden Daten</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getString(java.lang.String)"> <section class="detail" id="getString(java.lang.String)">
<!-- --> <h3>getString</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getString</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getString&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Gibt zusätzliche Daten als String zurück</div> <div class="block">Gibt zusätzliche Daten als String zurück</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd> <dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>Wert von "name" oder "", wenn name nicht gespeichert ist</dd> <dd>Wert von "name" oder "", wenn name nicht gespeichert ist</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getInt(java.lang.String)"> <section class="detail" id="getInt(java.lang.String)">
<!-- --> <h3>getInt</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getInt</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getInt&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd> <dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist</dd> <dd>Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getDouble(java.lang.String)"> <section class="detail" id="getDouble(java.lang.String)">
<!-- --> <h3>getDouble</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getDouble</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getDouble&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd> <dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist</dd> <dd>Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="getBoolean(java.lang.String)"> <section class="detail" id="getBoolean(java.lang.String)">
<!-- --> <h3>getBoolean</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getBoolean</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<ul class="blockList">
<li class="blockList">
<h4>getBoolean</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;getBoolean&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Gibt zusätzliche Daten als int zurück</div> <div class="block">Gibt zusätzliche Daten als int zurück</div>
<dl> <dl class="notes">
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd> <dd><code>name</code> - Bezeichnung der zusätzlichen Daten</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>Wert von "name" oder false, wenn name nicht gespeichert ist oder kein Boolean ist</dd> <dd>Wert von "name" oder false, wenn name nicht gespeichert ist oder kein Boolean ist</dd>
</dl> </dl>
</section>
</li> </li>
</ul> <li>
<a id="compareTo(graph.GraphElement)"> <section class="detail" id="compareTo(graph.GraphElement)">
<!-- --> <h3>compareTo</h3>
</a> <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">compareTo</span><wbr><span class="parameters">(<a href="GraphElement.html" title="class in graph">GraphElement</a>&nbsp;e)</span></div>
<ul class="blockListLast">
<li class="blockList">
<h4>compareTo</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;compareTo&#8203;(<a href="GraphElement.html" title="class in graph">GraphElement</a>&nbsp;e)</pre>
<div class="block">Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums <div class="block">Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums
Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.</div> Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.</div>
<dl> <dl class="notes">
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt>Specified by:</dt>
<dd><code>compareTo</code>&nbsp;in interface&nbsp;<code>java.lang.Comparable&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</code></dd> <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html#compareTo(T)" title="class or interface in java.lang" class="external-link">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="GraphElement.html" title="class in graph">GraphElement</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt>Parameters:</dt>
<dd><code>e</code> - anderer Knoten</dd> <dd><code>e</code> - anderer Knoten</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt>Returns:</dt>
<dd>kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich</dd> <dd>kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich</dd>
</dl> </dl>
</li> </section>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
</li> </li>
</ul> </ul>
</div> </section>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= --> <!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body> </body>
</html> </html>

View file

@ -1,53 +1,48 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de"> <html lang="de">
<head> <head>
<!-- Generated by javadoc (11.0.14.1) on Thu Apr 20 12:17:13 CEST 2023 --> <!-- Generated by javadoc (17) on Tue Nov 19 12:26:17 CET 2024 -->
<title>graph</title> <title>graph</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-04-20"> <meta name="dc.created" content="2024-11-19">
<meta name="description" content="declaration: package: graph">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script> <script type="text/javascript" src="../script.js"></script>
</head> </head>
<body> <body class="package-declaration-page">
<script type="text/javascript"><!-- <script type="text/javascript"></script>
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="graph";
}
}
catch(err) {
}
//-->
</script>
<noscript> <noscript>
<div>JavaScript is disabled on your browser.</div> <div>JavaScript is disabled on your browser.</div>
</noscript> </noscript>
<div class="flex-box">
<div class="flex-content">
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<h1 title="Package" class="title">Package&nbsp;graph</h1> <h1 title="Package graph" class="title">Package graph</h1>
</div> </div>
<div class="contentContainer"> <hr>
<ul class="blockList"> <div class="package-signature">package <span class="element-name">graph</span></div>
<li class="blockList"> <section class="summary">
<table class="typeSummary"> <ul class="summary-list">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption> <li>
<tr> <div id="class-summary">
<th class="colFirst" scope="col">Class</th> <div class="caption"><span>Classes</span></div>
<th class="colLast" scope="col">Description</th> <div class="summary-table two-column-summary">
</tr> <div class="table-header col-first">Class</div>
<tbody> <div class="table-header col-last">Description</div>
<tr class="altColor"> <div class="col-first even-row-color class-summary class-summary-tab2"><a href="GraphElement.html" title="class in graph">GraphElement</a></div>
<th class="colFirst" scope="row"><a href="GraphElement.html" title="class in graph">GraphElement</a></th> <div class="col-last even-row-color class-summary class-summary-tab2">
<td class="colLast">
<div class="block">Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.</div> <div class="block">Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten.</div>
</td> </div>
</tr> </div>
</tbody> </div>
</table>
</li> </li>
</ul> </ul>
</div> </section>
</main> </main>
</div>
</div>
</body> </body>
</html> </html>

View file

@ -1,18 +1,21 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de"> <html lang="de">
<head> <head>
<!-- Generated by javadoc (11.0.14.1) on Thu Apr 20 12:17:13 CEST 2023 --> <!-- Generated by javadoc (17) on Tue Nov 19 12:26:17 CET 2024 -->
<title>Generated Documentation (Untitled)</title> <title>Generated Documentation (Untitled)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-11-19">
<meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="graph/package-summary.html">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript">window.location.replace('graph/package-summary.html')</script> <script type="text/javascript">window.location.replace('graph/package-summary.html')</script>
<noscript> <noscript>
<meta http-equiv="Refresh" content="0;graph/package-summary.html"> <meta http-equiv="Refresh" content="0;graph/package-summary.html">
</noscript> </noscript>
<link rel="canonical" href="graph/package-summary.html">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head> </head>
<body> <body class="index-redirect-page">
<main role="main"> <main role="main">
<noscript> <noscript>
<p>JavaScript is disabled on your browser.</p> <p>JavaScript is disabled on your browser.</p>

View file

@ -1 +1,37 @@
Please see ..\java.base\ADDITIONAL_LICENSE_INFO ADDITIONAL INFORMATION ABOUT LICENSING
Certain files distributed by Oracle America, Inc. and/or its affiliates are
subject to the following clarification and special exception to the GPLv2,
based on the GNU Project exception for its Classpath libraries, known as the
GNU Classpath Exception.
Note that Oracle includes multiple, independent programs in this software
package. Some of those programs are provided under licenses deemed
incompatible with the GPLv2 by the Free Software Foundation and others.
For example, the package includes programs licensed under the Apache
License, Version 2.0 and may include FreeType. Such programs are licensed
to you under their original licenses.
Oracle facilitates your further distribution of this package by adding the
Classpath Exception to the necessary parts of its GPLv2 code, which permits
you to use that code in combination with other independent modules not
licensed under the GPLv2. However, note that this would not permit you to
commingle code under an incompatible license with Oracle's GPLv2 licensed
code by, for example, cutting and pasting such code into a file also
containing Oracle's GPLv2 licensed code and then distributing the result.
Additionally, if you were to remove the Classpath Exception from any of the
files to which it applies and distribute the result, you would likely be
required to license some or all of the other code in that distribution under
the GPLv2 as well, and since the GPLv2 is incompatible with the license terms
of some items included in the distribution by Oracle, removing the Classpath
Exception could therefore effectively compromise your ability to further
distribute the package.
Failing to distribute notices associated with some files may also create
unexpected legal consequences.
Proceed with caution and we recommend that you obtain the advice of a lawyer
skilled in open source matters before removing the Classpath Exception or
making modifications to this package which may subsequently be redistributed
and/or involve the use of third party software.

View file

@ -1 +1,27 @@
Please see ..\java.base\ASSEMBLY_EXCEPTION
OPENJDK ASSEMBLY EXCEPTION
The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU
General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
only ("GPL2"), with the following clarification and special exception.
Linking this OpenJDK Code statically or dynamically with other code
is making a combined work based on this library. Thus, the terms
and conditions of GPL2 cover the whole combination.
As a special exception, Oracle gives you permission to link this
OpenJDK Code with certain code licensed by Oracle as indicated at
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
("Designated Exception Modules") to produce an executable,
regardless of the license terms of the Designated Exception Modules,
and to copy and distribute the resulting executable under GPL2,
provided that the Designated Exception Modules continue to be
governed by the licenses under which they were offered by Oracle.
As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
to build an executable that includes those portions of necessary code that
Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
with the Classpath exception). If you modify or add to the OpenJDK code,
that new GPL2 code may still be combined with Designated Exception Modules
if the new code is made subject to this exception by its copyright holder.

View file

@ -1 +1,347 @@
Please see ..\java.base\LICENSE The GNU General Public License (GPL)
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public License is intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any other program whose
authors commit to using it. (Some other Free Software Foundation software is
covered by the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service if you wish),
that you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs; and that you know you
can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny
you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies of the
software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for
a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must
show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If the
software is modified by someone else and passed on, we want its recipients to
know that what they have is not the original, so that any problems introduced
by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program proprietary.
To prevent this, we have made it clear that any patent must be licensed for
everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms of
this General Public License. The "Program", below, refers to any such program
or work, and a "work based on the Program" means either the Program or any
derivative work under copyright law: that is to say, a work containing the
Program or a portion of it, either verbatim or with modifications and/or
translated into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee is addressed as
"you".
Activities other than copying, distribution and modification are not covered by
this License; they are outside its scope. The act of running the Program is
not restricted, and the output from the Program is covered only if its contents
constitute a work based on the Program (independent of having been made by
running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as
you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this License
and to the absence of any warranty; and give any other recipients of the
Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may
at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus
forming a work based on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all of
these conditions:
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of
this License.
c) If the modified program normally reads commands interactively when run,
you must cause it, when started running for such interactive use in the
most ordinary way, to print or display an announcement including an
appropriate copyright notice and a notice that there is no warranty (or
else, saying that you provide a warranty) and that users may redistribute
the program under these conditions, and telling the user how to view a copy
of this License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on the Program is
not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License, and
its terms, do not apply to those sections when you distribute them as separate
works. But when you distribute the same sections as part of a whole which is a
work based on the Program, the distribution of the whole must be on the terms
of this License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based on
the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or
distribution medium does not bring the other work under the scope of this
License.
3. You may copy and distribute the Program (or a work based on it, under
Section 2) in object code or executable form under the terms of Sections 1 and
2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2 above
on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in
object code or executable form with such an offer, in accord with
Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and installation
of the executable. However, as a special exception, the source code
distributed need not include anything that is normally distributed (in either
source or binary form) with the major components (compiler, kernel, and so on)
of the operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the source
code from the same place counts as distribution of the source code, even though
third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as
expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the Program
or its derivative works. These actions are prohibited by law if you do not
accept this License. Therefore, by modifying or distributing the Program (or
any work based on the Program), you indicate your acceptance of this License to
do so, and all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by
third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), conditions
are imposed on you (whether by court order, agreement or otherwise) that
contradict the conditions of this License, they do not excuse you from the
conditions of this License. If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all.
For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply and
the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system, which is implemented by public license practices. Many
people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add an explicit
geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In
such case, this License incorporates the limitation as if written in the body
of this License.
9. The Free Software Foundation may publish revised and/or new versions of the
General Public License from time to time. Such new versions will be similar in
spirit to the present version, but may differ in detail to address new problems
or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any later
version", you have the option of following the terms and conditions either of
that version or of any later version published by the Free Software Foundation.
If the Program does not specify a version number of this License, you may
choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the sharing and reuse of
software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively convey the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
One line to give the program's name and a brief idea of what it does.
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it
starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
software, and you are welcome to redistribute it under certain conditions;
type 'show c' for details.
The hypothetical commands 'show w' and 'show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may be
called something other than 'show w' and 'show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
'Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General Public
License instead of this License.
"CLASSPATH" EXCEPTION TO THE GPL
Certain source files distributed by Oracle America and/or its affiliates are
subject to the following clarification and special exception to the GPL, but
only where Oracle has expressly included in the particular source file's header
the words "Oracle designates this particular file as subject to the "Classpath"
exception as provided by Oracle in the LICENSE file that accompanied this code."
Linking this library statically or dynamically with other modules is making
a combined work based on this library. Thus, the terms and conditions of
the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library. If
you modify this library, you may extend this exception to your version of
the library, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version.

View file

@ -1,6 +1,6 @@
Class documentation Class documentation
<---- javadoc command: ----> <---- javadoc command: ---->
C:\Program Files\BlueJ\jdk\bin\javadoc.exe /snap/bluej/316/usr/share/bluej/jdk/bin/javadoc
-author -author
-version -version
-nodeprecated -nodeprecated
@ -11,26 +11,21 @@ C:\Program Files\BlueJ\jdk\bin\javadoc.exe
-nohelp -nohelp
-nonavbar -nonavbar
-source -source
11 17
-classpath -classpath
C:\Program Files\BlueJ\lib\bluejcore.jar;C:\Program Files\BlueJ\lib\junit-jupiter-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-api-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-engine-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-migrationsupport-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-jupiter-params-5.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-commons-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-console-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-console-standalone-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-engine-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-launcher-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-reporting-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-runner-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-suite-api-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-platform-testkit-1.5.2.jar;C:\Program Files\BlueJ\lib\junit-quickcheck-core-0.9.jar;C:\Program Files\BlueJ\lib\junit-vintage-engine-5.5.2.jar;C:\Program Files\BlueJ\lib\hamcrest-core-1.3.jar;C:\Program Files\BlueJ\lib\hamcrest-library-1.3.jar;C:\Program Files\BlueJ\lib\lang-stride.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.base.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.controls.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.fxml.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.graphics.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.media.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.properties.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.swing.jar;C:\Program Files\BlueJ\lib\javafx\lib\javafx.web.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\commons-io-2.4.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\csv.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester\+libs\jdom-1.1.3.jar;H:\GitTest\3_vorlagen_tauschordner\1_graphentester /snap/bluej/316/usr/share/bluej/bluejcore.jar:/snap/bluej/316/usr/share/bluej/javafx-base-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-base-20.0.1.jar:/snap/bluej/316/usr/share/bluej/javafx-controls-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-controls-20.0.1.jar:/snap/bluej/316/usr/share/bluej/javafx-fxml-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-fxml-20.0.1.jar:/snap/bluej/316/usr/share/bluej/javafx-graphics-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-graphics-20.0.1.jar:/snap/bluej/316/usr/share/bluej/javafx-media-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-media-20.0.1.jar:/snap/bluej/316/usr/share/bluej/javafx-swing-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/javafx-web-20.0.1-linux.jar:/snap/bluej/316/usr/share/bluej/junit-4.12.jar:/snap/bluej/316/usr/share/bluej/junit-jupiter-5.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-jupiter-api-5.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-jupiter-engine-5.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-jupiter-params-5.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-platform-commons-1.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-platform-engine-1.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-platform-launcher-1.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-platform-suite-api-1.5.2.jar:/snap/bluej/316/usr/share/bluej/junit-vintage-engine-5.5.2.jar:/snap/bluej/316/usr/share/bluej/hamcrest-core-1.3.jar:/snap/bluej/316/usr/share/bluej/opentest4j-1.2.0.jar:/snap/bluej/316/usr/share/bluej/lang-stride.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.base.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.controls.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.fxml.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.graphics.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.media.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.properties.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.swing.jar:/snap/bluej/316/usr/share/bluej/javafx/javafx.web.jar:/home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/+libs/jdom-1.1.3.jar:/home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/+libs/csv.jar:/home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/+libs/commons-io-2.4.jar:/home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester
-d -d
H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/doc
-encoding -encoding
UTF-8 UTF-8
-charset -charset
UTF-8 UTF-8
H:\GitTest\3_vorlagen_tauschordner\1_graphentester\graph\GraphElement.java /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/graph/GraphElement.java
<---- end of javadoc command ----> <---- end of javadoc command ---->
Loading source file H:\GitTest\3_vorlagen_tauschordner\1_graphentester\graph\GraphElement.java... Loading source file /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/graph/GraphElement.java...
Constructing Javadoc information... Constructing Javadoc information...
Standard Doclet version 11.0.14.1 Standard Doclet version 17.0.4.1+1
Building tree for all the packages and classes... Building tree for all the packages and classes...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\graph\GraphElement.html... Generating /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/doc/graph/GraphElement.html...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\graph\package-summary.html... Generating /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/doc/graph/package-summary.html...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\constant-values.html... Generating /home/merlin/NC_Sem/03_Informatik/00_GitCamp_Themen/02_Alg/04_DS/01_KS_Graphentester_ZPG/3_vorlagen_tauschordner/1_graphentester/doc/index.html...
Building index for all the packages and classes...
Building index for all classes...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\allclasses.html...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\allclasses.html...
Generating H:\GitTest\3_vorlagen_tauschordner\1_graphentester\doc\index.html...

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -29,82 +29,13 @@ var typeSearchIndex;
var memberSearchIndex; var memberSearchIndex;
var tagSearchIndex; var tagSearchIndex;
function loadScripts(doc, tag) { function loadScripts(doc, tag) {
createElem(doc, tag, 'jquery/jszip/dist/jszip.js');
createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js');
if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 ||
window.navigator.userAgent.indexOf('Edge/') > 0) {
createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js');
}
createElem(doc, tag, 'search.js'); createElem(doc, tag, 'search.js');
$.get(pathtoroot + "module-search-index.zip")
.done(function() {
JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) {
JSZip.loadAsync(data).then(function(zip){
zip.file("module-search-index.json").async("text").then(function(content){
moduleSearchIndex = JSON.parse(content);
});
});
});
});
$.get(pathtoroot + "package-search-index.zip")
.done(function() {
JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) {
JSZip.loadAsync(data).then(function(zip){
zip.file("package-search-index.json").async("text").then(function(content){
packageSearchIndex = JSON.parse(content);
});
});
});
});
$.get(pathtoroot + "type-search-index.zip")
.done(function() {
JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) {
JSZip.loadAsync(data).then(function(zip){
zip.file("type-search-index.json").async("text").then(function(content){
typeSearchIndex = JSON.parse(content);
});
});
});
});
$.get(pathtoroot + "member-search-index.zip")
.done(function() {
JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) {
JSZip.loadAsync(data).then(function(zip){
zip.file("member-search-index.json").async("text").then(function(content){
memberSearchIndex = JSON.parse(content);
});
});
});
});
$.get(pathtoroot + "tag-search-index.zip")
.done(function() {
JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) {
JSZip.loadAsync(data).then(function(zip){
zip.file("tag-search-index.json").async("text").then(function(content){
tagSearchIndex = JSON.parse(content);
});
});
});
});
if (!moduleSearchIndex) {
createElem(doc, tag, 'module-search-index.js'); createElem(doc, tag, 'module-search-index.js');
}
if (!packageSearchIndex) {
createElem(doc, tag, 'package-search-index.js'); createElem(doc, tag, 'package-search-index.js');
}
if (!typeSearchIndex) {
createElem(doc, tag, 'type-search-index.js'); createElem(doc, tag, 'type-search-index.js');
}
if (!memberSearchIndex) {
createElem(doc, tag, 'member-search-index.js'); createElem(doc, tag, 'member-search-index.js');
}
if (!tagSearchIndex) {
createElem(doc, tag, 'tag-search-index.js'); createElem(doc, tag, 'tag-search-index.js');
}
$(window).resize(function() {
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
});
} }
function createElem(doc, tag, path) { function createElem(doc, tag, path) {
@ -114,36 +45,88 @@ function createElem(doc, tag, path) {
scriptElement.parentNode.insertBefore(script, scriptElement); scriptElement.parentNode.insertBefore(script, scriptElement);
} }
function show(type) { function show(tableId, selected, columns) {
count = 0; if (tableId !== selected) {
for (var key in data) { document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
var row = document.getElementById(key); .forEach(function(elem) {
if ((data[key] & type) !== 0) { elem.style.display = 'none';
row.style.display = ''; });
row.className = (count++ % 2) ? rowColor : altColor;
} }
else document.querySelectorAll('div.' + selected)
row.style.display = 'none'; .forEach(function(elem, index) {
} elem.style.display = '';
updateTabs(type); var isEvenRow = index % (columns * 2) < columns;
elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
});
updateTabs(tableId, selected);
} }
function updateTabs(type) { function updateTabs(tableId, selected) {
for (var value in tabs) { document.querySelector('div#' + tableId +' .summary-table')
var sNode = document.getElementById(tabs[value][0]); .setAttribute('aria-labelledby', selected);
var spanNode = sNode.firstChild; document.querySelectorAll('button[id^="' + tableId + '"]')
if (value == type) { .forEach(function(tab, index) {
sNode.className = activeTableTab; if (selected === tab.id || (tableId === selected && index === 0)) {
spanNode.innerHTML = tabs[value][1]; tab.className = activeTableTab;
tab.setAttribute('aria-selected', true);
tab.setAttribute('tabindex',0);
} else {
tab.className = tableTab;
tab.setAttribute('aria-selected', false);
tab.setAttribute('tabindex',-1);
} }
else { });
sNode.className = tableTab; }
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
function switchTab(e) {
var selected = document.querySelector('[aria-selected=true]');
if (selected) {
if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
// left or up arrow key pressed: move focus to previous tab
selected.previousSibling.click();
selected.previousSibling.focus();
e.preventDefault();
} else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
// right or down arrow key pressed: move focus to next tab
selected.nextSibling.click();
selected.nextSibling.focus();
e.preventDefault();
} }
} }
} }
function updateModuleFrame(pFrame, cFrame) { var updateSearchResults = function() {};
top.packageFrame.location = pFrame;
top.classFrame.location = cFrame; function indexFilesLoaded() {
return moduleSearchIndex
&& packageSearchIndex
&& typeSearchIndex
&& memberSearchIndex
&& tagSearchIndex;
} }
// Workaround for scroll position not being included in browser history (8249133)
document.addEventListener("DOMContentLoaded", function(e) {
var contentDiv = document.querySelector("div.flex-content");
window.addEventListener("popstate", function(e) {
if (e.state !== null) {
contentDiv.scrollTop = e.state;
}
});
window.addEventListener("hashchange", function(e) {
history.replaceState(contentDiv.scrollTop, document.title);
});
contentDiv.addEventListener("scroll", function(e) {
var timeoutID;
if (!timeoutID) {
timeoutID = setTimeout(function() {
history.replaceState(contentDiv.scrollTop, document.title);
timeoutID = null;
}, 100);
}
});
if (!location.hash) {
history.replaceState(contentDiv.scrollTop, document.title);
}
});

File diff suppressed because it is too large Load diff

View file

@ -1,8 +0,0 @@
#BlueJ class context
comment0.target=GraphAlgo_Coloring_Schueler
comment0.text=\r\n\ Dieser\ Algorithmus\ f\u00E4rbt\ einen\ Graphen,\ so\ dass\ keine\ benachbarten\ Knoten\r\n\ die\ gleiche\ Farbe\ haben\ und\ m\u00F6glichst\ wenige\ Farben\ benutzt\ werden.\r\n\ Algorithmus\:\ Beispieldatei,\ in\ der\ Sch\u00FCler\ den\ Algorithmus\ selbst\ umsetzen\ k\u00F6nnen\r\n\r\n\ @version\ 1.0\ from\ 10.12.2020\r\n\ @author\ Thomas\ Schaller\r\n
comment1.params=
comment1.target=java.lang.String\ getBezeichnung()
comment2.params=
comment2.target=void\ fuehreAlgorithmusAus()
numComments=3

View file

@ -13,7 +13,7 @@ import algorithmen.*;
* die gleiche Farbe haben und möglichst wenige Farben benutzt werden. * die gleiche Farbe haben und möglichst wenige Farben benutzt werden.
* Algorithmus: Beispieldatei, in der Schüler den Algorithmus selbst umsetzen können * Algorithmus: Beispieldatei, in der Schüler den Algorithmus selbst umsetzen können
* *
* @version 1.0 from 10.12.2020 * @version 7.1 from 12.02.2025
* @author Thomas Schaller * @author Thomas Schaller
*/ */
@ -28,7 +28,7 @@ public class GraphAlgo_Coloring_Schueler extends GraphAlgo {
// Ende Attribute // Ende Attribute
// Anfang Methoden // Anfang Methoden
public void fuehreAlgorithmusAus() { public void fuehreAlgorithmusAus() throws InterruptedException {
gr = getGraph(); gr = getGraph();
getStartKnoten().setFarbe(3); getStartKnoten().setFarbe(3);

View file

@ -0,0 +1,34 @@
package eigeneAlgorithmen;
import java.util.List;
import java.nio.file.*;
import graph.*;
import algorithmen.*;
/**
* Beschreibung des Algos
*
* @version 7.1 from 12.02.2025
* @author Schueler
*/
public class GraphAlgo_Dijkstra_Eigener extends GraphAlgo {
Graph gr;
public String getBezeichnung() {
return "02_Dijkstra_Eigener";
}
public void fuehreAlgorithmusAus() throws InterruptedException {
gr = getGraph();
//# Hier kommt dein Quelltext zum loesen des Graphenproblems hin:
//# Schreibe Text in das Hilfefenster:
info("Hilfetext");
//# Unterbreche die Ausführung:
step();
}
}

View file

@ -1,12 +1,12 @@
#BlueJ package file #BlueJ package file
objectbench.height=93 objectbench.height=66
objectbench.width=760 objectbench.width=776
package.divider.horizontal=0.599476439790576 package.divider.horizontal=0.599476439790576
package.divider.vertical=0.8 package.divider.vertical=0.8537074148296593
package.editor.height=393 package.editor.height=419
package.editor.width=649 package.editor.width=654
package.editor.x=819 package.editor.x=565
package.editor.y=382 package.editor.y=369
package.frame.height=600 package.frame.height=600
package.frame.width=800 package.frame.width=800
package.numDependencies=0 package.numDependencies=0
@ -18,17 +18,17 @@ readme.name=@README
readme.width=49 readme.width=49
readme.x=10 readme.x=10
readme.y=10 readme.y=10
target1.height=70 target1.height=50
target1.name=GraphAlgo_Dijkstra_Eigener target1.name=GraphAlgo_Dijkstra_Eigener
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=200 target1.width=220
target1.x=70 target1.x=140
target1.y=10 target1.y=80
target2.height=50 target2.height=50
target2.name=GraphAlgo_Coloring_Schueler target2.name=GraphAlgo_Coloring_Schueler
target2.showInterface=false target2.showInterface=false
target2.type=ClassTarget target2.type=ClassTarget
target2.width=210 target2.width=220
target2.x=10 target2.x=140
target2.y=90 target2.y=20

View file

@ -35,16 +35,16 @@ dependency8.type=UsesDependency
dependency9.from=GraphOptions dependency9.from=GraphOptions
dependency9.to=Graph dependency9.to=Graph
dependency9.type=UsesDependency dependency9.type=UsesDependency
objectbench.height=209 objectbench.height=66
objectbench.width=601 objectbench.width=864
package.divider.horizontal=0.5996055226824457 package.divider.horizontal=0.5996055226824457
package.divider.vertical=0.6823529411764706 package.divider.vertical=0.87215411558669
package.editor.height=457 package.editor.height=491
package.editor.width=899 package.editor.width=742
package.editor.x=759 package.editor.x=560
package.editor.y=196 package.editor.y=289
package.frame.height=780 package.frame.height=672
package.frame.width=1050 package.frame.width=888
package.numDependencies=12 package.numDependencies=12
package.numTargets=7 package.numTargets=7
package.showExtends=true package.showExtends=true
@ -73,7 +73,7 @@ target3.height=50
target3.name=GraphElement target3.name=GraphElement
target3.showInterface=true target3.showInterface=true
target3.type=AbstractTarget target3.type=AbstractTarget
target3.width=110 target3.width=120
target3.x=220 target3.x=220
target3.y=360 target3.y=360
target4.height=50 target4.height=50
@ -88,7 +88,7 @@ target5.height=50
target5.name=GraphOptions target5.name=GraphOptions
target5.showInterface=false target5.showInterface=false
target5.type=ClassTarget target5.type=ClassTarget
target5.width=110 target5.width=120
target5.x=180 target5.x=180
target5.y=80 target5.y=80
target6.height=50 target6.height=50

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 393 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 389 KiB

Before After
Before After

View file

@ -8,14 +8,14 @@ dependency2.type=UsesDependency
dependency3.from=Picture dependency3.from=Picture
dependency3.to=PictureViewer dependency3.to=PictureViewer
dependency3.type=UsesDependency dependency3.type=UsesDependency
objectbench.height=99 objectbench.height=66
objectbench.width=451 objectbench.width=776
package.divider.horizontal=0.599476439790576 package.divider.horizontal=0.599476439790576
package.divider.vertical=0.788 package.divider.vertical=0.8537074148296593
package.editor.height=374 package.editor.height=419
package.editor.width=636 package.editor.width=654
package.editor.x=161 package.editor.x=567
package.editor.y=148 package.editor.y=331
package.frame.height=600 package.frame.height=600
package.frame.width=800 package.frame.width=800
package.numDependencies=3 package.numDependencies=3
@ -50,19 +50,19 @@ target3.width=90
target3.x=40 target3.x=40
target3.y=200 target3.y=200
target4.height=50 target4.height=50
target4.name=Picture target4.name=XML
target4.showInterface=false target4.showInterface=false
target4.type=ClassTarget target4.type=ClassTarget
target4.width=80 target4.width=80
target4.x=180 target4.x=520
target4.y=250 target4.y=220
target5.height=50 target5.height=50
target5.name=XML target5.name=Picture
target5.showInterface=false target5.showInterface=false
target5.type=ClassTarget target5.type=ClassTarget
target5.width=80 target5.width=80
target5.x=520 target5.x=180
target5.y=220 target5.y=250
target6.height=50 target6.height=50
target6.name=TableRow target6.name=TableRow
target6.showInterface=false target6.showInterface=false

View file

@ -1,18 +1,18 @@
#BlueJ package file #BlueJ package file
editor.fx.0.height=739 editor.fx.0.height=0
editor.fx.0.width=1157 editor.fx.0.width=0
editor.fx.0.x=161 editor.fx.0.x=0
editor.fx.0.y=101 editor.fx.0.y=0
objectbench.height=505 objectbench.height=80
objectbench.width=580 objectbench.width=453
package.divider.horizontal=0.599591419816139 package.divider.horizontal=0.599591419816139
package.divider.vertical=0.2768361581920904 package.divider.vertical=0.7603305785123967
package.editor.height=189 package.editor.height=269
package.editor.width=864 package.editor.width=331
package.editor.x=2119 package.editor.x=72
package.editor.y=112 package.editor.y=497
package.frame.height=808 package.frame.height=464
package.frame.width=1015 package.frame.width=477
package.numDependencies=0 package.numDependencies=0
package.numTargets=6 package.numTargets=6
package.showExtends=true package.showExtends=true
@ -28,32 +28,32 @@ target1.height=62
target1.name=control target1.name=control
target1.type=PackageTarget target1.type=PackageTarget
target1.width=80 target1.width=80
target1.x=280 target1.x=20
target1.y=10 target1.y=90
target2.height=62 target2.height=62
target2.name=algorithmen target2.name=algorithmen
target2.type=PackageTarget target2.type=PackageTarget
target2.width=90 target2.width=90
target2.x=280 target2.x=20
target2.y=90 target2.y=170
target3.height=62 target3.height=62
target3.name=eigeneAlgorithmen target3.name=eigeneAlgorithmen
target3.type=PackageTarget target3.type=PackageTarget
target3.width=130 target3.width=130
target3.x=390 target3.x=130
target3.y=90 target3.y=170
target4.height=62 target4.height=62
target4.name=imp target4.name=imp
target4.type=PackageTarget target4.type=PackageTarget
target4.width=80 target4.width=80
target4.x=480 target4.x=220
target4.y=10 target4.y=90
target5.height=62 target5.height=62
target5.name=graph target5.name=graph
target5.type=PackageTarget target5.type=PackageTarget
target5.width=80 target5.width=80
target5.x=380 target5.x=120
target5.y=10 target5.y=90
target6.height=50 target6.height=50
target6.name=GraphenTester target6.name=GraphenTester
target6.showInterface=false target6.showInterface=false

11
readme.adoc Normal file
View file

@ -0,0 +1,11 @@
= Material :
|===
|Zuordnung|
|Klassenstufe|
|Bildungsplanbezug |
|Werkzeug|
|Autoren|
|===
== Inhalt