2009-06-12 25 views
8

Ho bisogno di fare alcune operazioni matematiche su matrici sparse. Ho notato che l'utilizzo degli array potrebbe non essere il modo più efficiente per utilizzare la memoria, soprattutto perché le matrici possono contenere oltre 200 righe. Ho anche pensato di usare una lista collegata, ma non sono sicuro che sarebbe meglio. Esiste una struttura di dati adeguata [approccio] a questa situazione.Struttura dati per l'archiviazione di matrici sparse

risposta

11

Quante "oltre 200 righe"? Quanto scarso? Una matrice di duplicati 1000x1000 è ancora inferiore a 8 MB, il che non è qualcosa di cui mi preoccuperei a meno che non sia necessario lavorare con molti di essi contemporaneamente.

La struttura dati ideale dipende principalmente dal tipo di operazioni che è necessario eseguire.

Nota che ci sono sparse matrix libraries pronti per l'uso in tutte le lingue comuni là fuori - è molto meglio usare uno di quelli oltre al proprio.

+0

Grazie, questo è stato molto utile . – micaleel

1

Ecco alcune librerie matematiche Java open source che includono matrici sparse. Potresti studiare le strutture dati usate (o anche solo usarne una se si programma in Java).

Problemi correlati