Lernpfad:Rekursion in Java/Rekursion bei Schachproblemen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 6: | Zeile 6: | ||
Ein rekursiver Algorithmus könnte wie folgt aussehen: | Ein rekursiver Algorithmus könnte wie folgt aussehen: | ||
< | <syntaxhighlight > | ||
dame(t, zeilen | dame(t, zeilen) | ||
Falls t < | Falls t < 8 ist | ||
DANN | DANN | ||
pos = erste Leere Zeile | pos = erste Leere Zeile | ||
wiederhole solange pos < | wiederhole solange pos < 8 ist | ||
setze die Dame auf die Position | setze die Dame auf die Position | ||
prüfe ob die Dame mit einer anderen kollidiert | prüfe ob die Dame mit einer anderen kollidiert | ||
Zeile 17: | Zeile 17: | ||
nächste freie Zeile verwenden | nächste freie Zeile verwenden | ||
Falls nein | Falls nein | ||
loesung = dame(t+1) | loesung = dame(t+1, zeilen) | ||
Falls !loesung | Falls !loesung | ||
DANN | DANN | ||
Zeile 24: | Zeile 24: | ||
speicher die Lösung / gib die Lösung aus | speicher die Lösung / gib die Lösung aus | ||
gib true zurueck | gib true zurueck | ||
</ | </syntaxhighlight > | ||
# Springerproblem | # Springerproblem | ||
## https://de.wikipedia.org/wiki/Springerproblem | ## https://de.wikipedia.org/wiki/Springerproblem |
Version vom 8. Januar 2019, 11:24 Uhr
Im Kontext des Schachspiels gibt es zwei sehr bekannte Problemstellungen. An dieser Stelle sollen einfach nur ein paar Links für interessierte hinzugefügt werden:
- Dameproblem
Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden, dass sich keine Damen gegenseitig schlagen.
Ein rekursiver Algorithmus könnte wie folgt aussehen:
dame(t, zeilen)
Falls t < 8 ist
DANN
pos = erste Leere Zeile
wiederhole solange pos < 8 ist
setze die Dame auf die Position
prüfe ob die Dame mit einer anderen kollidiert
Falls ja
nächste freie Zeile verwenden
Falls nein
loesung = dame(t+1, zeilen)
Falls !loesung
DANN
gib false zurueck
SONST
speicher die Lösung / gib die Lösung aus
gib true zurueck
- Springerproblem