В программировании - программный модуль или подпрограмма, который вызывает себя для выполнения итеративной операции. Другими словами, чистое выражение повторяется, чтобы выполнить гораздо более сложную операцию.
Принцип рекурсии иллюстрируется числами Фибоначчи, числовым рядом, в котором первые два члена равны 1; последовательные члены даются суммированием двух предыдущих членов (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 и т. д.). Числа Фибоначчи могут быть получены с помощью следующего уравнения, если n больше 2: Фибоначчи («) = Фибоначчи (« - 1) + Фибоначчи (n - 2).
Technipages объясняет рекурсию
Рекурсия - это метод решения проблем в программировании, при котором проблема разбивается на более мелкие блоки и решается индивидуально. Итак, первое решение зависит от меньших решений, полученных от более мелких проблем. Рекурсия помогает решить проблему, так как вопрос решается на ее условиях.
Лучше всего это иллюстрируется русской матрешкой, которая представляет собой набор кукол, заключенных в большую куклу; каждая кукла является прямой копией следующей или предыдущей куклы, за исключением меньшего размера. Итак, каждая кукла - это уменьшенная или более значимая версия другой. Рекурсивное программирование основано на этом принципе, при котором проблема решается путем разбиения ее на более мелкие проблемы.
История рекурсии восходит к 1958 году. Джон Маккарти первым применил принцип рекурсии в программировании, и это можно найти в его работе над LISP. LISP был первым языком программирования, в котором были реализованы рекурсивные функции в том виде, в котором они есть сегодня. Работа Маккарти была вдохновлена работами Алонзо Черча, написанными двумя десятилетиями ранее. Известные упоминания, связанные с рекурсией, также могут быть датированы работой Дедекинда о натуральных числах в 1888 году. Роза Петер представила рекурсивные функции в 1932 году на Международном математическом конгрессе в Цюрихе в 1932 году.
Распространенное использование рекурсии
- Рекурсия помогает в решении проблем, поскольку решает проблему на своих условиях, от разбиения проблемы на более мелкие проблемы
- Лучшим способом решения проблем было бы Рекурсия потому что это расширяет кругозор проблемы.
- В Рекурсия, новый набор проблем является копией друг друга, и каждая проблема решается самостоятельно.
Распространенные злоупотребления рекурсией
- Рекурсия не решает проблемы, даже если проблема разбита на более мелкие
- Рекурсия только упрощает задачу, но не дает на нее ответа.