Как обойти Maximum function nesting level

  • Автор темы Автор темы WoLFiks
  • Дата начала Дата начала

WoLFiks

Не курю...
Как обойти Maximum function nesting level

Как обойти ошибку Maximum function nesting level of '100' reached, aborting! пр использовании ресурсии.
- рекурсия явно не бесконечная, просто уровней вложенности будет около 1000, может 2000...

Любые параметры могу менять. Сервер свой.
 
Нередки ситуации, когда рекурсию можно заменить итерациями. Не твой случай?
 
ХМ ... Не то чтобы в точку, НО
Очень интересная мысль...
Попробуем помудрить.
 
crocodile2u
Нередки ситуации, когда рекурсию можно заменить итерациями.
А разве рекурсию не всегда можно заменить на итерации воспользовавшись своим стеком для хранения переменных?
 
Автор оригинала: phprus
crocodile2u

А разве рекурсию не всегда можно заменить на итерации воспользовавшись своим стеком для хранения переменных?
нет, есть случаи когда без рекурсии тяжко: нужно строить километровые велосипеды


2TopicStarter
А что ты там такое делаешь? Не могу себе представить дерево такого размера
 
kode
нет, есть случаи когда без рекурсии тяжко: нужно строить километровые велосипеды
Абсолютно согласен, но я писал свой ответ из-за того, что высказывание crocodile2u показалось мне несколько неверным. Помоему его лучше было переформулировать примерно так: "Нередки ситуации, когда замена рекурсии на итерации может упростить алгоритм, уменьшить его требования к стеку..."
 
kode
Хранение цепочек составляющих ДНК...

Да плюнул уже на эти деревья и кустики....
Дерево ведь - частный случай графа. Вот как оказывается, что общим случаем все реализуется лучше.

Сейчас перекуриваю теорию графов заново.... Хотя и "не курю" ))))
 
phprus
Я по образованию физик, алгоритмов нам не преподавали. Скорее всего, ты прав.
 
Рекурсия в большинстве случаев нужна для обхода дерева. У тебя древовидная структура с 1000 уровнем вложенности?? Думаю, тебе стоит просто пересмотреть структуру обрабатываемых данных, сделать ее более "человеческой". Иначе выходит какой-то изврат, типа как заменить рекурсию семимерным массивом. :D
 
Поразительны русские форумы по программированию... простой вопрос, нет надо по умничать и поучить, но оставить без ответа.

Изменить в php.ini
xdebug.max_nesting_level = 200

Интересно, этот мой пост админы тоже удалят?
 
rixaman, при чем тут вообще xdebug?

PS: приз почетного некропостера уже твой...
 
fixxxer, совет то может стоящий, при наличии xdebug'a, только автору, если ты прочитал тред, советовали пересмотреть алгоритм, а не увеличивать лимит на вызовы)
 
Вообще говоря, информация о том, что этот лимит берется из xdebug-а, полезнее капитанских соображений о возможности замены рекурсии итерацией.
 
Сверху