Js的身体化斐波那契数

原创
小哥 3年前 (2022-11-14) 阅读数 36 #大杂烩

内存是一种优化技术,它保存前一个结果的值,类似于缓存。因为 例如:在执行中。fibonacci(5)的时候,fibonacci(3) 被执行了两次

                        fib(5)
              fib(4)               fib(3)
           3         2            2       1
       ↙       ↘ 
     2             1
function fibnan(n) {
        const memo = [0, 1]; // 缓存计算结果
        const fib = (n) => {
          if (memo[n] != null) { // 如果已经计算好了,把它还给他。
            return memo[n];
          }
          return (memo[n] = fib(n - 1, memo) + fib(n - 2, memo));  // 否则,将他的计算添加到缓存中。
        };
        return fib;
      }

通过 fibnan()(5);调用 知道结果是5

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门