【发布时间】:2017-06-23 08:29:08
【问题描述】:
我正在尝试在 javascript 中实现记忆技术。但我的记忆功能比非记忆功能花费更多时间。我想我已经正确实现了记忆功能(我是编程新手)。 任何人都可以帮助并让我知道原因。
记忆功能码:
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)
}
非记忆函数:
function fiboeven(n){
if (n === 1)
return 2
else if (n === 2)
return 8
else
return 4*fiboeven(n-1) + fiboeven(n-2)
}
【问题讨论】:
-
缓存不要在你的函数中初始化,否则会一直为空