- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
(1)InitArray(A,n,bound1,?boundn)//构造数组A(2)DestroyArray(A)//销毁数组A(3)Value(A,e,index1,…,indexn)//取数组元素值(4)Assign(A,e,index1,…,indexn)//给数组元素赋值北京林业大学信息学院第2章线性表第3章栈和队列第4章串第5章数组和广义表可表示为:(a1,a2,……,an)线性结构第5章数组和广义表5.1数组的定义5.2数组的顺序表示和实现5.3矩阵的压缩存储5.4广义表的定义5.5广义表的存储结构教学内容1.掌握数组在以行为主的存储结构中的地址计算方法2.了解稀疏矩阵的压缩存储表示方法的特点3.掌握广义表的定义、性质、表示及其GetHead和GetTail的操作
教学目标①元素的值并非原子类型,可以再分解,表中元素也是一个线性表(即广义的线性表)。②所有数据元素仍属同一数据类型。数组和广义表的特点:一种特殊的线性表注意:本章所讨论的数组与高级语言中的数组区别:高级语言中的数组是顺序结构;而本章的数组既可以是顺序的,也可以是链式结构,用户可根据需要选择。5.1数组的定义数组的抽象数据类型数据对象:数据关系:ADTArray{基本操作:}ADTArray一维数组352749186054778341020123456789llllllllllLOC(i)=LOC(i-1)+l=a+i*lLOC(i)=LOC(i-1)+l=a+i*l,i0a,i=0a+i*la二维数组以行序为主序C,PASCAL5.2数组的顺序表示和实现以列序为主序FORTRAN
a[n][m]设数组开始存放位置LOC(0,0)=aLOC(j,k)=a+j*m+k二维数组的行序优先表示①②③三维数组按页/行/列存放,页优先的顺序存储a[m1][m2][m3]各维元素个数为m1,m2,m3下标为i1,i2,i3的数组元素的存储位置:LOC(i1,i2,i3)=a+i1*m2*m3+i2*m3+i3前i1页总元素个数第i1页的前i2行总元素个数第i2行前i3列元素个数三维数组各维元素个数为m1,m2,m3,…,mn下标为i1,i2,i3,…,in的数组元素的存储位置:n维数组n维数组设有一个二维数组A[m][n]按行优先顺序存储,假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。设数组元素A[i][j]存放在起始地址为Loc(i,j)的存储单元中∵Loc(2,2)=Loc(0,0)+2*n+2=644+2*n+2=676.∴n=(676-2-644)/2=15∴Loc(3,3)=Loc(0,0)+3*15+3=644+45+3=692.练习设有二维数组A[10,20],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为,按列优先顺序存储,元素A[6,6]的存储地址为。练习352232(6*20+6)*2+100=352(6*10+6)*2+100=2325.3矩阵的压缩存储1.什么是压缩存储?若多个数据元素的值都相同,则只分配一个元素值的存储空间,且零元素不占存储空间。2.什么样的矩阵能够压缩?一些特殊矩阵,如
文档评论(0)