列优先存放 设数组开始存放位置LOC(0,0)=a,每个 元素占用l个存储单元 loC (,k)=a+(k*n+j)*l
列优先存放: 设数组开始存放位置 LOC(0, 0) = a, 每个 元素占用 l 个存储单元 LOC ( j, k ) = a + ( k * n + j ) * l 11
三维数组 各维元素个数为m1,m2,m3 下标为ii2i的数组元素的存储地址: (按页/行/列存放) LOC (i1 i2, i3)=a+ (i1*m2*m3+i2m3+i3)*l 前页第页第i行 总元素前2行前i列 个数 总元素元素个 个数数 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维教组 各维元素个数为m1,m2m3,…,mn 下标为i,i2,i3,…,n的数组元素的存储地 址 LOC(i,i2,…,in)=a+ 213 3m44 m+ +……+in-1mn+in)*l 2+ m)+in|*1 J= k=j+1
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
特殊矩阵 • 特殊矩阵是指非零元素或零元素的分布有 一定规律的矩阵。 • 特殊矩阵的压缩存储主要是针对阶数很高 的特殊矩阵。为节省存储空间,对可以不 存储的元素,如零元素或对称元素,不再 存储。 ◆ 对称矩阵 ◆ 三对角矩阵 14
对称矩阵的压缩存储 设有一个nXn的对称矩阵A 00 01 02 0n-1 A= 20 21 22 2n-1 n-10 n-11 n-12 n-In 对称矩阵中的元素关于主对角线对称, n 15
对称矩阵的压缩存储 • 设有一个 nn 的对称矩阵 A。 = − − − − − − − − 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 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 ◼ 对称矩阵中的元素关于主对角线对称, aij = aji, 0≤i, j≤n-1 15