Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рекурсия (https://javascript.ru/forum/misc/1970-rekursiya.html)

ZoNT 13.10.2008 21:46

я и не говорил, что он будет обязательно быстрее и короче :)
Как раз по причине короткой записи и используют рекурсию. Что ведёт к неочевидным проблемам в дальнейшем (с чем и столкнулся топикстартер).

magistr_bender 13.10.2008 22:27

неплохо бы чтоб ТС выложил код тогда посмотрели бы что можно с ним сделать

Gvozd 14.10.2008 00:55

не все понимают рекурсию...
но еще меньшее количество людей, из тех кто ее понимает, знает как обойтись без нее.
с аппаратной точки зрения при использовании рекурсии всегда тратится лишняя память для локальных переменных, и зачастую лишнее процессорное время(речь идет о компилируемых языках. при интерпретируемых, берем на поправку на работу интерпретатора).
Цитата:

Сообщение от magistr_bender
хм.. интересно а как ты замениш генерацию дерева из базы на цикл, с учётом что древо будет динамически изменяться и вложений будет теоретически до бесконечности..

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

Сообщение от magistr_bender
неплохо бы чтоб ТС выложил код тогда посмотрели бы что можно с ним сделать

+1

michael 07.11.2008 18:36

проблема
 
как можно организовать по событию onmouseover(для картинки) смену картинки на другую бесконечное количество раз(каждый раз новая картинка), а при обратном событии оставить последнюю картинку?

Gvozd 07.11.2008 21:23

на omouseover ставим смену картинки на новую.
на обратное событие ничего не ставим.
ЗЫ какой вопрос такой и ответ

michael 07.11.2008 21:26

Цитата:

Сообщение от Gvozd (Сообщение 8200)
на omouseover ставим смену картинки на новую.
на обратное событие ничего не ставим.
ЗЫ какой вопрос такой и ответ

а это не для двух картинок? потому что мне нужно для 8

Gvozd 07.11.2008 23:18

нет. это не для двух, а ИМЕННО для восьми
более того это единственно верное решение для восьми картинок.
если кто-то вам скажет, что для восьми картинок решается по другому, не верьте ему и киньте в него ботинком


Часовой пояс GMT +3, время: 04:30.