DM Greedy Vererbung geändert, Ausgabe der Knoten hinzugefügt. CTXT DAteien aus der VVerwaltung raus. Name fürs Hauptfenster

This commit is contained in:
Frank Schiebel 2022-11-26 19:01:13 +01:00
parent 160bbe909a
commit 39a2f13410
68 changed files with 145 additions and 1929 deletions

View file

@ -18,7 +18,7 @@ import graph.*;
* @author Thomas Schaller
*/
public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo {
public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo_DominatingSetGreedy {
// Anfang Attribute
@ -29,7 +29,7 @@ public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo {
/** Bestimmt besten Knoten nach Strategie:
* Nimm den Knoten mit den meisten Nachbarn
*/
private Knoten bestimmeBesten() {
protected Knoten bestimmeBesten() {
List<Knoten> knoten = g.getAlleKnoten(k->!k.isMarkiert());
info("Wiederhole für jeden noch nicht markierten Knoten");
@ -48,32 +48,5 @@ public class GraphAlgo_DominatingSetGreedyC extends GraphAlgo {
return bester;
}
// 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
}
// Ende Methoden
}