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