例:设有二维数组A090.19],其每个元素占两 个字节,第一个元素的存储地址为100,若按行 2优先顺序存储,则元素A66的存储地址为 按列优先顺序存储,元素A[6,6]的存储地址 为 。232 解:按行优先存储: Loc(a66)=Loc(aoo)+(n+i*K 100+(6*20+6)*2 352 按列优先存储: 2 Loc(a66)=Loc(a00)+( *m+i)*K 100+(610+6)“2 11 =232
11 例:设有二维数组A[0..9,0..19],其每个元素占两 个字节,第一个元素的存储地址为100,若按行 优先顺序存储,则元素A[6,6]的存储地址为 , 按列优先顺序存储,元素A[6,6]的存储地址 为 。 352 232 解:按行优先存储: Loc(a66)=Loc(a00)+(i*n+j)*K =100+(6*20+6)*2 =352 按列优先存储: Loc(a66)=Loc(a00)+(j*m+i)*K =100+(6*10+6)*2 =232
采用顺序存储,不需要移动数据元素,我们 可以做的操作有: 求长度 遍历数组 取数组元素修改数组元素 不能做的操作有 △°插入数组元素删除数组元素 12
12 采用顺序存储,不需要移动数据元素,我们 可以做的操作有: 求长度 遍历数组 插入数组元素 删除数组元素 不能做的操作有: 取数组元素 修改数组元素
特殊矩阵的压缩存储: 为什么要研究压缩存储(目标)?它研究的对象 及主要形式是什么?如何进行压缩存储? 159 按行优先存储 A=523 15952393 931 有许多重复元素 100 按行优先存储 B=500 100500 00 001 有许多零元素 13
13 = 9 3 1 5 2 3 1 5 9 A 1 5 9 5 2 3 9 3 1 按行优先存储 = 0 0 1 5 0 0 1 0 0 B 1 0 0 5 0 0 0 0 1 按行优先存储 有许多重复元素 有许多零元素 特殊矩阵的压缩存储: 为什么要研究压缩存储(目标)?它研究的对象 及主要形式是什么?如何进行压缩存储?
研究对象:矩阵阶数高、许多元素相同 2大量零元素的二维矩阵。 目标:节省存储空间 压缩存储:为多个值相同的元只分配一个 存储空间;对元素不分配空间。 特殊矩阵主要形式(分类研究): 14
14 • 研究对象:矩阵阶数高、许多元素相同、 大量零元素的二维矩阵。 • 目标:节省存储空间 • 压缩存储:为多个值相同的元只分配一个 存储空间;对零元素不分配空间。 • 特殊矩阵主要形式(分类研究):
(1)特殊矩阵 指非零元素或零元素的分布有一定规律的 矩阵。 (2)特殊矩阵的主要形式 a对称矩阵;b对角矩阵等(注:特殊矩阵均 为方阵即行数-列数的矩阵) (3)特殊矩阵的压缩存储 利用特殊矩阵自身元素的分布规律,使多个 相同的非零元素共享同一个存储单元对零元 素不分配存储空间从而达到节省存储空间之 目的。 15
15 (1)特殊矩阵 指非零元素或零元素的分布有一定规律的 矩阵。 (2)特殊矩阵的主要形式 a.对称矩阵;b.对角矩阵等(注:特殊矩阵均 为方阵,即行数=列数的矩阵) (3)特殊矩阵的压缩存储 利用特殊矩阵自身元素的分布规律,使多个 相同的非零元素共享同一个存储单元,对零元 素不分配存储空间,从而达到节省存储空间之 目的