zoukankan      html  css  js  c++  java
  • 另类递归

            var memoizer = function (memo, fundamental) {

                var shell = function (n) {

                    var result = memo[n];

                    if (typeof result !== 'number') {

                        result = fundamental(shell, n);

                        memo[n] = result;

                    }

     

                    return result;

                };

     

                return shell;

            };

            var fibonacci = memoizer([1, 1], function (shell, n) {

                return shell(n - 1) + shell(n - 2);

            });

            var factorial = memoizer([1, 1], function (shell, n) {

                return n * shell(n - 1);

            });

           

     

            function test(n) {

                for (var i = 1; i <= n; i++) {

                    fibonacci(n);

                    factorial(n);

                }

            }

    说明: 当执行testn)时,该思路就能大幅提升性能!

  • 相关阅读:
    梅森素数
    高精度乘法
    快速幂取模
    高精度加法
    Linux 压缩&解压缩
    Lec_Cloud资源云平台
    IP102,IP102-K_V3.0 输入节点机
    A7互动主机
    音频处理器的使用
    关于测试随笔
  • 原文地址:https://www.cnblogs.com/Langzi127/p/2282568.html
Copyright © 2011-2022 走看看