Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: Was denkt Ihr über die veranlasste Zurückweisung Asylsuchender an deutschen Grenzen?
    • Bald sollen Beamte und Selbständige in die Rentenkasse einzahlen. Wie findet ihr das?
    • Was ist die unschönste Eigenschaft die man haben kann?
    • Denkt ihr Friedrich Merz wird ein guter Kanzler?
    • Sollten die gesetzlichen Urlaubstage erhöht werden?
    • Welchen Job würdest du wollen, wenn du im Mittelalter leben würdest?
    • Alle Beiträge
    • Radiokooperation mit Absolut HOT 🔥
    • Meinung des Tages
    • Themenspecial: Wechseljahre (mit der Influencerin blondbynana)
    • Blickwechsel: Deine Fragen an einen unheilbar kranken Lungenkrebspatienten
    • Ask Me Anything:
      Alle Blickwechsel
    • Ask Me Anything:
      Alle Themenspecials
    • gutefrage Tipps
    • gutefrage Highlights
    • Computer
    • Internet & Social Media
    • Kreativität, Freizeit & Hobby
    • Lokales, Reiseziele & Urlaub
    • Medien, Unterhaltung & Musik
    • Mode & Beauty
    • Software & Apps
    • Spiele & Gaming
    • Sport & Fitness
    • Alle Themenwelten
In wenigen Minuten
Antworten auf Deine Fragen.
Frage stellen
Du hast noch kein gutefrage Profil? Jetzt kostenlos erstellen
Profil Beiträge Antworten Antworten

Namennutzerin

10.05.2014
Übersicht
0
Hilf. Antw.
1
Antwort
5
Beiträge
0
Danke
0
Komplim.
0
Freunde
Erfolge

VIP

Deine Beiträge wurden 1.000-mal gelesen.

Geistesblitzer

Erste Antwort gegeben.

FraGenius

Erste Frage gestellt.
Namennutzerin
09.10.2016, 13:59
Iterative Fibonacci Methode unter der Benutzung von Stacks?

Hallo, Hab morgen Klausur und komme bei dieser Aufgabe einfach nicht auf die Lösung. Wie kann ich die rekursive Fibonacci-Methode:

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

mithilfe von Stacks iterativ implementieren?

Eine iterative Lösung hätte ich schon, aber die implementiert nicht die rekursive Vorgehensweise:

public static int fibIt (int n) { int fib1 = 0; int fib2 = 1; int fib = 0; for (int i = 1; i < n; i++) { fib = fib1 + fib2; fib1 = fib2; fib2 = fib; } return fib; }

Hat jemand vielleicht einen Vorschlag?

...zum Beitrag
Antwort
von Namennutzerin
09.10.2016, 14:33

Nevermind. Hab wohl zu schnell gepostet. Mir ist der Knoten jetzt aufgegangen. Für alle die diesen Post in Zukunft mal lesen hier meine Lösung:

public static int fib (int n) {
int current;
int result = 0;
Stack<Integer> stack = new Stack<Integer>();

stack.push(n);

while (!stack.isEmpty()) {
current = stack.pop();
if (current > 1) {
stack.push(current - 1);
stack.push(current - 2);
}
else{
result += current;
}
}
return result;

}
...zur Antwort
gutefrage
  • Beitrag erstellen
  • Stöbern
  • Alle Themen
  • Hilfe / FAQ
  • Richtlinien
  • gutefrage Highlights
Partner
  • Businesspartner
  • Partner werden
Unternehmen
  • Über uns
  • Jobs
  • Kontakt
  • Presse
Rechtliches
  • Impressum
  • Datenschutz
  • AGB
  • Utiq verwalten
Weil es immer jemand weiß.
gutefrage ist so vielseitig wie keine andere Frage-Antwort-Plattform. Bei uns findest Du schnell neue Perspektiven - egal zu welchem Thema.
Gmacht in Minga. Mit
❤
Facebook Pixel