Rieccomi qua,

come scritto nell'ultimo post ho adottato una libreria esterna che consente di memorizzare il grafo su disco. Ovviamente la lentezza dell'accesso al disco si fa sentire...per ora non sono riuscito a trovare altre vie d'uscita...se qualcuno ha qualche idea il problema rimane il seguente:

ho un enorme grafo (milioni di archi e vertici) di cui posso conoscere a priori il numero sia di vertici che di archi prima della effettiva costruzione. Di questo grafo ogni vertice è identificato da un numero (sono passato dalla coppia agli interi singoli tramite una piccola funzioncina di mapping) mentre degli archi non ho bisogno di conservare nessuna informazione, mi basta sapere che esiste l'arco tra due vertici. Gli archi sono direzionati e ci sono degli autocicli.

Ho provato ad utilizzare un array di BitSet (di java util) ma il problema è sempre lo stesso: al crescere del numero di archi e vertici il consumo di memoria diventa enorme (>1,5GB !)...

Se qualcuno ha qualche idea per la rappresentazione del grafo sono tutt'orecchi!