Package TelNetApplication
Class TelNet
java.lang.Object
TelNetApplication.TelNet
Klasse zur Verwaltung von Telefonknoten mit (x,y)-Koordinaten
und zur Berechnung eines minimal aufspannenden Baums
mit dem Algorithmus von Kruskal.
Kantengewichte sind durch den Manhattan-Abstand definiert.
- Since:
- 15.12.2024
-
Constructor Summary
ConstructorDescriptionTelNet(int lbg)
Legt ein neues Telefonnetz mit dem Leitungsbegrenzungswert lbg an. -
Method Summary
Modifier and TypeMethodDescriptionboolean
addTelKnoten(int x, int y)
Fügt einen neuen Telefonknoten mit Koordinate (x,y) dazu.boolean
Berechnet ein optimales Telefonnetz als minimal aufspannenden Baum mit dem Algorithmus von Kruskal.void
drawOptTelNet(int xMax, int yMax)
Zeichnet das gefundene optimale Telefonnetz mit der Größe xMax*yMax in ein Fenster.void
generateRandomTelNet(int n, int xMax, int yMax)
Fügt n zufällige Telefonknoten zum Netz dazu mit x-Koordinate aus [0,xMax] und y-Koordinate aus [0,yMax].Liefert ein optimales Telefonnetz als Liste von Telefonverbindungen zurück.int
Liefert die Gesamtkosten eines optimalen Telefonnetzes zurück.static void
Anwendung.int
size()
Liefert die Anzahl der Knoten des Telefonnetzes zurück.toString()
-
Constructor Details
-
TelNet
public TelNet(int lbg)Legt ein neues Telefonnetz mit dem Leitungsbegrenzungswert lbg an.- Parameters:
lbg
- Leitungsbegrenzungswert.
-
-
Method Details
-
addTelKnoten
public boolean addTelKnoten(int x, int y)Fügt einen neuen Telefonknoten mit Koordinate (x,y) dazu.- Parameters:
x
- x-Koordinate.y
- y-Koordinate.- Returns:
- true, falls die Koordinate neu ist, sonst false.
-
computeOptTelNet
public boolean computeOptTelNet()Berechnet ein optimales Telefonnetz als minimal aufspannenden Baum mit dem Algorithmus von Kruskal.- Returns:
- true, falls es einen minimal aufspannden Baum gibt, sonst false.
-
getOptTelNet
Liefert ein optimales Telefonnetz als Liste von Telefonverbindungen zurück.- Returns:
- Liste von Telefonverbindungen.
- Throws:
IllegalStateException
- falls nicht zuvor computeOptTelNet() erfolgreich durchgeführt wurde.
-
getOptTelNetKosten
Liefert die Gesamtkosten eines optimalen Telefonnetzes zurück.- Returns:
- Gesamtkosten eines optimalen Telefonnetzes.
- Throws:
IllegalStateException
- falls nicht zuvor computeOptTelNet() erfolgreich durchgeführt wurde.
-
drawOptTelNet
Zeichnet das gefundene optimale Telefonnetz mit der Größe xMax*yMax in ein Fenster.- Parameters:
xMax
- Maximale x-Größe.yMax
- Maximale y-Größe.- Throws:
IllegalStateException
- falls nicht zuvor computeOptTelNet() erfolgreich durchgeführt wurde.
-
generateRandomTelNet
public void generateRandomTelNet(int n, int xMax, int yMax)Fügt n zufällige Telefonknoten zum Netz dazu mit x-Koordinate aus [0,xMax] und y-Koordinate aus [0,yMax].- Parameters:
n
- Anzahl TelefonknotenxMax
- Intervallgrenz für x-Koordinate.yMax
- Intervallgrenz für y-Koordinate.
-
size
public int size()Liefert die Anzahl der Knoten des Telefonnetzes zurück.- Returns:
- Anzahl der Knoten des Telefonnetzes.
-
toString
-
main
Anwendung.- Parameters:
args
- wird nicht benutzt.
-