← Все вопросы

Рекурсия или цикл — когда что выбирать?

Задан 5 дней назад1 просмотров2 ответа
6

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

2 ответа

5
✓ Принятый ответ — помог автору

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

4

Рекурсия хороша там, где задача естественно делится на такие же подзадачи: обход дерева, разбор вложенных структур, divide-and-conquer. Для линейного перебора бери цикл — он быстрее и не упрётся в лимит глубины рекурсии (по умолчанию ~1000 в CPython).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект