【发布时间】:2014-05-13 11:19:53
【问题描述】:
我正在尝试在 Haskell 中构建一个数据结构,可以使用它来避免重新计算值。例如,假设我有这个功能:
f :: Int -> Int -> Int
f 1 1 == 1
f m n
| abs m > n = 0
| OTHERWISE if value of f m n has already been computed by another recursive branch, return that value and add it to the "database"
| OTHERWISE return f (m-1) (n-1) + f (m - 1) n
我已经看过 memoization,但还没有实现解决方案:\
建议? :)
【问题讨论】:
标签: haskell recursion memoization