Habe folgende Aufgabe. Ich soll den Kürzesten Pfad in einem Labyrinth Rekursiv finden.
Bisher kenne ich mich nur mit Wave Propagation (Iterativ) und wallfollower etc aus.
Meine Idee ists nun, dass ich Rekursiv erstmal das Maze entdecke und jedem Schritt eine Distanz zu ordne (Rekursive tiefe).
Nachdem alle Zellen discovered sind gehe ich vom Ziel aus und Suche dort Rekursiv per Backtracking den Kürzesten weg.
Ist das der Richtige Ansatz um das Problem zu lösen?
Das Labyrinth kann auch keine Wände haben und sehr großen Freiraum. Siehe Beispiel:
new String[]{
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
"S D",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
}
Es wird per Aufgabe zugesichert, dass der Weg maximal 65535 schritte lang ist. Das springt sofort ins Auge, weil unsigned short so groß ist. Dies würde meine Theorie bestätigen wenn man eine unsigned short matrix nehmen würde zum tracken der besuchten Zellen.
Oder gibts da eine bessere Lösung? Hab noch nie wirklich rekursiv gearbeitet und mag Rekursion nicht wirklich bisher.