rekursion:tiefensuche:istverbundenaufgabe:loesung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
rekursion:tiefensuche:istverbundenaufgabe:loesung [2024/09/08 16:12] – angelegt Martin Pabst | rekursion:tiefensuche:istverbundenaufgabe:loesung [2024/09/08 16:31] (aktuell) – [Lösung] Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Lösungsidee ====== | ||
+ | <WRAP center round tip 60%> | ||
+ | Wir geben der Methode '' | ||
+ | Interessantes Detail: Am Anfang belegen wir das Array '' | ||
+ | </ | ||
+ | |||
+ | |||
====== Lösung ====== | ====== Lösung ====== | ||
Zeile 18: | Zeile 25: | ||
| | ||
| | ||
+ | // Instanzierung und Vorbelegung des Arrays weg: | ||
int[] weg = new int[adj.length]; | int[] weg = new int[adj.length]; | ||
- | for(int i = 0; i < weg.length; i++) { | + | for (int i = 0; i < weg.length; i++) { |
| | ||
} | } | ||
+ | | ||
if(istVerbundenRekursiv(startknoten, | if(istVerbundenRekursiv(startknoten, | ||
- | | + | // Ausgabe des Weges: |
+ | for (int i = adj.length - 1; i >= 0; i--) { | ||
if(weg[i] != -1) { | if(weg[i] != -1) { | ||
| | ||
Zeile 43: | Zeile 53: | ||
if(startknoten == zielknoten) { | if(startknoten == zielknoten) { | ||
- | int i = 0; | + | int i = nächsterFreierIndex(weg); |
- | while(weg[i] != -1) { | + | |
- | i++; | + | |
- | } | + | |
| | ||
| | ||
} | } | ||
- | for(int i = 0; i < adj.length; i++) { | + | for (int i = 0; i < adj.length; i++) { |
| | ||
if(istVerbundenRekursiv(i, | if(istVerbundenRekursiv(i, | ||
- | int i = 0; | + | int i = nächsterFreierIndex(weg); |
- | while(weg[i] != -1) { | + | |
- | i++; | + | |
- | } | + | |
| | ||
| | ||
Zeile 63: | Zeile 67: | ||
} | } | ||
return false; | return false; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Suche die nächste freie Position im Array weg: | ||
+ | */ | ||
+ | | ||
+ | int i = 0; | ||
+ | while (weg[i] != -1) { | ||
+ | i++; | ||
+ | } | ||
+ | return i; | ||
} | } | ||
rekursion/tiefensuche/istverbundenaufgabe/loesung.1725811973.txt.gz · Zuletzt geändert: 2024/09/08 16:12 von Martin Pabst