Я в настоящее время на втором курсе компьютерных наук и готовлюсь к выпускному экзамену. Одной из тем была «Итерация против Признания», и это все, что было сказано:
Решение об использовании рекурсии или итерации должно основываться на характере и
ваше понимание проблемы, которую вы пытаетесь решить. Правило большого пальца состоит в том, чтобы использовать то, что
подход может лучше всего разработать интуитивное решение, которое естественно отражает проблему. Если
Итеративное решение очевидно, используйте его. Как правило, он будет более эффективным, чем рекурсивный вариант.
Тем не менее, я считаю, что есть более сложный ответ, когда лучше использовать каждый. Когда вы говорите, вы должны отдавать и брать.
Если повторное использование занимает много памяти в вашей программе, в то время как цикл for может быть немного медленнее, я знаю, что есть случаи, когда каждый из них может быть более полезным. Насколько я понимаю, цикл был бы более полезным, чем повторение.
Интересно услышать мысли других людей.