我希望在数据结构中用Python表示稀疏矩阵,这种数据结构不会浪费空间,但同时保留了持续的访问时间。这样做有什么简单/琐碎的方法吗?我知道像scipy这样的库有它。
答案 0 :(得分:1)
scipy.sparse
库根据目的使用不同的格式。全部实现2d矩阵
键字典 - 数据结构是一个字典,坐标的元组作为键。这是最容易设置和使用的。
列表列表 - 有2个列表列表。一个列表具有列坐标,其他列数据。每行矩阵一个子列表。
咕咕 - 经典设计。 3个数组,行坐标,列坐标和数据值
压缩行(或列) - coo
的更复杂版本,针对数学运算进行了优化;基于线性代数数学几十年了
对角线 - 适用于矩阵,大多数值都在几个对角线上
答案 1 :(得分:0)
有很多方法可以做到。例如,您可以保留一个列表,其中每个列表元素是您的一个数据对象,或者是一个表示N个空白项的整数。
答案 2 :(得分:0)
带有元组的Dict可能有效。