При написании примеров для функций memoization и продолжения прохождения (CPS) на функциональном языке я в конечном итоге использовал пример Fibonacci для обоих. Тем не менее, Фибоначчи действительно не выигрывает от CPS, так как цикл все равно должен выполняться экспоненциально часто, тогда как с memoization его единственный O (n) первый раз и O (1) в следующее следующее время.
Объединение CPS и memoization имеет небольшое преимущество для Fibonacci, но есть ли примеры, где CPS - лучший способ, который препятствует выходу из стека и повышает производительность и где memoization не является решением?
Или: есть ли какие-либо ориентиры для выбора одного или другого?