Lernpfad:Rekursion in Java/Aufrufstapel: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Navigation}}
{{Navigation}}
== Der Aufrufstapel ==
== Der Aufrufstapel ==
[[Datei:01_Rekursion_Aufrufstack_Fakultaet.png |right|800px|frame|center|Aufrufstapel der Methode Fakultät.]]
[[Datei:01_Rekursion_Aufrufstack_Fakultaet.png |right|400px|frame|center|Aufrufstapel der Methode Fakultät.]]
Intern werden die Methodenaufrufe einer rekursiven Methode auf einem ''Stapel'' gespeichert. Die Methoden, die ganz oben auf dem Stapel liegen, werden zuerst abgearbeitet. Danach wird das Resultat der Methode verwendet, um die darunterliegenden Methoden zu berechnen.
Intern werden die Methodenaufrufe einer rekursiven Methode auf einem ''Stapel'' gespeichert. Die Methoden, die ganz oben auf dem Stapel liegen, werden zuerst abgearbeitet. Danach wird das Resultat der Methode verwendet, um die darunterliegenden Methoden zu berechnen.



Version vom 8. Januar 2019, 10:10 Uhr

Der Aufrufstapel

Aufrufstapel der Methode Fakultät.

Intern werden die Methodenaufrufe einer rekursiven Methode auf einem Stapel gespeichert. Die Methoden, die ganz oben auf dem Stapel liegen, werden zuerst abgearbeitet. Danach wird das Resultat der Methode verwendet, um die darunterliegenden Methoden zu berechnen.

Icon Heft.png
Arbeitsauftrag
Die Methode z Ergänzen Sie den Aufrufstapel zu dem Methodenaufruf z(5) .
public int z(x) {
  if (x > 1){
    return a + z(x - 2);
  }else{
    return 1;
  }
}
z(1) 1
z(3)
z(5) z(5) z(5) z(5) 5+4=9
Lösung
z(1) 1
z(3) z(3) 3+1=4
z(5) z(5) z(5) z(5) 5+4=9