Algorithmen und Datenstrukturen · Junior · Frage 28 von 75

Warum ist diese Fibonacci-Funktion für n = 40 langsam?

function fib(n) {
  if (n < 2) return n;
  return fib(n - 1) + fib(n - 2);
}
Antwort zeigen

Richtige Antwort: Sie berechnet dieselben Werte immer wieder neu

Erklärung

fib(n - 1) und fib(n - 2) berechnen beide dieselben kleineren Werte neu, der Aufrufbaum hat also etwa 2ⁿ Knoten. Ergebnisse zu cachen (Memoisierung) oder eine einfache Schleife macht es O(n).

Zum Weiterlesen

Fehler in der Frage

Algorithmen und Datenstrukturen · Junior · Frage 28

Teste dich selbst

Mach den Test Algorithmen und Datenstrukturen · Junior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen