gpt4 book ai didi

recursion - 内存递归阶乘函数如何使其更有效?

转载 作者:行者123 更新时间:2023-12-04 22:13:18 24 4
gpt4 key购买 nike

var lookup = {};
function memoized(n) {
if(n <= 1) { return 1; }

if(lookup[n]) {
return lookup[n];
}

lookup[n] = n * memoized(n - 1);
return lookup[n];
}


function fact(n) {
if(n <= 1) { return 1; }
return n * fact(n-1);
}

如果我们称事实(3)

使用第二种方法,我们得到-> 3 *(2 *(1))

将结果存储在哈希中的效率提高是多少?它是否仅用于后续对同一函数的调用?如果只调用一次函数,我看不到会有什么收获。

使用内存的斐波那契函数,即使仅调用一个函数,仍然可以提高效率。要获得第n个斐波那契数,如果您不记笔记,您将在每个fib(n)上重复计算fib(n-1)和fib(n-2)。我没有在阶乘函数中看到这种情况。

最佳答案

实际上,一次使用不会获得任何效率。只有多次使用此方法,您才能获得效率

关于recursion - 内存递归阶乘函数如何使其更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com