← Все вопросы
Рекурсия или цикл — когда что выбирать?
6
Многие задачи можно решить и циклом, и рекурсией. Есть ли понятное правило, когда рекурсия уместна, а когда лучше обычный цикл?
2 ответа
5
✓ Принятый ответ — помог автору
Практично: если рекурсия читается понятнее и глубина небольшая — пиши рекурсию. Если глубина может быть огромной — переписывай в цикл или используй явный стек.
4
Рекурсия хороша там, где задача естественно делится на такие же подзадачи: обход дерева, разбор вложенных структур, divide-and-conquer. Для линейного перебора бери цикл — он быстрее и не упрётся в лимит глубины рекурсии (по умолчанию ~1000 в CPython).
Ваш ответ
Войдите, чтобы ответить на вопрос.