Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Циклы или рекурсия: как выбрать

И циклы, и рекурсия позволяют повторять действия. Но подходят они для разных задач. Разберём разницу.

Цикл — повторение в лоб

Цикл (for, while) просто повторяет блок кода нужное число раз или пока верно условие. Это понятно, наглядно и подходит для большинства задач новичка: пройти по списку, повторить действие N раз.

Рекурсия — функция вызывает себя

Рекурсия — это когда функция вызывает саму себя для меньшей части задачи, пока не дойдёт до простого случая. Она элегантна для задач, которые естественно делятся на подобные подзадачи: дерево папок, вложенные структуры.

Что выбрать

Новичку почти всегда проще и надёжнее цикл — его легче понять и отладить, и он не рискует «зациклиться» в бесконечные вызовы. Рекурсию берите, когда задача сама по себе вложенная и цикл выходит громоздким. Сначала уверенно освойте циклы.

Частые вопросы

Рекурсия сложнее циклов? Для понимания — обычно да, поэтому начинают с циклов.

Можно ли одно заменить другим? Часто да: многое, что делает рекурсия, можно записать циклом, и наоборот.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание