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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 07:42   #1
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию часто ли вы в своих программах используете рекурсию

Вот практически во всех учебниках по программированию (а так же и в великих преподских лекциях) рассказывают про великую рекурсию. Приводят пример с факториалом. Мне в моих программах ни разу не приходилось использовать рекурсию, дабы не нужно было работать с факториалом. И вообще, в каких ситуациях, помимо вычисления факториала, применяется рекурсия? И как часто вы применяете рекурсивные вызовы в своих программах? ( если применяете)
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 06.11.2010, 07:57   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Я в последнее время постоянно использую, т.к. приходится много работать с древовидными структурами.
Баламут вне форума
Старый 06.11.2010, 08:10   #3
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Цитата:
приходится много работать с древовидными структурами.
разъяснить мона? как это выглядит
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 06.11.2010, 08:57   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

На примере веб программирования, самое обыденное это например нужно построить URL для материала, для этого выгребаешь из базы всех родителей этого материала, до тех пор пока поле parent_id не станет = 0. По такому же принципу строятся и хлебные крошки.
Gorychev вне форума
Старый 06.11.2010, 09:01   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я редко. Так файл поискать...
ИМХО с рекурсией нужно осторожно.
I'm learning to live...
Stilet вне форума
Старый 06.11.2010, 10:22   #6
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Цитата:
ИМХО с рекурсией нужно осторожно.
Я же предпочитаю итерацию.
Цикл for мне больше нравится. Еще рекурсия перегружает программу больше, т.к переменные в функции создаются заново.
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 06.11.2010, 10:23   #7
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Редко, но использую. Последний раз юзал в своем компиляторе для лексического разбора. Практически вся программы была построена на рекурсии. Ну и вообще, юзаю иногда. Но когда можно без нее - не использую.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума
Старый 06.11.2010, 10:28   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Последний раз юзал в своем компиляторе для лексического разбора.
Кстати да. В этом плане рекурсия оч. удобна, особенно когда нужно прооперировать вложенными выражениями
I'm learning to live...
Stilet вне форума
Старый 06.11.2010, 10:40   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

согласен со всем вышесказанным.
Рекурсия мощный и очень полезный инструмент, но лично я ей пользуюсь, либо когда задача по другому решается НАМНОГО сложнее, либо когда задача изначально предполагает рекурсивый подход (т.е. если при решении рекурсия сама просится, чтобы её использовали, примеры таких задач уже выше приведены).

veter_s_morya, вот Вам практический пример. просуммируйте размер всех файлов в указанной папке, включая и вложенные папки.
(вот то, что выделено цветом, как раз и подсказывает, что рекурсия тут прямо таки просится!)
Можете, для тренировки решить эту простенькую задачку.
- с использованием рекурсии.
- без использования рекурсии.
а потом сами решите - как проще и быстрее решать подобные задачи.
Serge_Bliznykov вне форума
Старый 06.11.2010, 11:08   #10
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Не очень, но юзаю.
Levsha100 вне форума
Закрытая тема


Купить рекламу на форуме - 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