若采用以列序为主序的存储方式,即先存储第1列,然 后紧接着存储第2列,∴,最后存储第n列。此时,二维数组 的线性排列次序为: 1,192,1 m11,22,2,m291,n:2,n LOC(a)=LoC(an,1)+(0-1)xm+(1)×k
若采用以列序为主序的存储方式,即先存储第1列,然 后紧接着存储第2列,…,最后存储第n列。此时,二维数组 的线性排列次序为: a1,1,a2,1,…,am,1,a1,2,a2,2,…,am,2,…,a1,n ,a2,n ,…am,n LOC(ai,j )=LOC(a1,1)+[(j-1)×m+(i-1)]×k
5.1.3特殊矩阵的压缩存储 二维数组也称为矩阵,一个n行n列的矩阵,当m=n时 称为方阵,方阵的元素可以分为三部分,即上三角部分 主对角部分和下三角部分 a0,1 a0,2 C0.n-1 上三角部分 aij:1 2.0 2.1 C2.n-1 下三角部分 主对角线
5.1.3 特殊矩阵的压缩存储 二维数组也称为矩阵,一个m行n列的矩阵,当m=n时, 称为方阵,方阵的元素可以分为三部分,即上三角部分, 主对角部分和下三角部分: − − − − − − − − 1,0 1,1 1,2 1, 1 2,0 2,1 2,2 2, 1 1,0 1,1 1,2 1, 1 0,0 0,1 0,2 0, 1 ... ... ... ... ... ... ... ... ... n n n n n n n n a a a a a a a a a a a a a a a a 主对角线 ai,j:i=j 上三角部分 ai,j:i<j 下三角部分 ai,j:i>j
1.对称矩阵的压缩存储 若一个阶方阵ln,m|中的元素满足=2(0≤,压n1),则 称其为m阶对称矩阵。 可以将其压缩存放到一个一维数组b0.n(m+1)2-1中,只存放 主对角和下三角部分的元素,a和b之间的映射关系: t(t+1) + 当i≥j k- (+1) 当i<
1. 对称矩阵的压缩存储 若一个n阶方阵a[n,n]中的元素满足ai,j=aj,i(0≤i,j≤n-1),则 称其为n阶对称矩阵。 可以将其压缩存放到一个一维数组b[0..n(n+1)/2-1]中,只存放 主对角和下三角部分的元素,ai,j和bk之间的映射关系:
上三角矩阵: (2n-1+1) +J- 2 n(n+1 下三角矩阵 i(+1) n(n+1) 2 其中,数组b的元素bx+y2中存放着常数c
2.对角矩阵的压缩存储 半带宪为对角矩阵: 条 条 对于l1的三对角矩阵,只存储其非零元素,并存储到 一维数组中,即以行序为主序将的非零元素a;存储到b 的元素b中,归纳起来有k=2计
2. 对角矩阵的压缩存储 半带宽为l的对角矩阵 : ... l条 l条 0 0 ... 对于l=1的三对角矩阵,只存储其非零元素,并存储到 一维数组b中,即以行序为主序将a的非零元素ai,j存储到b 的元素bk中,归纳起来有k=2i+j