Что это такое? | Как это закодировать

Оглавление

  1. Что это такое?
  2. Шаги к ответу на рекурсивную проблему
  3. Типы проблем
  4. Когда это полезно?

Что это такое?

  • Рекурсия — функция, многократно вызывающая себя до тех пор, пока не будет достигнут какой-то базовый случай. против
  • Итерация — повторный вызов набора инструкций.

Шаги к ответу на рекурсивную проблему

1. Определите повторяющийся шаблон

Умножение каждого числа в массиве и возврат ответа.

2. Определите базовый случай

Когда этот шаблон прекращается? Базовый случай сообщает вашей программе, когда она достигла вершины стека функций.

3. Определите рекурсивный случай

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

Типы проблем

Единый базовый вариант

Двойной базовый случай

Аккумулятор

Вложенные данные

Когда это полезно

Хотя все рекурсивные проблемы можно решить с помощью итерации, рекурсия полезна, когда итерацию будет сложнее понять (например, обработка вложенных данных). Смотрите визуал из Free Code Camp ниже:

Дополнительные ресурсы