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

Do you need help?

Notice Board

arrivano i timeout

M
Matt_Ruggiero (2380 points)
16 39 45
in Es1 by (2.4k points)
vorrei capire come è possibile che la funzione dizionario_livelli e grado_antenati del primo esercizo hanno dei tempi molto bassi (rispettivamente 45 e 95 millesecondi circa) sul dizionario da 20000 nodi mentre su quello da 50000 vanno pesantemente in timeout(ho aspettato 20 secondi buoni senza risultato). logicamente mi aspetterei un tempo doppio o al massimo triplo. qualcuno mi illumina?
307 views
closed

1 Answer

Best answer
gianpcr (4620 points)
5 16 34
by (4.6k points)
selected by
Ciao, non è la funzione ricorsiva il problema. Controlla bene il modo con cui trovi la radice dell'albero. Se fai un ciclo sull'intero dizionario è normale che ci mette molto di più.
M
Matt_Ruggiero (2380 points)
16 39 45
by (2.4k points)
e come la trovo la radice senza iterare T_T help pls
gianpcr (4620 points)
5 16 34
by (4.6k points)
Devi sempre usare dei cicli, però potresti prima prepararti un insieme e poi usare quello per fare i controlli. I tempi dovrebbero migliorare di molto.
M
Matt_Ruggiero (2380 points)
16 39 45
by (2.4k points)
scusami ma non ti seguo... che tipo di insieme dovrei fare?
gianpcr (4620 points)
5 16 34
by (4.6k points)
metti in un insieme tutti i figli di tutti i nodi nel dizionario che prendi dal file. Poi dopo ti basta vedere quale chiave del dizionario non è nell'insieme. La chiave che trovi è la radice.