Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:graphen:zpg:hilfekarten:start [14.11.2022 17:57] – Frank Schiebel | faecher:informatik:oberstufe:graphen:zpg:hilfekarten:start [17.11.2022 09:24] (aktuell) – [Bearbeiten - Panel] Frank Schiebel | ||
---|---|---|---|
Zeile 110: | Zeile 110: | ||
// füge alle nicht besuchten Nachbarknoten der Liste hinzu | // füge alle nicht besuchten Nachbarknoten der Liste hinzu | ||
- | for(Knoten nachbar : g.getNachbarKnoten(k)) { | + | for(Knoten nachbar : g.getNachbarknoten(k)) { |
if(!nachbar.isMarkiert() && !toDo.contains(nachbar)) { | if(!nachbar.isMarkiert() && !toDo.contains(nachbar)) { | ||
toDo.add(0, n); //füge am Anfang der Liste hinzu | toDo.add(0, n); //füge am Anfang der Liste hinzu | ||
Zeile 150: | Zeile 150: | ||
// Rekursiver Aufruf mit allen Nachbarknoten | // Rekursiver Aufruf mit allen Nachbarknoten | ||
- | for(Knoten nachbar : g.getNachbarKnoten(k)) { | + | for(Knoten nachbar : g.getNachbarknoten(k)) { |
rekursiveMethode(nachbar); | rekursiveMethode(nachbar); | ||
} | } | ||
Zeile 159: | Zeile 159: | ||
</ | </ | ||
+ | |||
<panel title=" | <panel title=" | ||
+ | |||
Backtracking lässt sich am leichtesten rekursiv implementieren. | Backtracking lässt sich am leichtesten rekursiv implementieren. | ||
- | </panel> | + | |
+ | <code java> | ||
+ | import java.util.ArrayList; | ||
+ | </code> | ||
<code java> | <code java> | ||
public void fuehreAlgorithmusAus() { | public void fuehreAlgorithmusAus() { | ||
Zeile 188: | Zeile 194: | ||
// hier alle nicht markierten, ausgehenden Kanten | // hier alle nicht markierten, ausgehenden Kanten | ||
ArrayList< | ArrayList< | ||
- | ArrayList< | + | ArrayList< |
for(Kante ausgehendeKante : nichtMarkiert) { | for(Kante ausgehendeKante : nichtMarkiert) { | ||
Zeile 208: | Zeile 214: | ||
return loesung; | return loesung; | ||
} | } | ||
+ | </ | ||
+ | </ | ||
+ | <panel title=" | ||
+ | Um Informationen oder Ergebnisse eigener Algorithmen auszugeben, bietet der Graphentester drei Möglichkeiten an: | ||
+ | ==== Java Konsole ==== | ||
+ | |||
+ | Man kann mit '' | ||
+ | |||
+ | ==== melde() ==== | ||
+ | |||
+ | Mit der Methode '' | ||
+ | |||
+ | | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== info() ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Mit Hilfe der Methoden '' | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | <code java> | ||
+ | info(" | ||
+ | infoIndentMore(); | ||
+ | for(Knoten k: alleKnoten) { | ||
+ | int Eingangsgrad = g.getEingehendeKanten(k).size(); | ||
+ | info(" | ||
+ | k.setWert(Eingangsgrad); | ||
+ | } | ||
+ | infoIndentLess(); | ||
+ | info(" | ||
</ | </ | ||
+ | |||
+ | {{: | ||
+ | </ | ||
</ | </ |