Non riesco a velocizzare l'esercizio 1 HW4.. senza entrare nel dettaglio quello che faccio è:
Leggere una sola volta la lista prelevata dal Json e ad ogni ciclo:
- aggiungo i figli al set dei figli e i padri in quello omonimo.. al termine di tutti i cicli, determino le radici per sottrazione;
- Aggiungo ad un dizionario la coppia {nome elemento: oggetto elemento} (facendo attenzione a non sovrascrivere le chiavi).. giocando con le chiavi del dizionario creo le relazioni tra gli oggetti che, al termine di tutti i cicli, producono la foresta.
- Infine iternado (in un ciclo for differente) sugli oggetti radici richiamo un metodo ricorsivo che mi legge gli alberi e mi restituisce l'output richiesto.
La parte lenta mi sembra sia la generazione della foresta ... potete suggerirmi qualcosa da migliorare?
EDIT:
Alla fine FORSE ho trovato la soluzione da solo... gestire l'esercizio utilizzando le relazioni tra oggetti di Classi è dispendioso... conviene usare un solo Dizionario e lavorare su quello. TEMPI DIMEZZATI!