Рекурсия - метод определения класса объектов или методов
предварительным заданием одного или нескольких (обычно простых) его базовых
случаев или методов, а затем заданием на их основе правила построения
определяемого класса, ссылающегося прямо или косвенно на эти базовые случаи.
Другими словами, рекурсия - способ общего определения
объекта или действия через себя, с использованием ранее заданных частных
определений. Рекурсия используется, когда можно выделить само подобие задачи.
Рекурсивный алгоритм (процедура,
функция):
Ш алгоритм называется рекурсивным, если в его определении
содержится прямой или косвенный вызов этого же алгоритма;
Ш рекурсивная функция - одно из математических уточнений
интуитивного понятия вычислимой функции.
Структура рекурсивной процедуры может принимать три разных формы:
Техническая реализация рекурсии
Освобождение стека.
Описание типа данных может
содержать ссылку на саму себя. Подобные структуры используются при
описании списков и графов. Пример описания списка (C++):
struct element_of_list
{
element_of_list *next; /* ссылка на следующий элемент того же типа */
int data; /* некие данные */
};
Рекурсивная структура данных
зачастую обуславливает применение рекурсии для обработки этих данных.