logo
Харви Дейтел, Пол Дейтел Как программировать на С++ / 02-Deitel-Стр-115-214

3.14. Рекурсии или итерации

В предыдущих разделах мы рассмотрели две функции, которые можно легко реализовать рекурсивно или итеративно. В этом разделе мы сравним эти два подхода и обсудим основания, по которым программист может пред­почесть в конкретной ситуации то или иной подход.

Как итерации, так и рекурсии основаны на управляющей структуре: итерации используют структуру повторения, рекурсии используют структуру выбора.

Как итерации, так и рекурсии включают повторение: итерации исполь­зуют структуру повторения явным образом, рекурсии реализуют повторение посредством повторных вызовов функции. Как итерации, так и рекурсии включают проверку условия окончания: итерации заканчиваются после на­рушения условия продолжения цикла, рекурсии заканчиваются после рас­познавания базовой задачи. Как итерации с повторением, управляемым счет­чиком, так и рекурсии постепенно приближаются к моменту своего завершения: в итерациях выполняется изменение счетчика до тех пор, пока он не примет значение, при котором перестает выполняться условие продол­жения цикла; в рекурсиях поддерживается процесс создания упрощенной