0
我學習了underscorejs _.memoize方法,我想知道他的適用場景。 頭暈!頭暈!不瞭解API在說什麼。_.memoize適用的場景是什麼?
var fibonacci = _.memoize(function(n) {
return n < 2 ? n: fibonacci(n - 1) + fibonacci(n - 2);
});
我學習了underscorejs _.memoize方法,我想知道他的適用場景。 頭暈!頭暈!不瞭解API在說什麼。_.memoize適用的場景是什麼?
var fibonacci = _.memoize(function(n) {
return n < 2 ? n: fibonacci(n - 1) + fibonacci(n - 2);
});
Memoization創建記住它的結果,使其不必再計算它們的功能。
例如,計算斐波納契時(5):
等等。你可以看到fibonacci(3)被使用了兩次,但每次都會有相同的結果,所以不需要計算兩次。相反,記憶斐波納契函數只是第一次計算它,並存儲結果;每當斐波那契(3)被使用後,它立即返回存儲的結果。請參閱What is memoization good for and is it really all that helpful?。