稀疏矩阵

矩阵是由 m 行和 n 列组成的二维数据对象, 因此总共有 m x n 个值. 如果矩阵的大多数元素都有 0 值, 则称为稀疏矩阵 sparse matrix.

我们可以只存储稀疏矩阵中的非 0 元素, 这样做的好处有:

  • 存储空间: 非零元素的数量少于零元素的数量, 因此可以使用较少的内存来存储这些元素
  • 计算时间: 通过逻辑设计仅遍历非零元素的数据结构可以节省计算时间

用二维数组表示稀疏矩阵会导致大量内存浪费, 因为矩阵中的零在大多数情况下都是无用的. 因此我们只存储非零元素, 而不是将零与非零元素一起存储. 这意味着用三元组 (行, 列, 值) 存储非零元素.

稀疏矩阵表示可以通过多种方式完成, 以下是两种常见的表示形式:

  • 数组表示
  • 链表表示

接下来的章节将分别对这两类表示形式展示详细的说明.