Browsing the archives for the memoizer tag.

用记忆函数快速计算递归函数

Web开发

摘自《JavaScript: The Good Parts》,作为读书笔记备用。

如果有一个 fibonacci 数列要计算:

var fibonacci = function (n) {
    return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
};

恐怕数字一大浏览器就会崩掉了,因为运算过程中函数会有大量重复的计算。但 JavaScript 强大的数组和函数闭包可以轻松实现对已计算的结果记忆。运算速度会有指数级的提高。

Continue Reading »

No Comments