![数据结构课件第14讲广义表_第1页](http://file4.renrendoc.com/view/98fae2fdd73371b7d2c4ebd222c51161/98fae2fdd73371b7d2c4ebd222c511611.gif)
![数据结构课件第14讲广义表_第2页](http://file4.renrendoc.com/view/98fae2fdd73371b7d2c4ebd222c51161/98fae2fdd73371b7d2c4ebd222c511612.gif)
![数据结构课件第14讲广义表_第3页](http://file4.renrendoc.com/view/98fae2fdd73371b7d2c4ebd222c51161/98fae2fdd73371b7d2c4ebd222c511613.gif)
![数据结构课件第14讲广义表_第4页](http://file4.renrendoc.com/view/98fae2fdd73371b7d2c4ebd222c51161/98fae2fdd73371b7d2c4ebd222c511614.gif)
![数据结构课件第14讲广义表_第5页](http://file4.renrendoc.com/view/98fae2fdd73371b7d2c4ebd222c51161/98fae2fdd73371b7d2c4ebd222c511615.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构第14讲第14讲广义表内容提要广义表的概念广义表的存储结构广义表的基本操作广义表的概念广义表广义表也称为列表,是线性表的一种扩展,也是数据元素的有限序列。记作:LS=(d0,d1,d2,......dn-1)。其中di既可以是单个元素,也可以是广义表。在线性表中数据元素是单个元素,而在广义表中,元素可以是单个元素,称为单元素(原子),也可以是广义表,称为广义表的子表。广义表的概念广义表的例子若广义表不空,则可分成表头和表尾,反之,一对表头和表尾可唯一确定广义表。A=()空表,表长为0;
B=(a,(b,c,d))B的表长为2,两个元素分别为a和子表(b,c,d);C=(e)C中只有一个元素e,表长为1;
D=(A,B,C,f)D的表长为4,它的前三个元素A,B,C广义表,第四个f是单元素;E=(a,E)递归表.对非空广义表:称第一个元素为L的表头,其余元素组成的表称为LS的表尾;B=(a,(b,c,d))表头:a表尾((b,c,d))
即HEAD(B)=a,TAIL(B)=((b,c,d)),C=(e)表头:e表尾()D=(A,B,C,f)表头:A表尾(B,C,f)运算可以嵌套,如:HEAD(TAIL(B))=b,TAIL(TAIL(B))=(c,d)。广义表的存储结构由于广义表中数据元素可以具有不同结构,故难以用顺序结构表示广义表。通常采用链表存储方式。需要两种结点:一种是表结点,用以表示广义表;一种是单元素结点,用以表示单元素(原子)。广义表的存储结构头尾表示法typedefenum{ATOM,LIST}Elemtag;/*ATOM=0:单元素;LIST=1:子表*/typedefstructGLNode{Elemtagtag;/*标志域,用于区分元素结点和表结点*/union{/*元素结点和表结点的联合部分*/datatypedata;/*data是元素结点的值域*/struct{structGLNode*hp,*tp}ptr;/*ptr是表结点的指针域,ptr.hp和ptr.tp分别*//*指向表头和表尾*/};}*GList;/*广义表类型*/Tag=1hptpTag=0atom表结点原子结点A=NILB1^0eD1^11^C11^111^0a0b0c0dE11^0a广义表的存储结构孩子兄弟表示法TypedefstructGLNode{inttag;//标志域:用于区分原子结点和表结点
union{intatom;//原子结点的值域
structGLNode*hp;//表结点的表头指针域,
};structGLNode*tp;//指向下一个元素的指针
}*GList;广义表的存储结构示例A=(),B=(a,(b,c,d))C=(e),D=(A,B,C,f)E=(a,E)∧1A∧∧1C∧0e0∧B110c∧0aD11∧∧0bd∧10∧1fE11∧0a∧0∧B110c∧0aD11∧∧0bd∧10∧1f广义表的基本操作广义表是递归结构,所以广义表的许多操作可以用递归算法实现。求广义表的深度
intdepth(NODE*head)
广义表的深度=1+MAX(depth(αi))depth(αi)的递归定义:基本项:
L为空表,depth(αi)=1L为原子结点指针,depth(αi)=0递归项:
αi为非空表,depth(L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动疗法第十章Brunnstrom技术讲解
- 财政学:第七章 教育
- 2025北京市商品房预售合同(合同版本)
- 2025二手房购房合同协议
- 扩大劳务分包的合同范本
- 2025购车合同样例范本资料
- 2024年城市建设项目承包合同
- 全新阳光房合同下载
- 纱窗合同协议书
- 生产原料购销合同范本
- 小学综合实践《我们的传统节日》说课稿
- 《铝及铝合金产品残余应力评价方法》
- IATF-16949:2016质量管理体系培训讲义
- 记账凭证封面直接打印模板
- 人教版八年级美术下册全册完整课件
- 北京房地产典当合同
- 安庆汇辰药业有限公司高端原料药、医药中间体建设项目环境影响报告书
- 档案工作管理情况自查表
- 初中英语人教版 八年级上册 单词默写表 汉译英
- pcs-9611d-x说明书国内中文标准版
- 毕业论文-基于51单片机的智能LED照明灯的设计
评论
0/150
提交评论