Matrice sparsa
Si tratta di matrici grandi ma con un gran numero di elementi nulli.
Si può risparmiare spazio e tempo memorizzando solo i valori diversi da zero, con il numero di riga e di colonna, a scapito di un impegno maggiore nell’implementazione dei metodi
public class Elemento { public int riga, colonna; public double valore; public Elemento(int numRiga, int numColonna, double Valore) { riga =numRiga; colonna=numColonna; valore =Valore; } }
public class MatriceSparsa { private int righe, colonne; // un array come contenitore per gli elementi: private Elemento m[]; // oppure una classe più complessa... : private Vector m; // : ... private X m; public MatriceSparsa(int numRighe, int numColonne) { righe =numRighe; colonne=numColonne; m=new X(); // crea la struttura vuota } public void setElemento(int r, int c, double Valore) { // ... } public double getElemento(int r, int c) { // ... } ... }