Bifalgorithm post · Computer science one · Recursion

How can memoization improve a recursive Fibonacci function in PHP?

How can memoization improve a recursive Fibonacci function in PHP? (Computer science one · Recursion) — "PHP is not a language that provides implicit memoizati…

Ideas in this flowchart

  • PHP benötigt explizite Memoization mit einer Tabelle.
  • PHP stellt keine implizite Memoization bereit.
  • Werte müssen ausdrücklich in einer Tabelle nachverfolgt werden.
  • Die Tabelle wird als Argument an die Funktion übergeben.
  • Das Beispiel verwendet die Funktion fibonacciMemoization($n, $table).
  • Die Funktion prüft mehrere Bedingungen für n und die Tabelle.
  • Für n < 0 wird 0 zurückgegeben.
  • Für n <= 1 wird 1 zurückgegeben.
  • Wenn table[n] vorhanden ist, wird der gespeicherte Wert zurückgegeben.
  • Andernfalls wird der Fibonacci-Wert rekursiv berechnet.
  • Die Werte für n-1 und n-2 werden rekursiv berechnet.
  • Die beiden Werte werden addiert, in der Tabelle gespeichert und zurückgegeben.
Feed/

How can memoization improve a recursive Fibonacci function in PHP?

No cover

Channel

Computer science one

1 page

"PHP is not a language that provides implicit memoization. Instead, we need to explicitly keep track of values using a table. In the following example, the table is passed through as an argument.\n\n1 function fibonacciMemoization($n, $table) {\n\n2 if($n < 0) {\n\n3 return 0;\n\n4 } else if($n <= 1) {\n\n5 return 1;\n\n6 } else if(isset($table[$n])) {\n\n7 return $table[$n];\n\n8 } else {\n\n9 $a = fibonacciMemoization($n-1, $table);\n\n10 $b = fibonacciMemoization($n-2, $table);\n\n11 $result = ($a + $b);\n\n12 $table[$n] = $result;\n\n13 return $result;\n\n14 }\n\n15 }"

Flowchart preview
👍
0
0 comments0 shares

Sign in to view and post comments.