我需要对稀疏矩阵进行一些数学运算。我注意到使用数组可能不是最有效的利用内存的方法,特别是因为矩阵可能有200多行。我也考虑过使用链表,但我不确定它是否会更好。这种情况是否有任何合适的数据结构[方法]。
答案 0 :(得分:11)
多少“超过200行”?稀疏怎么样?一个1000x1000的双打矩阵仍然小于8MB,除非你需要同时使用它们,否则我不会担心。
理想的数据结构主要取决于您需要执行的操作类型。
请注意,所有常用语言都有现成的sparse matrix libraries - 使用其中一种语言比使用自己的语言要好得多。
答案 1 :(得分:1)
以下是一些包含稀疏矩阵的开源Java数学库。您可以研究使用的数据结构(如果使用Java编程,甚至只使用其中一个)。
答案 2 :(得分:0)
为java提供了一个新的矩阵库,看起来它可能具有良好的稀疏矩阵支持:UJMP: The Universal Java Matrix Package