列优先存放: 设数组开始存放位置LOC(0,0)=山,每个 元素占用1个存储单元 LOC(i,k)=a+(k*n+j*1 11
列优先存放: 设数组开始存放位置 LOC(0, 0) = a, 每个 元素占用 l 个存储单元 LOC ( j, k ) = a + ( k * n + j ) * l 11
三维数组 .各维元素个数为m,2,n .下标为iv,3的数组元素的存储地址: (按页/行/列存放) L0C(i,2,i3)=a+ (i*m*m+i2*m3+)*l 前页 第i1页第2行 总元素 前i2行前3列 个数 总元素元素个 个数 数 12
三维数组 • 各维元素个数为 m1 , m2 , m3 • 下标为 i1 , i2 , i3的数组元素的存储地址: (按页/行/列存放) LOC ( i1 , i2 , i3 ) = a + ( i1 * m2 * m3 + i2 * m3 + i3 ) * l 前i1页 总元素 个数 第i1页 前i2行 总元素 个数 第 i2行 前 i3列 元素个 数 12
n维数组 各维元素个数为m,m2,m3,,mn 下标为i,i2,,,n的数组元素的存储地 址: LOC (in,i2,...,in)=a+ (i*2*hg*..*n+2*h*m4*..*mn+ +..+n-l*mn+n)*l n- 二 a+ *Ⅱ+ j=1 k=j+1 13
n 维数组 • 各维元素个数为 m1 , m2 , m3 , …, mn • 下标为 i1 , i2 , i3 , …, in 的数组元素的存储地 址: LOC ( i1 , i2 , …, in ) = a + ( i1 *m2 *m3 * … *mn + i2 *m3 *m4 * … *mn+ + ……+ in-1 *mn + in ) * l a (i m ) i *l n j n k j j k n 1 1 1 13
特殊矩阵 ·特殊矩阵是指非零元素或零元素的分布有 一定规律的矩阵。 特殊矩阵的压缩存储主要是针对阶数很高 的特殊矩阵。为节省存储空间,对可以不 存储的元素,如零元素或对称元素,不再 存储。 ◆对称矩阵 ◆三对角矩阵 14
特殊矩阵 • 特殊矩阵是指非零元素或零元素的分布有 一定规律的矩阵。 • 特殊矩阵的压缩存储主要是针对阶数很高 的特殊矩阵。为节省存储空间,对可以不 存储的元素,如零元素或对称元素,不再 存储。 u 对称矩阵 u 三对角矩阵 14
对称矩阵的压缩存储 .设有一个nxn的对称矩阵A。 0o0 aol d02 don-1 010 01 C12 01n-1 A= 00 021 022 02n-1 an-10am-110n-12 an-in- ■对称矩阵中的元素关于主对角线对称, ai=aii,0<i,j<n-1 15
对称矩阵的压缩存储 • 设有一个 nn 的对称矩阵 A。 10 11 12 1 1 20 21 22 2 1 10 11 12 1 1 00 01 02 0 1 A n n n n n n n n a a a a a a a a a a a a a a a a n 对称矩阵中的元素关于主对角线对称, aij = aji, 0≤i, j≤n-1 15