Максимальная глубина стека и общее число сохранений, требуемых для вычисления n!

Для сравнения с упражнением 5.26 , изучите поведение следующей процедуры для рекурсивного вычисления факториала:

(define (factorial n)
  (if (= n 1)
      1
      (* (factorial (- n 1)) n)))

Запуская эту процедуру и отслеживая поведение стека, определите как функции от n максимальную глубину стека и общее число сохранений, требуемых для вычисления n! , при n ≥ 1 . (Эти функции также будут линейны.) Опишите общие результаты экспериментов, записав в следующую таблицу соответствующие выражения как формулы, зависящие от n :

5.27

Максимальная глубина служит мерой объема памяти, используемой вычислителем при обработке выражения, а количество сохранений хорошо коррелирует со временем вычисления.


Комментарии отсутствуют.

Необходима авторизация

Вы должны авторизоваться для создания комментария.

Вход