可以把矩阵A看成一个把每一行当成一个结点 的线性表B,则表B的结点个数(表B的长度) 为m;也可以把矩阵A看成一个把每一列当成 个结点的线性表C,则表C的结点个数(表C的 长度)为n。 2、矩阵的存储表示 在程序设计中,一个矩阵通常用一个二维数组 来表示,顺序存储在一个地址连续的存储区内, 具体实现分为: 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 2、矩阵的存储表示 在程序设计中,一个矩阵通常用一个二维数组 来表示,顺序存储在一个地址连续的存储区内, 具体实现分为: 可以把矩阵A看成一个把每一行当成一个结点 的线性表B,则表B的结点个数(表B的长度) 为m;也可以把矩阵A看成一个把每一列当成一 个结点的线性表C,则表C的结点个数(表C的 长度)为n
(1)按行序优先顺序存储 按行序优先顺序存储是从第一个元素a1开始,先存储 第一行;再存储第二行,以此类推,直到每一行存储 完。在存储各行时,又按第一列、第二列……的次序。 例矩阵A按行序优先顺序存储的结构图为图61( 所示。 (2)按列序优先顺序存储 按列序优先顺序存储是从第一个元素a1开始先存储第 列;再存储第二列,以此类推,直到每一列存储完。 在存储各列时,又按第一行、第二行.次序。 例矩阵A按列序优先顺序存储的结构图为图6-1(b)所示。 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 按列序优先顺序存储是从第一个元素a11开始,先存储第 一列;再存储第二列,以此类推,直到每一列存储完。 在存储各列时,又按第一行、第二行……的次序。 例矩阵A按列序优先顺序存储的结构图为图6-1(b)所示。 按行序优先顺序存储是从第一个元素a11开始,先存储 第一行;再存储第二行,以此类推,直到每一行存储 完。在存储各行时,又按第一列、第二列…… 的次序。 例矩阵A按行序优先顺序存储的结构图为图6-1 (a) 所示。 (1)按行序优先顺序存储 (2)按列序优先顺序存储
all a a12 21 a a a a 22 22 azn (a)按行序优先存储表 (b)按列序优先存储表 图4-1矩阵的存储结构表示图 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 amn …. am2 ... a22 a12 amn …. a2n ... a22 a21 (a)按行序优先存储表 (b)按列序优先存储表 图4-1矩阵的存储结构表示图 a1n ... a12 a11 am1 ... a21 a11
(3)矩阵中元素的寻址公式国心 设矩阵A的第一个元素a1的首地址为 (1,1,每一个元素占用的存储单元数为 则矩阵A的第珩行,第列的元素a1的首地址为: 若矩阵A按行序优先顺序存储,则 loc(Lj)=loc(1,1)+((I-1)×n+j)×s 若矩阵A按列序优先顺序存储,则 loc(Li)=loc(1,1)+((j-1)×m+i)×s 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 loc(I,j)=loc(1,1)+〔(I-1)×n+j〕×s 若矩阵A按列序优先顺序存储,则 loc(I,j)=loc(1,1)+〔(j-1)×m+i〕×s 若矩阵A按行序优先顺序存储,则 (3) 矩阵中元素的寻址公式 设矩阵A的第一个元素a11的首地址为 loc(1,1),每一个元素占用的存储单元数为s, 则矩阵A的第I行,第j列的元素aij的首地址为:
46矩阵的压缩存储 特殊矩阵的压缩存储 1.压缩存储的概念 对数组中的零元素不分配存储单元,只对 非零元素分配存储单元进行存储的存储方 法称为压缩存储。 其目的是节省存储空间。 2.特殊矩阵 (1)定义 在矩阵中存在大量的零元素,且这些零元 素的分布是有规律的一类矩阵。 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 4.6 矩阵的压缩存储 一、特殊矩阵的压缩存储 1. 压缩存储的概念 对数组中的零元素不分配存储单元,只对 非零元素分配存储单元进行存储的存储方 法称为压缩存储。 其目的是节省存储空间。 2. 特殊矩阵 (1)定义 在矩阵中存在大量的零元素,且这些零元 素的分布是有规律的一类矩阵