Datenstruktur zum Speichern von Sparse-Matrizen

8

Ich muss einige mathematische Operationen an dünn besetzten Matrizen durchführen. Ich habe festgestellt, dass die Verwendung von Arrays möglicherweise nicht die effizienteste Möglichkeit ist, mein Gedächtnis zu nutzen, insbesondere da die Matrizen über 200 Zeilen haben können. Ich habe darüber nachgedacht, eine verknüpfte Liste zu verwenden, aber ich bin mir nicht sicher, ob das besser ist. Gibt es eine geeignete Datenstruktur [Ansatz] zu dieser Situation.

    
micaleel 12.06.2009, 22:36
quelle

3 Antworten

11

Wie viele "über 200 Reihen"? Wie spärlich? Eine 1000x1000 Matrix von Doppel ist immernoch weniger als 8MB, worüber ich mir keine Sorgen mache, es sei denn, man muss mit vielen gleichzeitig arbeiten.

Die ideale Datenstruktur hängt hauptsächlich davon ab, welche Art von Operationen Sie ausführen müssen.

Beachten Sie, dass sofort einsatzbereit sind Sparse-Matrix-Bibliotheken für alle gängigen Sprachen - es ist viel besser, wenn Sie eine davon verwenden als Ihre eigenen.

    
Michael Borgwardt 12.06.2009, 22:49
quelle
1

Hier sind ein paar Open-Source-Java-Mathematikbibliotheken, die dünn besetzte Matrizen enthalten. Sie können die verwendeten Datenstrukturen untersuchen (oder sogar nur eine davon verwenden, wenn Sie in Java programmieren).

Mark 12.06.2009 22:51
quelle
0

Es gibt eine neue Matrixbibliothek für Java, die aussieht, als hätte sie eine gute Sparse Matrix-Unterstützung: UJMP: Das Universal Java Matrix Package

    
Chad Okere 13.07.2009 16:34
quelle