数据结构Java语言版王学军第五章课件教学.pptVIP

数据结构Java语言版王学军第五章课件教学.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构Java语言版王学军第五章课件教学.ppt

数据结构(Java语言版) 人民邮电出版社 【知识要点】 数组的基本概念; 一维数组和二维数组; 特殊矩阵及其压缩存储结构; 稀疏矩阵及其压缩存储结构; 广义表的概念; 广义表的存储结构。 5.1 实例引入 【学习任务】通过实例引入,了解数组的特点以及结构构成 【例5.1】某单位运动会座位安排示意图 5.2 数组 【学习任务】准确把握数组的概念及相关概念,熟练掌握一维数组中数据元素地址的计算方法,理解二维数组中数据元素地址的计算方法,了解相关应用。 5.2.1数组的基本概念 1.数组的定义 数组(Array)是一组具有相同数据类型的数据集合。数组中的每个数据称为数据元素。数据元素按次序存储于一段地址连续的内存空间中。即数组是数据元素的线性组合,类似于顺序存储结构的线性表。 2.数组的相关概念 (1)下标 数据元素在数组中的位置编号称为数组的下标,在Java语言中,数组的下标是从0开始的,第1个数据元素的下标为0,第2个数据元素的下标为1,……。可以通过下标找到存放该元素的存储地址,访问该数据元素的值。数组中的每一个元素和下标惟一对应。 5.2.1数组的基本概念 在Java中,数据元素可以是简单数据类型,也可以是引用类型。在Java中,声明数组变量时不需要指定数组的长度,只有使用new运算符为数组分配空间后,数组才真正占用一段连续地址的存储单元。而当数组使用完之后,Java的垃圾回收机制将自动销毁不再使用的对象,收回对象所占的资源。 (2)维数 数组下标的个数就是数组的维数,有一个下标就是一维数组;有两个下标就是二维数组;有三个以上的下标,就统称为多维数组。 第三阶段 5.2.1数组的基本概念 在Java中java.util.Arrays类中,包含用来操作数组(比如排序和搜索)的各种方法。java.util.Vector可以实现变长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据实际需要增大或缩小数组的长度,以适应创建Vector后进行添加或删除等操作。 5.2.2 一维数组 数组是n(n≥1)个相同类型数据元素a0,a1,…,ai,…,an-1组成的有限序列,存储在一个连续的内存单元中。在一维数组中的每个数据元素都对应于一个下标i,每个下标的取值范围是0≤in。其中,n表示数组的长度。 在一维数组中,当系统为一个数组分配连续的内存单元时,该数组的存储地址即数组的首地址LOC(a0)就确定了。并假设每个数据元素占用了L个存储单元,则任意一个数据元素的存储地址LOC(ai)就可由如下公式计算得出: LOC(ai) = LOC (a0) +i×L (0≤i≤n-1) 5.2.2 一维数组 该式说明,一维数组中的数据元素的存储地址可以直接计算得到,即一维数组中的任意一个数据元素可直接存取(即随机存储结构)。可以通过如下形式访问数组中任意指定的数据元素: 数组名[下标] 5.2.3 二维数组 二维数组是线性表的推广。二维数组可以看作“其数据元素为一维数组”的线性表。以此类推,多维数组可以看作一个线性表,这个线性表中的每一个数据元素也是一个线性表。 1.二维数组的概念 对于一个m行n列的二维数组,有 5.2.3 二维数组 将简记为A,A是这样的一维数组: A=(a0,a1,…, ap) (p=m-1或p=n-1) 其中每个数据元素ai是一个行向量形式的线性表,即 ai=(ai0,ai1,…,ai,n-1)(0≤i≤m-1) 或者每个数据元素aj是一个列向量形式的线性表,即 aj=(a0j,a1j,…,am-1,j) (0≤j≤n-1) 5.2.3 二维数组 2.二维数组的存储结构 对于二维数组,如何使用线性存储结构存放二维数组的数据元素呢? 对于二维数组,使用一段连续的存储单元存放数据元素的方式有两种: 一种是以行为主序的顺序存储,即首先存储第1行的数据元素,然后存储第2行的数据元素,……最后存储第m行的数据元素。此时,二维数组的线性排列次序为: a00,a01,…,a0,n-1 ,a10,a11,…,a1,n-1,…,am-1,0,am-1,1,…,am-1,n-1 其存储形式如图5.3 (a)所示。 5.2.3 二维数组 另一种是以列为主序的顺序存储。二维数组的线性排列次序为: a00,a10,…,a m-1,0 ,a01,a11,…,am-1,1,…,a0,n-1,a1,n-1,…,am-1,n-1 其存储形式如图5.3 (b)所示。 5.2.3 二维数组 5.2.3 二维数组 数据元素的存储位置是由其下标决定的。二维数组的第1个数据元素的a00存储地址LOC(a00),每个数据元素占L个存储单元,则按行为主序存储数组时,该二维数组中任意

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档