Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2008, 10:01
Интересующийся
Отправить личное сообщение для arseniy-at-home Посмотреть профиль Найти все сообщения от arseniy-at-home
 
Регистрация: 13.10.2008
Сообщений: 11

Рекурсия
Здравствуйте.

Я использую рекурсивную функцию и в некоторых случаяю получаю Out of memory. Возможно ли как-то увеличить объем выделяемой памяти?
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2008, 10:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не надо ничего увеличивать, у Вас просто бесконечная рекурсия получается или слишком большой объем вычислений.
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2008, 10:23
Интересующийся
Отправить личное сообщение для arseniy-at-home Посмотреть профиль Найти все сообщения от arseniy-at-home
 
Регистрация: 13.10.2008
Сообщений: 11

Сообщение от Octane Посмотреть сообщение
Не надо ничего увеличивать, у Вас просто бесконечная рекурсия получается или слишком большой объем вычислений.
Это понятно. Но задача такова, что никак иначе не поступить. Поэтому нужно что-то придумать.
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2008, 10:25
Интересующийся
Отправить личное сообщение для arseniy-at-home Посмотреть профиль Найти все сообщения от arseniy-at-home
 
Регистрация: 13.10.2008
Сообщений: 11

Сообщение от Octane Посмотреть сообщение
Не надо ничего увеличивать, у Вас просто бесконечная рекурсия получается или слишком большой объем вычислений.
В смысле большой объем вычислений у меня. Точно, не бесконечная.
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2008, 11:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Значит эту задачу нужно решать не на стороне клиента или возможно найти более оптимальный способ решения, который не потребует столько ресурсов и времени.
Ответить с цитированием
  #6 (permalink)  
Старый 13.10.2008, 11:16
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

любую рекурсию можно заменить циклом...
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2008, 12:33
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Разбейте и выполняйте маленькими кусочками по сетИнтервал.
Ответить с цитированием
  #8 (permalink)  
Старый 13.10.2008, 20:34
Кандидат Javascript-наук
Отправить личное сообщение для magistr_bender Посмотреть профиль Найти все сообщения от magistr_bender
 
Регистрация: 07.09.2008
Сообщений: 133

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

Последний раз редактировалось magistr_bender, 13.10.2008 в 20:36.
Ответить с цитированием
  #9 (permalink)  
Старый 13.10.2008, 20:40
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

подучи теорию и алгоритмизацию...
Ответить с цитированием
  #10 (permalink)  
Старый 13.10.2008, 20:48
Кандидат Javascript-наук
Отправить личное сообщение для magistr_bender Посмотреть профиль Найти все сообщения от magistr_bender
 
Регистрация: 07.09.2008
Сообщений: 133

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск