《数据结构》课件---第5章 数组和广义表07.ppt

《数据结构》课件---第5章 数组和广义表07.ppt

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

* 孙克雷制作 第5章 数组和广义表 学习要点 掌握数组在以行序为主的存储中的地址计算方法。 掌握特殊矩阵和稀疏矩阵的存储方法。 掌握广义表的结构特点及其存储表示方法。 5.1 数组的基本概念 a00 a01 … a0,n-1 a10 a11 … a1,n-1 … … … … am-1,0 am-1,1 … am-1,n-1 Am×n= 数组是我们最熟悉的数据类型,在早期的高级语言中,数组是唯一可供使用的数据类型。由于数组中各元素具有统一的类型,并且数组元素的下标一般具有固定的上界和下界,因此,数组的处理比其它复杂的结构更为简单。多维数组是向量的推广。例如,二维数组可看成由若干个行向量组成的向量,也可以看成是若干个列向量组成的向量。 5.1 数组的定义和特性 二维数组可看成一个线性表A=(a0,a1,……,ap) (p=m-1或n-1),其中aj是一个列向量形式的线性表: aj=(a0j,a1j,……,am-1,j), 0≤j≤n-1 或ai是一个行向量形式的线性表: ai=(ai0,ai1,……,ai,n-1), 0≤i≤m-1 a00 a01 … a0,n-1 a10 a11 … a1,n-1 … … … … am-1,0 am-1,1 … am-1,n-1 a00 a01 … a0,n-1 a10 a11 … a1,n-1 … … … … am-1,0 am-1,1 … am-1,n-1 a0 a1 … ap a0 a1 … ap 5.2 数组的顺序表示与实现 由于计算机的内存结构是一维的,用一维内存来表示多维数组,就必须按某种次序将数组元素排成一列序列,然后将这个线性序列存放在存储器中。通常有两种顺序存储方式: 1. 行优先顺序——将数组元素按行排列,第i+1个行向量紧接在第i个行向量后面。以二维数组为例,其存储线性序列为: a00,a01,…,a0,n-1,a10,a11,…,a1,n-1,……,am-1,0, …,am-1,n-1 2. 列优先顺序——将数组元素按列向量排列,第j+1个列向量紧接在第j个列向量之后,二维数组按列优先顺序存储的线性序列为: a00,a10,…,am-1,0,a01,a11,…am-1,1,……,am-1,1, …,an-1,m-1 a00 a01 … a0,n-1 a10 a11 … a1,n-1 … … … … am-1,0 am-1,1 … am-1,n-1 am-1,n-1 …… am-1,1 am-1,0 …… a1,n-1 …… a11 a10 a0,n-1 …… a01 a00 am-1,n-1 …… a1,n-1 a0,n-1 …… am-1,1 …… a11 a01 am-1,0 …… a10 a00 a00 a01 … a0,n-1 a10 a11 … a1,n-1 … … … … am-1,0 am-1,1 … am-1,n-1 行 优 先 顺 序 列 优 先 顺 序 数组的顺序表示与实现 按上述两种方式顺序存储的数组,只要知道开始结点的地址,维数和每维的上、下界,以及每个数组元素所占用的单元数,就可以将数组元素存放地址表示为其下标的线性函数。 例如,二维数组Amn按“行优先顺序”存储在内存中,假设每个元素占用L个存储单元。 元素aij的存储地址应是数组的基地址加上排在aij前面的元素所占用的单元数。因为aij位于第i+1行、第j+1列

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档