# Rekursion..Reihenfolge



## sh33p (6. Jul 2010)

Es geht um die Reihenfolge der Aufrufe des Blocks bzw. der Rekursiven Aufrufe des Blocks. Ein Block
stellt sowas wie eine Methode da.


block Lineal(ein: links € N, rechts € N, höhe € N)
 lokal: mitte € N;
 {
   falls höhe > 0 dann {

    Zeichne(mitte,höhe);
    Lineal(links,mitte,höhe -1);
    Lineal(mitte,rechts,höhe -1);
  }
}


Wie finde ich heraus in welcher Reihenfolge der Block nacheinander aufgerufen wird? Wenn man den Block z.b it
Lineal (0,4,2) aufruft,dann soll sich diese Reihenfolge ergeben:

Lineal(0,4,2)
 Zeichne(2,2)
 Lineal(0,2,1)
  Zeichne(1,1)
  Lineal(0,1,0)
  Lineal(1,2,0)
 Lineal(2,4,1)
 Zeichne(3,1)
 Lineal(2,3,0)
 Lineal(3,4,0)

Wie finde ich immer heraus,welcher Aufruf als nächstes kommt?


----------



## Final_Striker (6. Jul 2010)

Kannst dir z.B einen Rekursionsbaum aufzeichnen.


----------



## sh33p (6. Jul 2010)

ja ich verstehe aber nicht die Reihenfolge der aufrufe..wie finde ich heraus welcher aufruf nach welchem kommt?


----------



## Marco13 (6. Jul 2010)

Geht es um den konkreten Fall, oder wie man das z.B. in einer Klausur löst? Für den konkreten Fall: Einfach die Methode mal implementieren, und am Anfang ein 
System.out.println(...)
rein, wo alles relevante ausgegeben wird. Für den Fall einer Klausur: Hmja,... da könnte ich als Strategie jetzt nichts konkretes nennen, außer aufmalen, aufschreiben, nachvollziehen und so...


----------



## sh33p (6. Jul 2010)

jo es geht um die Klausur..aber werde es morgen mal in Java implementieren und dann weiter schauen.


----------

