@kochurinn

Что в приоритете в реальных проектах циклы или рекурсия?

Понимаю, что возможно глупый вопрос, но представим, что есть задача, которую можно решить и циклом, и рекурсией.
Что в приоритете использовать?
  • Вопрос задан
  • 132 просмотра
Решения вопроса 4
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
То, что удобнее и нужнее в конкретном случае. По сути - что циклы, что рекурсия это одно и то же.
Ответ написан
Комментировать
@zxf
Однозначно циклы. Рекурсия сложнее читается и работает дольше.

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

Первый и один раз в жизни, однажды, успешно реализовал в +- крупном проекте рекурсивный метод и получил краткий, но поучительный фидбек, после чего успешно переделал на цикле :)
Ответ написан
Комментировать
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Как уже писали выше - то, что лучше читается и лучше работает. Я - за циклы, т.к. к циклу можно применить динамическое программирование, он будет лучше читаться и, скорее всего, лучше работать, т.к. не будет вложенных вызовов функций, ну и отлаживать проще.
Ответ написан
Комментировать
@rPman
Все ответы верные, но с оговоркой.
Обычно рекурсия использует стек для хранения состояний на каждом уровне, когда как для цикла можно выбрать любое другое место хранения.

Размер стека обычно ограничен, поэтому если количество вложенностей рекурсии велико, лучше переделать на использование циклов либо симулировать хранение состояния рекурсий на массивах (часто сложно)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы