Рекурсия или итерация
Разбираем два способа повторять действия и когда какой удобнее.
Два пути к повторению
Итерация — это повторение через цикл: делаем шаг, снова шаг, пока не выполнится условие. Рекурсия — когда функция вызывает саму себя для задачи поменьше, пока не дойдёт до простейшего случая. Оба подхода решают одни и те же задачи, но выглядят по-разному.
Когда удобнее цикл
Для простого повтора известное число раз или прохода по списку цикл нагляднее и экономнее. Он не создаёт лишних вложенных вызовов и понятнее новичку. Большинство повседневных задач естественно ложатся именно на итерацию.
Когда красивее рекурсия
Рекурсия сияет там, где задача сама по себе вложенная: обход папок с подпапками, дерево, деление задачи пополам. Такой код часто короче и ближе к формулировке задачи. Плата — риск слишком глубоких вызовов, поэтому у рекурсии всегда должен быть чёткий момент остановки.
Частые вопросы
Что учить первым? Сначала циклы — они проще и встречаются чаще. Рекурсию осваивают после уверенного владения циклами и функциями.
Как прочувствовать повторение? На наглядных шагах. В тренажёре Дрон Кодер повтор — это «сделай шаг N раз», и видно каждое действие.
Начать игру бесплатно