数据结构(Java)-第5章数组和广义表.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NEXT Neusoft 基本内容 1.数组的定义和运算? 第5章 数组和广义表 2.数组顺序存储结构? 3.矩阵的压缩存储 ? 4.广义表 5.数组项目实践 ? 1、数组(array)的定义 数组是由n个(n≥1)具有相同数据类型的数据元素(a0,a1,…,ai-1,ai,ai+1,…,an-1)构成的有限序列,并且这些数据元素占用一片地址连续的内存单元。在Java语言中,数组的本身是堆中的对象,它能保存基本类型变量或其他对象的引用。在使用数组之前,需要声明并构造数组。 例如:声明一个用于保存学生考试成绩的一维数组scores,即 double [ ] scores; 然后构造数组, scores = new double[5]; 一. 数组的定义和运算? 2、数组的运算 数组的基本操作主要有以下3种,以一维数组为例: (1)求数组的长度:length() 初始条件:数组已存在。 操作结果:返回数组中数据元素的个数。 (2)取值:getValue(index) 初始条件:数组已存在。 操作结果:返回数组下标为index的数组元素的值。 (3)赋值:setValue(index,newValue) 初始条件:数组已存在。 操作结果:将数组下标为index的数组元素的值设置为newValue。 二、数组顺序存储结构? 1、一维数组 一维数组占用一片地址连续的内存单元,设数组第一个元素a0 的存储地址为,每个元素占用c字节,则数组任意一个元素ai的存储地址为: 2、多维数组 以二维数组为例,一个m行n列的二维数组如下所示: 二维数组的两种存储方式 【例5.1】有二维数组double[ ][ ] arr=new double[4][5],试问: (1)数组arr中存放多少个数据元素?数组arr总共占用多少字节的存储空间? (2)假设数组arr的首地址(数组一个元素的地址)为8000,如果采用按行为主序的存储方式,则数组元素arr[2][3]的存储地址是多少? 三、矩阵的压缩存储 ?? 1、三角矩阵 三角矩阵分为上三角矩阵和下三角矩阵。上三角矩阵是指矩阵的主对角线(不包括主对角线)下方的元素均为常数c或零的n阶方阵;下三角矩阵是指矩阵的主对角线(不包括主对角线)上方的元素均为常数c或零的n阶方阵。 (a)上三角矩阵 (b)下三角矩阵 (1)下三角矩阵 以下三角矩阵为例,第1行有1个非零元素a00,第2行有2个非零元素a10和a11。依次类推,第i行有i+1个非零元素。矩阵中非零元素总数为: 利用下三角矩阵的规律,可以采用长度为()的一维数组B,行优先压缩存储下三角矩阵中的元素,其中B[ ]用于存放下三角矩阵中重复的常数c。得出矩阵 中任意一个元素aij与一维数组B的下标k( )之间的关系如下: 其中,i为行下标,j为列下标。假设每个元素占用L个字节,当 时,元素aij的地址为: 当 时,元素aij的地址为: 下三角矩阵的压缩存储如下图所示: (2)上三角矩阵 与下三角矩阵类似,上三角矩阵也可以采用压缩存储,上三角矩阵采用以列为主序存放矩阵元素较为方便。上三角矩阵中任意一个元素aij与一维数组B的下标k( )之间的关系如下: 其中,i为行下标,j为列下标。假设每个元素占用L个字节,当 时,元素aij的地址为: 当 时,元素aij的地址为: 2、对称矩阵 在n阶方阵中,若任意一个矩阵元素满足下述性质: 则称 为n阶对称矩阵。在对称矩阵中,以主对角线 为轴线的对称位置上矩阵元素值相等。因此,可以只存储对称矩阵的上三角或下三角元素,然后让每一对对称元素共享同一个存储单元即可。与三角矩阵类似,n阶对称矩阵中的 个元素可以被压缩存储到长度为 的一维地址空间。 采用长度为 的一维数组B,行优先压缩存储对称矩阵中的元素,得出矩阵中任意一个元素aij与一维数组B的下标k( )之间的关系如下: 其中,i为行下标,j为列下标。假设每个元素占用L个字节,取 , ,则n阶方阵中任意元素aij的地址为: 3、对角矩阵 对角矩阵是指n阶方阵 的所有非零元素都集中在以主对角线为中心的带

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档