Tralasciando che le informazioni fornite sono poche , ma nell'esercizio 1 la parte più onerosa non è la ricorsione , bensì il modo in cui tu immagazzina i file , ad esempio dovresti evitare di ripassare liste o , nel tuo caso insiemi , in troppi cicli , questo perchè quando le informazioni sono tante , il ciclare n volte o 3n ,4n ecc volte è sicuramente MOLTO deleterio.
Quindi ricontrolla quante volte utilizzi i cicli per accedere alle informazioni del file , ( lo dovresti fare 1 massimo 3 volte )