十字链表稀疏矩阵的压缩存储-EEFOCUS.PPT

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十字链表稀疏矩阵的压缩存储-EEFOCUS

第5章 数组 张成文 北京邮电大学计算机科学与技术学院 主要内容 1.数组的定义与基本运算 2.数组的顺序存储方式 3.特殊矩阵及其压缩存储 4.稀疏矩阵 5.小结 教学要求 1.掌握:数组的定义及在计算机中的存储表示。 2.掌握:特殊矩阵在计算机中的压缩存储表示及地址计算公式。 3.掌握:稀疏矩阵的三元组表示及转置算法实现。 1.数组的定义与基本运算 数组是一种数据类型。从逻辑结构上看,数组可以看成是一般线性表的扩充。 数组是由一组类型相同的数据元素构成,每个数据元素称为一个数组元素(简称元素),每个数据元素对应n个下标,受n个关系的制约,其中任一个关系都是线性关系。可看作是数据元素为n-1维数组的一维数组。 数组的性质 数组中的数据元素数目固定。 数组中的每个数据元素具有相同的数据类型。 数组中的每个数据元素都和一组唯一的下标值相对应。 数组是一种随机存储结构,可随机存取数组中的任意数据元素。 数组 一维数组 二维数组 多维数组 一维数组(向量)——常用数据类型 一维数组可以看成是一个线性表或一个向量,它在计算机内是存放在一块连续的存储单元中,适合于随机查找。 ? 同一数组的不同元素通过不同的下标标识,(a1,a2,…,an) 二维数组 二维数组Amn可视为由m个行向量组成的向量,或由n个列向量组成的向量。可以看成是向量的推广。 二维数组中的每一个元素最多可有两个直接前驱和两个直接后继(边界除外),故是一种典型的非线性结构。 二维数组图示 二维数组中的每个元素aij既属于第i行的行向量,又属于第j列的列向量。 多维数组 三维数组Amnp可视为以二维数组为数据元素的向量。四维数组可视为以三维数组为数据元素的向量…… 三维数组最多可有三个直接前驱和三个直接后继,三维以上数组可以作类似分析。因此,可以把三维以上的数组称为多维数组,多维数组可有多个直接前驱和多个直接后继,故多维数组是一种非线性结构。 ??? 2、数组的顺序存储方式 (1)行优先顺序(最左下标相同排列在一起); (2)列优先顺序(最右下标相同排列在一起)。 (1)行优先顺序 行优先顺序也称为低下标优先或左边下标优先于右边下标。具体实现时,按行号从小到大的顺序,先将第一行中元素全部存放好,再存放第二行元素,第三行元素,依次类推……数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。   【例】二维数组Amn的按行优先存储的线性序列为: ??? a11,a12,…,a1n, a21,a22,…,a2n, ……, am1,am2,…,amn 即二维数组按行优先存放到内存后,变成了一个线性序列(线性表)。 (2)列优先顺序 将数组元素按列向量排列,第i+1个列向量紧接在第i个列向量后面。 【例】二维数组Amn的按列优先存储的线性序列为: ??? a11,a21,…,am1,a12,a22,…,am2, ……,a1n,a2n,…,amn 数组的存储分配方法 数组也允许有两种存储分配方法:静态和动态。 静态数组:运行期间数组大小不能改变,需预先给出。 动态数组:可以动态建立和动态撤消的数组。 3.特殊矩阵及其压缩存储 1)、矩阵的非压缩存储:矩阵用二维数组描述时,存储的密度为1。可以对其元素进行随机存取,各种矩阵运算也非常简单。 2)、矩阵的压缩存储:矩阵中非零元素呈某种规律分布或者矩阵中出现大量的零元素的情况下,为了节省存储空间,我们可以对这类矩阵进行压缩存储:即为多个相同的非零元素只分配一个存储空间;对零元素不分配空间。 特殊矩阵   所谓特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵。常见的有: 3.1 对称矩阵 3.2 三角矩阵 3.3 对角矩阵 3.1 对称矩阵 (1)对称矩阵的定义 ???  在一个n阶方阵A中,若元素满足下述性质:? ?????? aij=aji 0≤i,j≤n-1 则称A为对称矩阵。 示例 【例】下图便是一个5阶对称矩阵i=3 j=4 (2)对称矩阵的压缩存储 ??? 对称矩阵中的元素关于主对角线对称,故只要存储矩阵中上三角或下三角中的元素,让每两个对称的元素共享一个存储空间。这样,能节约近一半的存储空间。 对称矩阵的压缩存储 元素aij的存放位置 3.2 三角矩阵 (1)三角矩阵的划分 ???  以主对角线划分,三角矩阵有上三

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档