【发布时间】:2011-10-07 10:45:24
【问题描述】:
找到斐波那契数列的第 n 项 f(n) = f(n-1) + f(n-2) 可以通过记忆化在 O(n) 时间内求解。
更有效的方法是使用分治法在 log n 时间内找到矩阵 [ [1,1] , [1,0] ] 的 n 次方。
是否有类似的方法可以遵循 f(n) = f(n-1) + f(n-x) + f(n-x+1) [ x 是某个常数]。
只需存储之前的 x 个元素,这可以在 O(n) 时间内解决。
有没有更好的方法来解决这个递归。
【问题讨论】:
-
这是一个很好的问题,但您可能会在 math.stackexchange.com 上得到更好的答案
-
也许您可以查看cs.uiuc.edu/~jeffe/teaching/373/notes/recurrences.pdf 并尝试调整所提供的工具来计算针对您的问题的特定解决方案。
-
同样的方法,但是矩阵的大小是 x x x。天气与否这是否有效将取决于 x 和 n 的相对大小。