
- Динамическое программирование — метод оптимизации рекурсивных вычислений путём сохранения результатов подзадач.
- Перекрывающиеся подзадачи — ситуации, когда рекурсивная функция многократно вычисляет одно и то же значение.
- Мемоизация — техника кэширования результатов функций для предотвращения повторных вычислений.
- Восходящее решение — подход, при котором задачи решаются от простых к сложным с помощью итераций.