Klasse 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.
- Seit:
- 16.12.2024
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungTelNet
(int lbg) Legt ein neues Telefonnetz mit dem Leitungsbegrenzungswert lbg an. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
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()
-
Konstruktordetails
-
TelNet
public TelNet(int lbg) Legt ein neues Telefonnetz mit dem Leitungsbegrenzungswert lbg an.- Parameter:
lbg
- Leitungsbegrenzungswert.
-
-
Methodendetails
-
addTelKnoten
public boolean addTelKnoten(int x, int y) Fügt einen neuen Telefonknoten mit Koordinate (x,y) dazu.- Parameter:
x
- x-Koordinate.y
- y-Koordinate.- Gibt zurück:
- 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.- Gibt zurück:
- true, falls es einen minimal aufspannden Baum gibt, sonst false.
-
getOptTelNet
Liefert ein optimales Telefonnetz als Liste von Telefonverbindungen zurück.- Gibt zurück:
- Liste von Telefonverbindungen.
- Löst aus:
IllegalStateException
- falls nicht zuvor computeOptTelNet() erfolgreich durchgeführt wurde.
-
getOptTelNetKosten
Liefert die Gesamtkosten eines optimalen Telefonnetzes zurück.- Gibt zurück:
- Gesamtkosten eines optimalen Telefonnetzes.
- Löst aus:
IllegalStateException
- falls nicht zuvor computeOptTelNet() erfolgreich durchgeführt wurde.
-
drawOptTelNet
Zeichnet das gefundene optimale Telefonnetz mit der Größe xMax*yMax in ein Fenster.- Parameter:
xMax
- Maximale x-Größe.yMax
- Maximale y-Größe.- Löst aus:
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].- Parameter:
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.- Gibt zurück:
- Anzahl der Knoten des Telefonnetzes.
-
toString
-
main
-