«Учитывая массив из n целых чисел, возвращаем массив своих факториалов».Сохраняет ли Memoization время выполнения этого алгоритма?
Вместо прямого пути итерации по массиву и поиска факториала для каждого из них я думал о мемуаризованном подходе, где храню ранее вычисленные факториалы и использую их в последующих.
Например: 7! может быть рассчитано очень быстро, если результат 6! где-то хранится. Тем не менее, я заметил, что время выполнения обоих алгоритмов по-прежнему равно O (n). (Возможно, я ошибаюсь) Это подразумевает, что мы не ускоряем процесс здесь? Если это так, означает ли это, что memoization не полезен в проблемах с недревесной рекурсией? (В Фибоначчи мы эффективно обрезаем дерево рекурсии, memoizing ранее найденные значения, в случае factorial, у нас на самом деле нет дерева, больше похоже на рекурсивную лестницу) Любые комментарии оценены.
У меня был хэш-стол. На самом деле только массив будет делать, потому что сам номер может служить индексом. – Siddhartha