多维数组

二维数组 \(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} \]

稀疏矩阵

三元组表

三元组是稀疏矩阵的一种顺序存储结构。

posted @ 2019-10-25 18:25  snail灬  阅读(118)  评论(0编辑  收藏  举报