Ich versuche, Memoization-Technik in Javascript zu implementieren. Aber meine Memo-Funktion benötigt mehr Zeit als die Nicht-Memo-Funktion. Ich denke, dass ich memoized Funktion richtig umgesetzt habe (ich bin ein Neuling zum Programmieren). Kann jemand helfen und lassen Sie mich den Grund wissen.Memoization Function nimmt mehr Zeit als nicht Memoized
memoized Funktionscode:
function fiboeven(n){
var cache =[]
if (n in cache) return cache[n]
else if (n === 1) return cache[0] = 2
else if (n === 2) return cache[1] = 8
else return cache[n] = 4*fiboeven(n-1) + fiboeven(n-2)
}
Nicht memoized Funktion:
function fiboeven(n){
if (n === 1)
return 2
else if (n === 2)
return 8
else
return 4*fiboeven(n-1) + fiboeven(n-2)
}
Der Cache sollte in Ihrer Funktion nicht initialisiert werden, sonst ist er immer leer –