Тема: Рекурсия
Показать сообщение отдельно
  #13 (permalink)  
Старый 14.10.2008, 00:55
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

не все понимают рекурсию...
но еще меньшее количество людей, из тех кто ее понимает, знает как обойтись без нее.
с аппаратной точки зрения при использовании рекурсии всегда тратится лишняя память для локальных переменных, и зачастую лишнее процессорное время(речь идет о компилируемых языках. при интерпретируемых, берем на поправку на работу интерпретатора).
Сообщение от magistr_bender
хм.. интересно а как ты замениш генерацию дерева из базы на цикл, с учётом что древо будет динамически изменяться и вложений будет теоретически до бесконечности..
я видел решения , при которых, организация дерева не ребует рекурсии. возмождно я что-то путаю, но алгоритм "Nested Sets" работает без рекурсии. хотя помимо него есть тоже разные пути реализации.
аналогично для любой другой "классической рекурсивной" задачи.
минус нерекурсивного подхода в таких задачах, не в "медленной" работе (при больших объемах данных, и уровнях вложенности нерекурсия начинает выигрывать), а в том, что более сложно написать, отладить, проверить на потенциальные баги, и ОБЪЯСНИТЬ другому нерекурсивное решение. Но если оно у вас работает, и работает правильно, то это просто отлично
ЗЫ
Сообщение от magistr_bender
неплохо бы чтоб ТС выложил код тогда посмотрели бы что можно с ним сделать
+1

Последний раз редактировалось Gvozd, 14.10.2008 в 00:57.
Ответить с цитированием