Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 17:48   #21
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Обхожусь где можно без рекурсии, из за ее "неестественности"
Лисп программисты не одобряют твой пост
Levsha100 вне форума
Старый 06.11.2010, 17:50   #22
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я использовал всего один раз в олимпиадной задачке.
Вадим Буренков вне форума
Старый 06.11.2010, 18:16   #23
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Смотря от программы. В какой-то часто, в какой-то никогда.

Цитата:
Приводят пример с факториалом
Я не знаю (или не помню) кто такой факториал, но по деревьям ходить удобно с рекурсией, это факт.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 06.11.2010 в 18:20.
mutabor вне форума
Старый 06.11.2010, 18:49   #24
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Я не знаю (или не помню) кто такой факториал
Это который 1*2*3*..*N. Решается рекурсивно чисто в образовательных целях, куда логичнее его вычислять без рекурсии. А учитывая быстрый рост функции, логичнее вообще завести массив, каждый i-й элемент которого содержит значение i!. Но это если факториал нужен в какой-то реальной задачи со сложными расчетами.
Arigato вне форума
Старый 06.11.2010, 20:12   #25
Rapid
Форумчанин
 
Аватар для Rapid
 
Регистрация: 01.09.2007
Сообщений: 747
По умолчанию

Цитата:
И вообще, в каких ситуациях, помимо вычисления факториала, применяется рекурсия?
Работа с любой древовидной структурой предполагает использование рекурсии. Работа с математическими выражениями (математические выражения со скобками тоже можно рассматривать, как древовидные).
В системе mathematica 7 на основе рекурсивных процедур люблю строить разные фракталы.
Никому не верьте.
Rapid вне форума
Старый 07.11.2010, 01:07   #26
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Да, использую. В зависимости от задачи. Если по другому сделать не выйдет, по определённым причинам. В основном при работе с HTML текстом.
Alter вне форума
Старый 07.11.2010, 11:46   #27
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Использую иногда, когда она сама просится. Например при разборе математических выражений. Удобная вещь. Все разговоры про медленность и требуемую память под рекурсию с рекурсией ни как не связаны. Просто во всяких там Дельфях и С++ нет встроенных средств для организации рекурсии. Это проблема Вашего языка программирования, а не самой рекурсии. В Scheme к примеру, если рекурсия имеют определенную форму, то она будет заменена на цикл автоматически и эффективность ее будет такой же, даже при переборе файлов и папок.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 07.11.2010, 11:49   #28
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Ну так подытожим: рекурсию имеет смысл использовать, когда необходимо обойти дерево (явное или не явное). Есть ли еще какие-то оправданные задачи для рекурсии?
Arigato вне форума
Старый 07.11.2010, 11:51   #29
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Нет, погоди. Деревом можно обозначить многие вещи. Вон тот же массив - частный случай дерева... Обычный record в Дельфи это что? Дерево . А численные методы? Всякие там ряды Тейлора? Модные нынче фракталы?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 07.11.2010, 12:18   #30
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Вообще, рекурсия сама по себе порождает дерево. Так что, в любом случае, будет обход дерева, только не всегда явного. Но если развернуть рекурсию, то как раз дерево и получится.
Arigato вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как часто Вы используете логи? Levsha100 Свободное общение 33 18.11.2009 10:10
Как реализовать рабочий стол Windows в своих программах? GreenStar Общие вопросы Delphi 4 27.08.2009 22:35
Какой софт вы используете при создании своих программ? Cкулаб Софт 21 15.06.2009 18:56
Задача на рекурсию(( kinza Помощь студентам 6 08.06.2009 09:51
Задача на рекурсию. KoHgpaT Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2006 20:49