Вопрос №93 от пользователя user-7f4b4446afcf509a в уроке «СИКП: Процедуры и порождаемые ими процессы 1», курс «Структура и интерпретация компьютерных программ»

user-7f4b4446afcf509a

В первом случае определяемая процедура используется внутри основных вычислений, поэтому процедура порождает рекурсивные вычисления. Во втором — процедура тоже используется внутри вычислений и тоже порождает рекурсию. Разница в этих примерах, возможно, заключается в меньшем потреблении памяти второй реализации.

1 1

Kirill Mokevnin

Как минимум по памяти. В большинстве языков это работает за счет "оптимизации хвостовой рекурсии". Так же рекурсивный процесс часто порождает комбинаторный взрыв и в целом почти никогда не используется в реальной жизни, хотя алгоритм записанный таким образом, обычно, ложится на код один в один и легок для понимания.

Итеративный процесс же, при использовании рекурсивных функции обычно отличается от определения алгоритма и часто реализуется сложнее и хитрее.

9

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 декабря 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 декабря 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 декабря 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 декабря 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 декабря 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
1 декабря 5 месяцев