Otrzymuję RuntimeError: maximum recursion depth exceeded
podczas próby wybrania wysoce rekursywnego obiektu drzewa. Podobnie jak this asker here.Python: Pikowanie wysoce rekurencyjnych obiektów bez użycia `setrecursionlimit`
Rozwiązał on swój problem, ustawiając wyższy limit rekurencji z sys.setrecursionlimit
. Ale nie chcę tego robić. Myślę, że to raczej rozwiązanie, niż rozwiązanie. Ponieważ chcę mieć możliwość wybrania drzewek, nawet jeśli mają one 10.000 węzłów. (Obecnie nie na poziomie około 200.)
(także prawdziwe ograniczenie rekursji każdej platformie jest inna, a ja naprawdę chciałbym uniknąć otwierając tę puszkę Pandory.)
Czy istnieje jakiś sposób, aby rozwiązać ten problem w podstawowy poziom? Gdyby tylko moduł piklowania wybrałby pętlę zamiast rekursji, nie miałbym tego problemu. Może ktoś ma pomysł, w jaki sposób mogę spowodować, że coś takiego się stanie, bez przepisywania modułu pikle?
Każdy inny pomysł na rozwiązanie tego problemu zostanie doceniony.
Co to jest drzewo? Dlaczego trzeba go wytrawiać po tysiącach węzłów?(po prostu staram się myśleć nieszablonowo, ale potrzebuję więcej informacji ...) – bwawok
Drzewo to drzewo czasowe symulacji. Trochę podobne do drzewa zatwierdzenia systemu kontroli źródła. –
Nie możesz iteratywnie serializować go za pomocą BFS? –