E
EndRekursion
Gast
Tagchen,
ich verstehe nicht so wirklich wann ein Programm EndeRekursiv ist und wann nicht?
Beispiel Harnoi-Türme:
Ist dieses Programm EndeRekursiv? Wenn ja, warum? Wenn nein, warum nicht?
ich verstehe nicht so wirklich wann ein Programm EndeRekursiv ist und wann nicht?
Beispiel Harnoi-Türme:
Java:
public class HanoiRek {
private static int count = 1;
static void Tow(String Quelle, String Hilf, String Ziel, int n) {
count++;
if (n == 1)
System.out.println ("Bewege Scheibe " + n + " von " + Quelle + " nach " + Ziel);
else{
Tow(Quelle, Ziel, Hilf, n-1);
System.out.println ("Bewege Scheibe " + n + " von " + Quelle + " nach " + Ziel);
Tow(Hilf, Quelle, Ziel, n-1);
}
}
public static void main (String args []) {
long start = System.currentTimeMillis();
System.out.println ("Tuerme von Hanoi");
Tow("Quelle", "Hilfsziel", "Ziel", 20);
long end = System.currentTimeMillis();
long duration = end - start;
System.out.println("Es hat: " + duration/1000 + " Sekunden gedauert!");
System.out.println("Anzahl der Schritte: " + count);
}
}
Ist dieses Programm EndeRekursiv? Wenn ja, warum? Wenn nein, warum nicht?