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
Zum Ende der Seite springen Fibonacci - Rekursiv
Beiträge zu diesem Thema Autor Datum
 Fibonacci - Rekursiv Tina_92 12.11.2015 17:51
 RE: Fibonacci - Rekursiv eulerscheZahl 12.11.2015 18:31
 RE: Fibonacci - Rekursiv Tina_92 12.11.2015 21:53
 RE: Fibonacci - Rekursiv eulerscheZahl 12.11.2015 22:26

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:
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Fibonacci - Rekursiv