CH4数组和广义表.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH4数组和广义表

第四章 广义线性表——数组和广义表 其它概念: 1.表头:当广义表LS非空时,称第一个元素为LS的表头; 2.表尾: 广义表LS中除去表头后其余元素组成的广义表 为LS的表尾; 3.广义表长度:广义表LS中的直接元素的个数; 4.广义表的深度:广义表LS中括号的最大嵌套层数。 广义表( )和广义表(( ))不同? 例: A=() 长度为0,深度为1; B=(e) 长度为1,深度为1; C=(a, (b, c, d)) 长度为2,深度为2; D=(A,B,C) 长度为3,深度为3; E=(a,E) 长度为2,深度为无穷大; F=(()) 长度为1,深度为2。 第四章 广义线性表——数组和广义表 广义表表示方法 通常用图形方法来表示其逻辑结构,具体方法为: 对每个广义表的直接元素ai用一个结点来表示,若ai为单元素,则用矩形结点表示,若ai为广义表,则用圆形结点表示,结点之间的边表示元素之间的“包含/属于”关系。 广义表的特性 ⑴ 广义线性性; ⑵ 元素复合性; ⑶ 元素递归性; ⑷ 元素共享性: 广义表的操作: (1)取表头 head (LS) (2)取表尾 tail (LS) 例:head ((p, h, w))=p tail ((b, k, p, h))=(k, p, h) head (((a, b), (c, d)))=(a, b) tail (((a, b), (c, d)))=((c, d)) head (tail (((a, b), (c, d))))=(c, d) tail (head (((a, b), (c, d))))=(b) 第四章 广义线性表——数组和广义表 4.3.2 广义表的存储结构及实现 广义表的存储结构——头尾表示法 结点结构有两种:一种是表结点;另一种是元素结点。 tag=1 hp tp tag=0 data (a) 表结点 (b) 元素结点 其中,tag:区分表结点和元素结点的标志; hp:指向表头结点的指针; tp:指向表尾结点的指针; data:存放单元素的数据域。 * 第四章 广义线性表——数组和广义表 本章的基本内容是: 数组的逻辑结构特征; 数组的存储方式及寻址方法; 特殊矩阵和稀疏矩阵的压缩存储方法; 广义表的基本概念和存储结构。 第四章 广义线性表——数组和广义表 4.1.1 数组的定义 是由一组类型相同的数据元素构成的有序集合,每个数据元素称为一个数组元素(简称为元素),每个元素受n(n≥1)个线性关系的约束,每个元素在n个线性关系中的序号i1、i2、…、in称为该元素的下标,并称该数组为n维数组。 4.1 多维数组 数组的特点: (1)元素本身可以具有某种结构,但属于同一数据类型; (2)数组是线性表的推广; (3)数组是一个具有固定格式和数量的数据集合。 在数组上一般不做插入和删除元素的操作,除了初始化和销毁之外,只有存取和修改两种操作。 第四章 广义线性表——数组和广义表 a11 a12 … a1n a21 a22 … a2n … … … … am1 am2 … amn A= A=(A1,A2,……,An) 其中: Ai=(a1i,a2i,……,ami) (1≤i≤n) 数组示意图 第四章 广义线性表——数组和广义表 数组的基本操作 ⑴ 存取:给定一组下标,读出对应的数组元素; ⑵ 修改:给定一组下标,存储或修改与其相对应的数组元素。 它们本质上只对应一种操作——寻址 第四章 广义线性表——数组和广义表 4.1.2 数组的存储结构与寻址 采用顺序存储结构存储数组首先需要将多维结构映射到一维结构。 常用的映射方法有两种:按行优先和按列优先。 1.一维数组的存储与寻址 设一维数组的下标的范围为闭区间[l,h],则其 的任一元素ai的存储位置可由下式确定: LOC(ai)=LOC(al)+(i-l)×c 2.二维数组的存储与寻址 第四章 广义线性表——数组和广义表 二维数组按行优先存储寻址示意图 第l1行 第l1+1行 al1l2 … al1h2 a(l1+1)l2 … a(l1+1)h2 … ail2 … aij

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档