|
Для того чтобы лучше понять особенности рекурсивных алгоритмов, полезно сопоставить итеративнную и рекурсивную огранизацию процесса вычислений в программе. Особенности итеративного и рекурсивного вычислительного процесса рассмотрим на примере вычисления значения факториала некоторого натурального числа N. Итеративная схема организации вычислительного процесса Итеративный процесс можно проиллюстрировать с помощью схемы, приведенной на рис. 55. Этот процесс состоит из четырех блоков: инициализации, принятия решения (о продолжении вычислений), вычисления и модификации. В основе итеративного вычислительного процесса лежит итеративный цикл While, Repeat-Until, For. Наиболее общим является цикл While: While < условие цикла > do < тело цикла >;
Итеративная схема вычисления факториала:
N! = 1 * 2 * 3 * … * N. Существует два важных положения, известных в математике и в программировании, определяющих соотношение между итерацией и рекурсией. 1. Любой итеративный цикл может быть заменен рекурсией. 2. Рекурсия не всегда может быть заменена итерацией.
|