Преимущества мемоизации перед рекурсивными методами вычисления заключаются в следующем:
- Улучшение производительности. 14 Мемоизация сохраняет результаты дорогостоящих вызовов функций и возвращает кэшированные результаты при повторных вызовах, что исключает повторные вычисления. 15
- Вычисление только необходимых подзадач. 3 Это предпочтительно, если пространство состояний (количество возможных подзадач) очень велико, но для получения конкретного ответа нужно вычислить лишь малую его часть. 3
Например, при вычислении 10-го числа последовательности с мемоизацией потребуется всего 19 вызовов функции, по сравнению с более чем 100 вызовами в случае без мемоизации. 1