Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Javaproblem (Rekursion - Türme von Hanoi)

kalle_13 / 1 Antworten / Baumansicht Nickles

Hallo zusammen, ich habe ein Problem, zuerst zeige ich euch mal den Quellcode:


final class Hanoi  {


 static void bewegeScheibe( int n, String vor, String nach )  {


      System.out.println("Scheibe " + n + "  von " + nach + " nach ");     }


   static void versetzeTurm( int n, String kupfer, String silber, String gold)  {


     if ( n > 1)  {


       versetzeTurm( n-1,  kupfer, gold, silber);


       bewegeScheibe( n, kupfer, gold);


      versetzeTurm( n-1, silber, kupfer, gold);    }


  else


  bewegeScheibe( n, kupfer, gold);  }


public static void main(String args[])  {


  versetzeTurm( 3, "Kupfer", "Silber", "Gold");


}   }


Meine Frage: Kann mir jemand Schritt für Schritt den Methodenablauf erklären???


Wie kommt es bei 3 Scheiben zum 1.Schritt: Scheibe 1 von Kupfer nach Gold und bei 4 Scheiben zum 1.Schritt: Scheibe 1 von Kupfer nach Silber???


Kann mir irgendjemand anhand eines durchlaufs den Methodenablauf und vorallem die Parameterübergabe schildern??


Vielen Dank schon mal

bei Antwort benachrichtigen
r00ter kalle_13 „Javaproblem (Rekursion - Türme von Hanoi)“
Optionen

Das angewendete Verfahren nennt sich Rekursion. Ein grosses Problem wird dabei in eine Menge kleinere Teilprobleme aufgesplittet wobei die Ergebnisse von einem Teilproblem immer zum nächsten übergeben werden. Eine Funktion ruft sich also selbst auf. Dies hier ist eine Endrekursive Funktion.


securecrew
SecureCrew::UNIX / Linux Security, Coding and more..
SecureCrew.net

bei Antwort benachrichtigen