ti confesso che fino a 2 minuti fa nn avevo la più pallida idea di cosa fosse la classe MAP di java...
ma ... googlizzando un po' , oltre ad essermi imbattuto nella mappa dell'isola di java (
) ho letto qualcosina di utile... quindi .. ora te la butto li:
Considerando una matrice quadrata A di dimensioni m*m (m righe e m colonne)
creo la mia matrice "sparsa" come una Map , e inserisco il generico elemento non nullo A(i,j) in questo modo: (tanto per fare n esempio)
codice:
int value = A[i][j];
int hash = i*m+j; // così è facile ottenere una key univoca a partire
// da coordinate (i,j), e viceversa.
Map sparsa = new HashMap();
sparsa.put(hash, value);
e dici che così risolviamo il problema di occupare troppe celle contigue??
io stavo pensando invece ad esaurirmi con le LinkedList su una struttura fatta ad hoc <chiave , valore> ... ma mi sembra che la tua soluzione sia molto più elegante!!
per la fattorizzazione... confido in un guru!... altrimenti .. vedo un po' di arrangiarmi...
...inutile ribadire che ti sono grato per tutto