- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2000年1月25日 北京理工大学 / 引 无论在数值计算抑或非数值计算中数组均有广泛的应用,因此,绝大多数高级语言都将数组设定为固有数据类型,提供数组的定义和操作方法.如C语言中 int a[4][5]; a[1][1]=2 本章一方面以抽象数据类型的的角度讨论数组的定义和实现(广义线性表),加深对数组的理解;另一方面,讨论一些特殊结构的矩阵(如稀疏矩阵)的定义和存储表示方法 第五章 数组和广义表 : 5.2 数组的顺序表示和实现 说明: 5.3 矩阵的压缩存储 5.3 矩阵的压缩存储 5.3.2 稀疏矩阵(SparseMatrix) 1、静态分配的三元组顺序表存储结构 矩阵转置在三元组顺序表中的实现B=AT TransposSMatrix(M,T) 稀疏矩阵的十字链表表示: 小结: 对称矩阵、上/下三角矩阵、对角矩阵的压缩存储与下标计算 稀疏矩阵的三元组顺序存储表示与(快速)转置操作 了解稀疏矩阵的十字链表表示 作业7三对角矩阵A[n][n],非零元逐行存储到一维数组B[3n-2]中,问ij到k及k到ij变换公式 推荐:1 2 5 6 7 8 21 25 2000年1月25日 北京理工大学 / 上页 下页 节 末页 结束 2000年1月25日 北京理工大学 / 5.1 数组的定义 5.2 数组的顺序表示和实现 5.3 特殊矩阵的压缩存储 5.4—5.7 广义表的定义/存储与表示 5.1 数组的定义 ADT Array { 数据对象:D={aj1,j2,...jn|n为维数,设第i维长度为bi,则ji =0..bi-1} 数据关系:R={R1, R2, ..., Rn} //Ri代表第i维上的相邻关系 Ri={aj1,.(ji),.jn , aj1..(ji+1)..jn | 0≤jk≤ bk-1, 0≤ji≤bi-2…} 基本操作: InitArray(A,n,bound1,...,boundn) //n为维数,boundi为第i维长度 DestroyArray(A) Assign(A, e, index1, ..., indexn) //将指定下标的元素赋值为e Value(A, e, index1, ..., indexn) //用e返回指定下标的元素的值 }//ADT Array 普通数组的各项操作都不会引起元素的插入或删除,故数组常采用顺序存储结构 高维数组是个多维的结构,而存储空间是顺序编址的一维结构,如何存储多维数组呢? a0,1 a0,0 a0,2 a1,0 a1,1 a1,2 a12 a11 a10 a02 a01 a00 a12 a02 a11 a01 a10 a00 行优先,以行为主序,如C/Basic 列优先,以列为主序,如Fortran 数组为随机存取结构,以下标从零开始的二维数组为例,在以行序为主的存储结构中aij的存储地址Loc(i,j): Loc(0,0)+(i*b2+j)*sizeof(ElemType) 其中b2为一行中元素个数即第二维长度 对以列序为主的存储结构或者更高维的数组,元素的存储地址类似可得 数组操作的具体实现各语言不同,如下标越界的检查,此处不作要求 二维数组可以看作一种特殊的一维数组,该一维数组的每个元素又是一个一维数组(如原二维数组的一行)。例如C中二维数组“float b[3][4]” 可看作是由b[0]、b[1]和b[2]组成的一维数组,而b[0]可以看作由首行元素b[0][0]、b[0][1]、b[0][2]和b[0][3]组成的一维数组,b[1]与b[2]类似。Fortran或更高维的数组类似 b[0] b[1] b[2] = = = b[0][0] b[1][0] b[2][0] b[0][1] b[1][1] b[2][1] b[0][2] b[1][2] b[2][2] b[0][3] b[1][3] b[2][3] b typedef elemtype array_2[m][n]; 等价于: typedef elemtype array_1[n];//行 typedef array1 array_2[m]; 数组可看作普通线性表的一个推广,表中的每个数据元素本身又是一种线性表数据结构 5.3.1 特殊矩阵---对称矩阵 1 5 1 3 7 a11 * * … *
您可能关注的文档
- 第五章 传递函数与干预变量第五章 传递函数与干预变量.ppt
- 第五章 许可e-mail营销第五章 许可e-mail营销.ppt
- 第五章 融资类金融中介第五章 融资类金融中介.ppt
- 第五章 ,空气调节1第五章 ,空气调节1.ppt
- 第五章 空调房间的冷(热)湿负荷计算《通风与空调系统》第五章 空调房间的冷(热)湿负荷计算《通风与空调系统》.ppt
- 第五章 饭店人力资源管理第五章 饭店人力资源管理.ppt
- 第五章 许可Email营销案例分析第五章 许可Email营销案例分析.ppt
- 第五章 空间信息查询第五章 空间信息查询.ppt
- 第五期第三版 Microsoft Word 文档第五期第三版 Microsoft Word 文档.doc
- 第五章-多高层建筑钢筋混凝土结构抗震设计5第五章-多高层建筑钢筋混凝土结构抗震设计5.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
最近下载
- 文献综述中小企业成本控制研究.docx VIP
- (2025春新版本)人教版七年级历史下册全册教案.pdf
- 北京市一零一中学2023-2024学年七年级下学期期中考试英语试卷(含答案).pdf
- 物业管理服务报价表完整优秀版 .pdf VIP
- 文献综述--中小企业成本控制的研究.doc VIP
- 莒县鸿瑞矿业有限公司新型节能环保型石灰窑项目(三期)竣工环境保护验收监测报告.docx VIP
- 第9课 近代西方的法律与教化 教案-统编版(2019)高中历史选择性必修1国家制度与社会治理.pdf
- ZOOM声乐乐器L-12 快速入门 (Chinese)说明书用户手册.pdf
- 基于单片机的宠物喂养系统的设计与实现.docx
- 中小学(三阶魔方的复原)校本教材.doc VIP
文档评论(0)