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.
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.
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
Tags und Links computer-science sparse-matrix