// Allgemeines Schema für rekursives Backtracking // Die Methode soll genau dann true zurückgeben, wenn eine Lösung gefunden wurde public boolean sucheLoesung( /* Parameter, um einen Schritt/aktuelle Position zu merken */ ) { // Zähle alle möglichen Schritte von der aktuellen Position systematisch auf while ( /* Noch nicht fertig && ex. noch Teillösungsschritte */ ) { // wähle den nächsten Schritt aus if ( /* Schritt ist gültig */ ) { // erweitere Lösung um diesen Schritt if ( /* Lösung noch nicht gefunden */ ) { if ( sucheLoesung( /* neuer Schritt/neue Position */ ) ) { return true; } else { // Mache Schritt wieder rückgängig (Backtracking) } } else { return true; } } } return false; }