В інформатиці рекурсія – це метод вирішення обчислювальної задачі, де рішення залежить від розв’язків менших екземплярів тієї самої проблеми. Рекурсія вирішує такі рекурсивні проблеми за допомогою функцій, які викликають самі себе з власного коду.
Рекурсія означає "визначення проблеми в термінах самої себе". Це може бути дуже потужним інструментом для написання алгоритмів. Рекурсія походить безпосередньо з математики, де є багато прикладів виразів, записаних у самих собі. Наприклад, послідовність Фібоначчі визначається як: F(i) = F(i -1) + F(i-2)
Рекурсія є метод вирішення проблеми, коли рішення залежить від розв’язків менших екземплярів тієї самої проблеми.
Класичний приклад рекурсії Класичний приклад рекурсивного програмування передбачає обчислення факториалів. Факториал числа обчислюється як це число, помножене на всі числа під ним до 1 включно. Наприклад, факторіал(5) те саме, що 5*4*3*2*1, а факторіал(3) дорівнює 3*2*1 .
Рекурсія є унікальний спосіб реалізації функції і зазвичай використовується в мовах програмування високого рівня. Рекурсивна функція зазвичай викликає саму себе всередині себе і повертається лише тоді, коли виконується базовий випадок — спеціальна умова.
Навіщо використовувати рекурсію замість циклів? Ви використовуєте рекурсію коли чіткість коду є пріоритетом і вам потрібно вирішити проблеми, які складаються з рекурсивної структури.