Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

HW4bis es1 RecursionError: maximum recursion depth exceeded

C
CirilloA (640 points)
6 8 14
in HW4bis by (640 points)
Sul mio computer passa 6 test e quelli che non passa da questo errore RecursionError: maximum recursion depth exceeded, sulla VM non passa nessun test.

Sapete come posso risolvere questo errore?
316 views

1 Answer

Auron (15880 points)
51 126 194
by (15.9k points)
Devi stare attento all'argomento che passi nella chiamata di funzione ricorsiva e in particolar modo alla profondità di ricorsione che questo genera.
Il problema dovrebbe risiedere in una ricorsione "esagerata", passami il termine, all'interno dell'albero... Questo probabilmente ti consente di far in modo che sui test più piccoli non nasca il problema, ma in quelli più grandi con molti nodi e livelli, questo viene alla luce.
Il consiglio che posso darti è di aprire il PDF dell'albero che ci ha fornito il prof a titolo di esempio, e visualizzare i passaggi che si devono fare per esplorarlo tutto, in modo da trovare il più efficiente.
Mi sembra che il limite di ricorsione standard in python sia fissato a 500 (forse sbaglio). E' un limite che può essere esteso, ma questo non credo sia utile ai fini dell'homework.
Cerca un argomento da passare alla funzione ricorsiva che ti permetta di esplorare tutto l'albero ricorrendo il minor numero di volte, o cerca dei modi per "saltare" delle ricorsioni che sai già non hanno motivo di essere effettuate.
C
CirilloA (640 points)
6 8 14
by (640 points)
Ora vedo come fare, comunque a me passa 6 test e sulla VM nessuno e aumentando lo stack delle chiamate li passa tutti.