特殊矩阵及其存储压缩

同屏对比单位阵、对角阵、对称阵、三角阵与稀疏矩阵,解密一维映射与 CSR 压缩寻址

📖 特殊矩阵的内存存储策略

在算法竞赛与工程应用中,对特定结构矩阵进行存储压缩能够将空间复杂度由 $O(N^2)$ 降低至 $O(N)$ 甚至与非零元个数相关,从而极大节省内存并提升缓存命中率。

📐 对称矩阵 (Symmetric Matrix) 一维压缩公式

对称矩阵满足 $A[i][j] = A[j][i]$,只需存储下三角(即满足 $i \ge j$ 的元素)。对于 $N \times N$ 的对称矩阵,压缩存储在 1D 数组中,按行优先映射,$(i, j)$ 位置(设 $i \ge j$)对应的 1D 数组索引为:

$\text{Index}(i, j) = \frac{i(i+1)}{2} + j$

若 $i < j$,由于对称性,直接访问 $\text{Index}(j, i)$。总存储空间由 $N^2$ 压缩至 $\frac{N(N+1)}{2}$。

鼠标悬停或点击 2D 矩阵单元格,看它是如何映射至右侧/下方的一维存储数组中的。
📐 2D 矩阵与 1D 内存映射探针
映射寻址监视器
选择单元格查看映射关系
Code Template
📋 存储结构解析