数据结构第5章数组和广义表.ppt





《数据结构第5章数组和广义表.ppt》由会员分享,可在线阅读,更多相关《数据结构第5章数组和广义表.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1数组类型5.1.1 数组的类型定义数组的类型定义ADT Array 数据对象:数据对象:Daj1,j2,.,ji,.jN|ji=0,.,bi-1,i=1,2,.,N,称N(0)为数组的维数,bi为数组第i维的长度,ji为数组元素的第i维下标,aj1,.,jNElemSet数据关系:数据关系:RR1,R2,.,RNRi|0jkbk-1,1kN且k=i,0jibi-2,aj1,.,ji,.,jn,aj1,.ji+1,.,jnD,i=2,.,N第五章第五章 数组和广义表数组和广义表基本操作:基本操作:InitArray(&A,n,bound1,.,boundn)操作结果:若维数n和各维长度合法
2、则构造相应数组A。DestroyArray(&A)初始条件:数组A已经存在。操作结果:销毁数组A。Value(A,&e,index1,.,indexn)初始条件:A是n维数组,e为元素变量,n个下标值。操作结果:若各下标不超界,则e赋值为所指定的A的元素值,并返回OK。Assign(&A,e,index1,.,indexn)初始条件:A是n维数组,e为元素变量,n个下标值。操作结果:若下标不超界,则将e的值赋给A中指定下标的元素。ADT Array5.1.2 数组的数组的顺序存储顺序存储表示表示通常有两种映象方法:“以行(序)为主(序)”的映象方法“以列(序)为主(序)”的映象方法如:二维数组
3、:A AB BC CD DE EF FGGH HI IJ JK KL LMMN NOOA AB BC CD DE EF FGGH HI IJ JK KL LMMN NOOA AF FK KB BGGL LC CH HMMD DI IN NE EJ JOO“以行为主“的映象方法:“以列为主“的映象方法:假设二维数组Rmn每个数据元素占L个存储地址LOC(i,j)表示下标为(i,j)的数据元素的存储地址,则LOC(i,j)在“以行为主”的顺序映象中的存储地址为:LOC(i,j)=LOC(0,0)+(in+j)L在“以列为主”的顺序映象中的存储地址为:LOC(i,j)=LOC(0,0)+(jm+i)
4、L基地址或基址假设三维数组Rpmn中每个数据元素占L个存储地址,并以LOC(i,j,k)表示下标为(i,j,k)的数据元素的存储地址,则该数组中任何一对下标(i,j,k)对应的数据元素在“以行为主”的顺序映象中的存储地址为:LOC(i,j,k)=LOC(0,0,0)+(imn+jn+k)L5.2矩阵的压缩存储5.2.1 特殊矩阵的压缩存储方法特殊矩阵的压缩存储方法特殊矩阵:矩阵中值相同的元素或零元素在矩阵中的分布有一定规律。大致有这样三类特殊矩阵:1.对称矩阵:若n阶方阵A中的元素满足特性aij=aji1i,jn则称为n阶对称矩阵;2.三角矩阵:若n阶方阵中下(上)三角(不包括对角线)中的元均
5、为常量c或0,则称为上(下)三角矩阵;3.对角矩阵:若n阶方阵中的非零值元都集中在以主对角线为中心的(由k条对角线组成的)带状区域中,则称为k对角矩阵。三角矩阵对角矩阵对称矩阵中n2个元压缩存储到n(n+1)/2个存储空间中假设以一维数组san(n+1)/2压缩存储n阶对称方阵A,则一维数组中的数据元素和方阵中的元aij之间存在着下列一一对应的关系:5.2.2 稀疏矩阵的压缩存储方法稀疏矩阵的压缩存储方法如果矩阵中只有少量的非零值元,并且这些非零值元在矩阵中的分布没有一定规律,则称为随机稀疏矩阵,简称为稀疏矩阵假设在mn的矩阵中有t个非零值元,令=t/(mn),称为矩阵的稀疏因子,则通常认定0
6、.05的矩阵为稀疏矩阵。如何存储稀疏矩阵中的非零值元?仍然采用二维数组表示稀疏矩阵,它的弊病是一、浪费空间二、浪费时间由此解决稀疏矩阵压缩存储的目标是:1)尽可能减少或不存储零值元;2)尽可能不作和零值元进行的运算;3)便于进行矩阵运算,即易于从一对行列号找到矩阵的元,易于找到同一行或同一列的非零值元。一个三元组唯一确定了矩阵A中的一个非零值元,由此可以其数据元素为上述三元组的线性表表示稀疏矩阵,并且非零元在三元组线性表中是以行为主有序排列的例如表示矩阵三元组线性表为:(1,3,9),(1,5,-7),(3,4,8),(4,1,5),(4,6,2),(5,2,16)一、三元组顺序表一、三元组顺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 数组 广义

限制150内