Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Fibonacci - Rekursiv » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Fibonacci - Rekursiv
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Tina_92
unregistriert
Fibonacci - Rekursiv Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi zusammen,

kann mir bitte jemand erklären, wie bei meinem Code die Abarbeitung des rekursiven Funktionsaufrufes erfolgt?



Meine Ideen:
Hier mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:

public int fibonacci(int n) 
{
  if (n==0)
        return 0; 
  if (n==1) 
        return 1;
  if (n>1)
        return fibonacci(n-1)+fibonacci(n-2);
  else return 0; 
}




Vielen Dank :-)
12.11.2015 17:51
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Versuche es mal mit Kontrollausgaben:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public static int fibonacci(int n, int depth) 
{
	for(int i = 0; i  < depth; i++) {
		System.out.print("  ");		
	}
	System.out.println(n);
	if (n==0)
		return 0; 
	if (n==1) 
		return 1;
	if (n>1)
		return fibonacci(n-1, depth+1)+fibonacci(n-2, depth+1);
	else return 0; 
	}
}

liefert für fibonacci(5, 0):
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
5
  4
    3
      2
        1
        0
      1
    2
      1
      0
  3
    2
      1
      0
    1

Alternativ zeilenweises Debuggen.

__________________
Syntax Highlighting fürs Board (Link)
12.11.2015 18:31 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Tina_92
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie ich diese Rekursionen hasse, vielen Dank für die Antwort.
12.11.2015 21:53
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Rekursion ist ein tolles Werkzeug. Damit kann man Dinge tun, die sonst gar nicht oder nur mit großem Aufwand möglich wären (z.B. Ackermannfunktion).

__________________
Syntax Highlighting fürs Board (Link)
12.11.2015 22:26 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Fibonacci - Rekursiv