Шаг 60.
Рекурсия на Python.
Линейная рекурсия I: основные алгоритмы (общие сведения)

    На этом шаге мы наметим план дальнейшего ищложения.

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

    Линейная рекурсия - самый простой тип рекурсии, который может быть альтернативой итерации, многократно выполняющей определённую последовательность операций. Хотя обсуждаемые в дальнейших шагах задачи легко решить с помощью итерации, линейная рекурсия предлагает очень прозрачные примеры рекурсивного мышления и программирования. Поэтому здесь будут приведены примеры применения рекурсивных понятий (декомпозиции и индукции), которые крайне желательно постичь, прежде чем заняться более сложными задачами и типами рекурсии.

    На следующем шаге мы рассмотрим арифметические операции.




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