我应该使用哪种最佳数据结构来存储包含短变量但大部分元素为空的矩阵? 我可以简单地使用n乘以b的数组来表示矩阵,但问题是我不想浪费内存,因为矩阵中只有很少的元素。 我考虑使用链表或哈希表,但不确定哪种数据结构更好,也不知道如何实现它。
我会实现一个稀疏矩阵。使用一个HashMap,将行索引作为键,然后使用HashMap或TreeMap存储实际元素(列索引作为键)。如果要存储基本类型,建议查看Trove Java集合框架。它经过优化,适用于基本类型。建议仍然使用它,因为所有键都可以是基本类型。