多维数组
二维数组 \(A_{m\times n}\) 按行优先存储内存中,没个元素占d个存储单元,求数组元素 \(a_{ij}\) 的地址。
公式:
LOC($a_{ij}$)=LOC($a_{00}$)+(i$\times$n+j)$\times$ d;
矩阵压缩存储
对称矩阵(\(a_{ij}\)=\(a_{ji}\))(0\(\leq\) i,j\(\leq\)n-1)
以一维数组sa[n(n+1)/2]作为n阶对称矩阵A的存储结构,每个数组元素占用d个存储单元。
公式:
LOC(\(a_{ij}\))=LOC(sa[k])=LOC(sa[0])+k\(\times\)d 其中
\[K= \begin{cases} i\times(i+1)/2+j& \text{i $\geq$ j}\\ j\times(j+1)/2+j& \text{i < j} \end{cases}$$ , 0$\leq$ k$\leq$ n(n+1)/2-1
#### 三角矩阵
#####上三角矩阵
$$K= \begin{cases} i\times(2n-i+1)/2+j-i& \text{当 i $\leq$ j}\\ n\times(n+1)/2+j& \text{当 i > j} \end{cases}\]
下三角矩阵
\[K= \begin{cases} i\times(i+1)/2+j& \text{当 i $\geq$ j}\\ n\times(n+1)/2& \text{当 i < j} \end{cases}
\]
稀疏矩阵
三元组表
三元组是稀疏矩阵的一种顺序存储结构。