- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章数组与线性表
数据结构 第二章 数组与线性表 第二章 数组与线性表 知 识 点 数组的基本特点及寻址方式 线性数据结构的基本特征和基本运算 堆栈的定义和基本运算 队列的定义和基本运算循环队列的特征,运算以及判断溢出的条件与普通队列的差别 堆栈、队列的简单应用 难 点 循环队列的特点及判断溢出的条件 利用本章的基本知识设计有效的算法解决与线性相关的应用问题 要 求 熟练掌握以下内容: 线性表的基本运算 堆栈的特征、基本运算并能设计简单算法 队列、循环队列的特征、基本运算并能设计简单算法 了解以下内容: 线性表运算时间复杂性分析 堆栈、队列实际应用 第二章目录 2.1 数组及其顺序存储结构 2.2 线性表及其运算 2.3 堆栈及其应用 2.4 队列及其应用 2.5 应用实例及分析 小 结 习题与练习 2.1.1 数组 数组是由一些单元组成的,每个单元对应着一组下标值和一个数组元素。 n维数组的每个单元对应n个下标值。 数组元素可以是基本数据类型,如整数型、实数型、字符型等,也可以是有多个数据项的一种结构。 同一数组中各个元素必须是同一数据类型,每个数组元素都占有相同数量的存储单元,才能用下标来唯一的确定数组中的元素。 2.1.2 数组的顺序存储结构 在计算机中,表示数组是采用一组连续的存储单元顺序地存储各数组元素。 可以用下标值随机的访问该数组的任意一个元素。 计算数组元素存储地址的公式称为寻址公式。 设数组为A,每个数组元素占s个存储单元,一旦定义了它的维数和各维的上、下界,就可以得到计算数组元素地址的寻址公式。 1. 一维数组寻址公式 对于一维数组,若其下标的下界为LB,上界为UB,第一元素(其下标为LB)的地址为Loc(LB),下标为i的数组元素A[i]的地址为Loc(i),则计算Loc(i)的寻址公式为: Loc(i)=Loc(LB)+(i-LB)*s 在C语言中,数组下标的下界为0,则数组中任意一元素A[i]的寻址公式为: Loc(i)=Loc(0)+i*s 0≤i≤n-1 2. 二维数组寻址公式 在C语言中,采用矩阵元素以行为主存储,即同一行的元素连续存放,存储完一行再存储下一行。 设二维数组A[m][n],m、n分别表示数组的行和列,用Loc(i,j)表示数组元素A[i][j]的地址,每个单元占用s个存储单元,则寻址公式为: Loc(i,j)=Loc(0,0)+(i*n+j)*s 0i≤m-1, 0j≤n-1 定义一A[2][3]数组,对应的矩阵如下: 数组元素A[1][2],其下标i=1,j=2,故它前面已经有i=1行,每行有3个元素,另外本行有j=2个元素,所以在元素A[1][2]之前,本数组已有5个元素。 3. 三维数组寻址公式 三维数组A[m][n][p]可分解为p个m*n的二维数组。 按行为主存储的数组元素A[i][j][k]的寻址公式为: Loc[i][j][k]=Loc[0][0][0]+(i*n*p+j*p+k)*s 0i≤m-1, 0j≤n-1,0p≤p-1 对于更多维的数组,数组元素在内存中的存储可以此类推。 2.2.1 线性表(Linear List) 线性表是由有限数目的相同类型元素组成的序列。 表中的数据元素,除了第一个和最后一个以外,都有一个且只有一个前驱元素,同时也都有一个且只有一个后继元素; 第一个元素只有一个后继元素而无前驱元素;最后一个元素只有一个前驱元素而无后继元素。 线性表的元素个数n称为这个表的长度,当n=0时,这个表叫做空表。 线性表在计算机内存中采用各元素顺序存储的方式,这种存储结构叫做向量。 每个线性表元素叫做这个向量的一个分量。 如果已知线性表第一个元素的地址和每个元素占用的存储单元数,由任一元素的序号就可以计算出该元素在内存中的地址。 在编程时以一维数组表示线性表最简单,用的也最普遍。 2.2.2 线性表的运算 对于给定的线性表,可进行如下的基本运算: 1. 求线性表的长度n; 2. 在第i个数据元素前面插入一个新的数据元素; 3. 删除第i个数据元素; 4. 存取或更新线性表第i个元素; 5. 将两个或两个以上的线性表合并成一个线性表; 6. 将一个线性表拆成多个线性表; 7. 将线性表中各数据元素按某个域值(如关键字)递增或递减的顺序重新排列; 8. 在线性表中查找满足某种条件的数据元素; 1. 数据元素的插入(insert) 设用一个一维数组A[n]表示此线性表,原来有m个元素(mn),元素值已给定。
您可能关注的文档
- 非线性建筑物上的附属结构响应分析点击下载.PDF
- 线性代数(第2版)习题全解(习题四).doc
- 几例线性规划的拓展应用.doc
- 交互式目录替代目录页面.PDF
- 金属氯化物封端线性低聚磷嗪作为润滑剂的摩擦学行为研究-中国科学.PDF
- 化学计量学非线性偏最小二乘算法进展评述-仪器信息网.PDF
- 第3章特殊线性表.doc.doc
- 九年级物理重力练习题-中小学教育网.doc
- 線性碼.doc
- 实验五线性方程组求解.doc
- 中考地理真题练习 2024年四川省内江市中考地理真题(解析版).doc
- 中考地理真题练习 2024年河南省中考地理真题(原卷版).doc
- 中考地理真题练习 2024年四川省内江市中考地理真题(原卷版).doc
- 中考地理真题练习 2024年黑龙江省龙东地区中考地理真题(原卷版).doc
- 中考地理真题练习 2024年黑龙江省牡丹江市中考地理真题(原卷版).doc
- 中考地理真题练习 2024年甘肃省武威市临夏州中考地理真题(解析版).doc
- 中考地理真题练习 2024年甘肃省白银市中考地理真题(解析版).doc
- 中考地理真题练习 2024年湖南省中考地理真题(解析版).doc
- DB13_T2694-2018 地理标志产品 兴隆山楂.docx
- 内蒙古巴彦淖尔市2024-2025学年高一下学期期末考试生物含答案.doc
文档评论(0)