Шаг 18.
Рекурсия на Python. Основные понятия рекурсивного программирования. Типы рекурсии. Вложенная рекурсия

    На этом шаге мы приведем пример такого типа рекурсии.

    Вложенный тип рекурсии возникает, когда аргумент рекурсивной функции содержит другой рекурсивный вызов. Рассмотрим следующую функцию Фибоначчи:

           1 + s,   если n = 1 или n = 2
f(n, s) =                                                     (1.19)
           f(n - 1, s + f(n - 2, 0)), если n > 2

    Второй параметр рекурсивного вызова - выражение, включающее в себя еще один рекурсивный вызов функции. В этом случае числа Фибоначчи F(n) могут быть получены из f(n, 0). Такой тип рекурсии редок, но появляется в некоторых задачах и контекстах, связанных с хвостовой рекурсией. Краткий обзор вложенной рекурсии мы приведем чуть позже.

    Со следующего шага мы начнем разбираться с методикой рекурсивного мышления.




Предыдущий шаг Содержание Следующий шаг