рекурсия в программировании



рекурсия это в программировании

Автор Барс задал вопрос в разделе Другие языки и технологии

Зачем нужна рекурсия? и получил лучший ответ

Ответ от Ёергей Марков[гуру]
1. Рекурсия подразумевает более компактный вид записи выражения. Обычно это зависимость процедур (функций, членов прогрессии и т. д. ) соседних порядковых номеров. Некоторые зависимости очень сложно выразить какой либо формулой, кроме как рекурсивной. Особенно при изучении фракталов.
2. Незаменимая в ряде случаев при программировании замкнутых циклов. Ряд циклических функции в языках программирования по определению представляют собой рекурсивные процедуры. Например while do в Паскале.
Например, задачу о нахождении кратчайшего пути выхода из лабиринта проще всего записать в программном коде в виде рекурсии.
Или задача о Ханойских башнях. Рекурсивный вызов процедуры самой себя ощутим сокращает программный код.
Решение задач из Теории игр и системного анализа, расчет величин в пределах величины погрешности (условие - достижение результата с удовлетворяющей величиной погрешности) , например расчет числа Пи, решение задач методами итераций.
Применение рекурсий программистами является хорошим стилем программирования, показывает профессиональность.
Недавно решал задачу, условие которой сводилось к нахождению бесконечной суммы определенного выражения (сходящийся ряд) . Чтобы решить эту задачу, нужно определиться со степенью точности, с которой нужно получить результат, иначе задача не решается.
Когда это выражение достигнет требуемой точности сказать сложно (на каком шаге итераций) , поэтому здесь необходимо задать рекурсию.
Но одно можно сказать точно Барс - нет незаменимых вещей, всегда можно найти альтернативу.
Сергей Марков
Мыслитель
(8168)
Только цикл for
Все остальные циклы работают по принципу рекурсии, другими словами от условия. Цикл for хорош для решения самых простых, элементарных задач.
Операторы GoTo, процедура procedure Name(), function Name() - это все рекурсивные вызовы. Любой возврат в программе - рекурсия по определению.
Объектно-ориентированное программирование на 60% основано на рекурсиях.
Но если неправильно их использовать, можно зациклить программу на бесконечный повтор, что при совершенно несложно сделать.

Ответ от IRQ[гуру]
Для решения задач

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

Ответ от Капитан Гугл[гуру]
Часто рекурсия значительно упрощает восприятие человеком. Например, рекурсивная формула для чисел Фибоначчи
a(n+2)=a(n+1)+a(n),
а нерекурсивная
a(n)=(((1+sqrt(5))^n/2)-(1-sqrt(5))^n/2))/sqrt(5).
Как красивее?

Ответ от Jurijus Zaksas[гуру]
Для обработки древовидных структур в основном. Пример с Фибоначчи тоже в общем-то ничего такой.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Зачем нужна рекурсия?
Рекурсия на Википедии
Посмотрите статью на википедии про Рекурсия
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*