He estado obteniendo RuntimeError: maximum recursion depth exceeded
al intentar extraer un objeto de árbol altamente recursivo. Al igual que this asker here.Python: decapado de objetos altamente recursivos sin usar `setcursionlimit`
Resolvió su problema al establecer el límite de recursión más alto con sys.setrecursionlimit
. Pero no quiero hacer eso: creo que es más una solución que una solución. Porque quiero ser capaz de encurtir mis árboles incluso si tienen 10,000 nodos en ellos. (En la actualidad falla en torno a 200.)
(también, cierto límite de recursividad de cada plataforma es diferente, y realmente me gustaría evitar abrir esta lata de gusanos.)
¿Hay alguna manera de resolver esto en el nivel fundamental? Si solo el módulo Pickle saltara usando un bucle en lugar de recursión, no habría tenido este problema. Tal vez alguien tenga una idea de cómo puedo hacer que algo como esto suceda, sin reescribir el módulo Pickle?
Cualquier otra idea de cómo puedo resolver este problema será apreciada.
¿Qué es el árbol de? ¿Por qué necesita ser escabechado después de 1000 de nodos?(Estoy tratando de pensar fuera de la caja, pero necesitaría más información ...) – bwawok
El árbol es un árbol del tiempo de una simulación. Un poco similar al árbol de confirmación de un sistema de control de fuente. –
¿No puedes serializarlo iterativamente con un BFS? –