假设我有这些节点对(ID):
我知道唯一节点的数量:6。 如何在不分配500x500矩阵的情况下将它们保存到矩阵中? 可以使用哪种映射?
提前致谢!
答案 0 :(得分:4)
您可能想要的是稀疏矩阵 - 您可以将其想象为一个数组,其中包含对应于x,y的值,用于索引矩阵和存储在那里的值,因此大多数为0的矩阵可以存储在少量的空间。此数据结构的内存开销为O(n),其中n是矩阵中非零项的数量。
实际上,您可以使用除实际数组之外的其他内容来获得性能优势,因为在数组中搜索x,y代价很高,特别是如果它不存在(最常见的情况)。
一种选择是使用快速哈希映射类型结构通过散列x,y位置来存储值以生成密钥...
答案 1 :(得分:1)
这称为稀疏矩阵,您可以使用许多表示。您想要哪一个取决于您需要快速完成的操作。
查看维基百科sparse matrix文章了解详情。