- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉软件工程职业学院数据结构讲义第07讲 数组
第二章线性表和数组
第二章线性表和数组
第七
第七讲 数组
1.掌握数组的基本概念及数组的顺序存储结构。
2.了解并熟悉特殊矩阵的压缩存储。
3.掌握稀疏矩阵的三元存储。
教学重点:
数组的概念及顺序存储结构。
稀疏矩阵的转置矩阵。
教学难点:
稀疏矩阵的转置矩阵
授课内容
2.6 数组
2.6.1 数组的基本概念
数组是一种常用对数据结构,几乎所有的程序设计语言都把数组类型设定为固有类型。计算机系统的内存是连续的空间,为了方便的存取处理大量的相关性数据,我们定义一种“连续的存储区域”,并使用一个名称指向此区域的起点,通过名称及偏移的方式,可以很容易的存取到该区域内的数据,此即为数组。
数组 是由下标(index)和值(value)组成的序对(indexvalue pairs)集合。简单地讲,数组就是按一定格式排列起来的一列同一属性的项目,是相同类型的数据元素的集合。我们经常使用数组来存放一连串数据类型相同的数据。因此,数组具有两个特性是:
1. 数组中的元素间的地址是连续的。
2. 数组中所有元素的数据类型是相同的。
数组的类型有一维数组A[10]、二维数组A[5][6]、三维数组A[3][5][5]、多维数组等。
数组元素 在数组中,对于每组有定义的下标,都存在一个与其相对应的值,这个值通常称为数组元素。
二维数组:每一行都是一个线性表,每一个数据元素既在一个行表中,又在一个列表中。在c语言中,其被定义为:
ELEMTP arrayname[row][col];
在二维数组中,每个元素都受到行关系和列关系的约束,例如有一个而外数组A[m][n],对于第i行第j列的元素A[i][j],A[i][j+1]是该元素在行关系中的直接后继元素;而A[i]+1[j]是该元素在列关系中的直接后继元素。所以,可以把二维数组看成是一个一维数组,它有row个元素,每个数据元素又是一个col个数据元素的一维数组。
对数组一般讨论下面两种运算:
给定一组有定义的下标,存取相应的数据元素;
给定一组有定义的下标,修改相应数据元素(或其中的某个数据项)的值。
2.6.2 数组的顺序存储结构
数组是一顺序存储方式在计算机中的,而随机存取是顺序存储结构的主要特征。大部分高级语言采用以行序为主的存储方式,如图2-6-1(a)所示,(如PASCAL 、C等);但在有的语言(如FORTRAN)中采用的是以列序为主的存储方式,如图2-6-1(b)所示。
在C语言中,数组中任一元素A[i][j]的存储位置可用下列公式计算:
LOC(A[i][j])=LOC(A[0][0])+(i*col+j)*L其中,LOC(A[0][0])为数组的起始位置,L每个数据元素所占存储单元个数。
由于在定义数组时,LOC(A[0][0])、L和col是已知的,因此可以根据上式计算出任一元素的存储地址,实现随机存取。
2.6.3 特殊矩阵的压缩存储
矩阵在科学与工程计算机中有广泛的应用。在用高级语言编程中,通常用二维数组来表示矩阵。这样,利用上面的地址计算公式可以快速访问矩阵中的每个元素。然而,实际应用中会遇到一些特殊的矩阵,所谓特殊矩阵,是指矩阵中值相同的元素或着零元素的部分有一定的规律。例如,对称矩阵、三角矩阵和三对角矩阵都是特殊矩阵。
若一个n阶矩阵A中的元素满足:Aij=Aij(1≤ i≤ n ,1≤ j ≤ n)则称A为对矩阵;当一个方阵的主对角线以上或以上的所有元素皆为零时,该矩阵为三角矩阵;除了主对角线上和直接在主对角线上下方的对角线的元素外,其他所有元素皆为零的矩阵称为三角矩阵。图2-6-2是两种特殊矩阵的形式。
为了节省存储空间,可以对这些矩阵进行压缩存储。所谓压缩存储就是为多个值相同的元素只分配给一个存储空间,对零元素不分配存储空间。由于特殊矩阵中非零元素的分布有明显的规律,因此我们可将其压缩存储到一个一维数组中,并找到每个非零元素在一维数组中的对应关系。
2.6.4 稀疏矩阵的三元组存储
当一个m×n的矩阵A中有k个非零元素,若km×n 且这些非零元素在矩阵中的分布有没有一定的规律时,则称这种矩阵为稀疏矩阵。
例如,式(2.
5 0 0 12 0 0 5 0 8 0 0
0 0 16 0 0 0 0 0 0 0 0
M= 8 0 11 0 27 0 N= 0 16 11 0 4
0 0 0 0 0 0
您可能关注的文档
- 杨芒智能小区网络设计(毕业论文).doc
- 杨阳 会议筹备方案的设计(论文).doc
- 枝江市书法教师-技能培训方案.doc
- 枣高路施组设计.doc
- 枣阳御龙居(四层)转换层高大模板支撑系统安全施工方案.doc
- 柱上智能型电压无功综合控制装置说明.doc
- 柱下条形基础(课程设计)计算书.doc
- 柱下钢筋混凝土独立基础(课程设计)指导书.doc
- 柱塞泵泵体孔和面垂直度检具的结构设计.doc
- 柱磨机在循环流化床锅炉石灰石脱硫制粉系统-中的应用.doc
- 2012-2021北京重点校高一(下)期中语文汇编:词类活用.pdf
- 电力市场与经济运行优化:电力市场优化算法_(28).电力市场中的市场力分析.docx
- 医院培训课件:《俯卧位通气的护理》.pptx
- 电力市场与经济运行优化:电力系统能效优化方法_(1).电力市场基础理论.docx
- 电力市场与经济运行优化:电力系统能效优化方法_(9).电力系统运行与能效优化.docx
- 电力市场与经济运行优化:电力系统能效优化方法_(15).电力市场与环境影响分析.docx
- 电力市场与经济运行优化:电力系统优化调度_(1).电力市场基础与原理.docx
- 电力市场与经济运行优化:电力系统优化调度_(14).电力市场改革政策与影响.docx
- 电力市场与经济运行优化:电力系统运行优化_(4).电力系统运行基础.docx
- 2025年航运行业分析.docx
文档评论(0)