5、广义表
更新时间:2024-06-28 22:37:01 阅读量: 综合文库 文档下载
本课课题: 广义表
教学目的: 掌握广义表的定义,它的链接存储结构,以及求广义表长度、深度的方法和递归算法 教学重点: 广义表的操作及意义 教学难点: 广义表存储结构 教学过程: 一、广义表的定义
广义表是线性表的推广,其表中的元素可以是另一个广义表,或其自身。
对于一个非空的广义表来说,它的第一个元素称为该广义表的表头,除第一个元素外的所有元素构成的表称为该广义表的表尾。
一个表的尝试是指该表中括号嵌套的最大次数。 广义表的定义: ADT GList{
数据对象:D={i=1,2,...,n>=0;ei(-AtomSet或ei(-GList, AtomSet为某个数据对象}
数据关系:R1={ 操作结果:创建空的广义表L CreateGList(&L,S); 初始条件:S是广义表的书写形式串 操作结果:由S创建广义表L DestroyGlist(&L); 初始条件:广义表L存在 操作结果:销毁广义表L CopyGlist(&T,L); 初始条件:广义表L存在 操作结果:由广义表L复制得到广义表T GListLength(L); 初始条件:广义表L存在 操作结果:求广义表L的长度,即元素个数 GListDepth(L); 《数据结构》教案21 初始条件:广义表L存在 操作结果:求广义表L的深度 GlistEmpty(L); 初始条件:广义表L存在 操作结果:判断广义表L是否为空 GetHead(L); 初始条件:广义表L存在 操作结果:取广义表L的头 GetTail(L); 初始条件:广义表L存在 操作结果:取广义表L的尾 InsertFirst_GL(&L,e); 初始条件:广义表L存在 操作结果:插入元素e作为广义表L的第一元素 DeleteFirst_GL(&L,&e); 初始条件:广义表L存在 操作结果:删除广义表L的第一元素,并用e返回其值 Traverse_GL(L,Visit()); 初始条件:广义表L存在 操作结果:遍历广义表L,用函数Visit处理每个元素 }ADT GList 广义表一般记作:LS=(a1,a2,...,an) 其中LS是广义表的名称,n是它的长度,ai可以是单个元素也可是广义表,分别称为原子和子表,当广义表非空时,称第一个元素a1为LS的表头称其余元素组成的广义表为表尾. 二、广义表的图形表示 ——用圆圈和方框分别表示表(表元素)和单元素,并用线段把表和它的元素(元素结点应在其表结点的下方)连接起来,则可得到一个广义表的图形表示。 [例]画出下列广义表的图形表示 A=() B=(e) C=(a,(b,c,d)) 《数据结构》教案22 D=(A,B,C)=((),(e),(a,(b,c,d))) E=((a,(a,b),((a,b),c))) 解: 《数据结构》教案23 e a b c d e a b c d a a b c a b 一个表的深度是指该表中括号嵌套的最在次数。所以A和B的深度为1,C、D、E的深度分别为2,3,4。 三、广义表的存储结构——广义表是一种递归的数据结构,因此很难为广义表分配固定大小的存储空间,所以其存储结构只好采用动态链接结构。 广义表的头尾链表存储表示 typedef emnu{ATOM,LIST} ElemTag; typedef struct GLNode{ ElemTag tag; union{ AtomType atom; struct{struct GLNode *hp,*tp;}ptr; } } 四、广义表的运算 ——包括求广义表的长度和深度,向广义表插入元素和从广义表中查找或删除元素,建立广义表的存储结构,打印广义表等。 总结: 1、广义表是线性表的嵌套结构,即每个元素仍可是一个表。广义表所含元素的个数称为广义表的长度,嵌套的最大层数称为广义表的深度。 2、广义表的存储结构采用动态链接结构,单元素结点和表元素结点,虽然具有相同的结点类型,但具有不同的结点结构,一个含有存储元素值的数据域data,另一个含有存储表元素起始位置的指针域sublist。 《数据结构》教案24
正在阅读:
5、广义表06-28
电影电视剧片名的英汉翻译研究11-09
基督教与中国文化03-18
预应力砼T梁安全专项施工方案04-28
违反校纪校规检讨书02-11
管片生产质量保证措施(相当全)11-22
春游作文300字三年级07-03
销售人员月工作总结报告(精选5篇)08-23
中国古代文学史(一)05-08
经济技术分院青年志愿者协会换届个人申请表07-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 广义
- 指南录后序 知识详细整理
- 【新版】苏教版五年级语文下册《练习2》教案【名校精品】
- 2009汽车学院大学物理考试题(b)修改
- 2011年最新助理人力资源管理师考试模拟试卷(1)
- 2015江苏省楼宇智能化系统安装与调试技能大赛理论题
- 语文八年级上第一单元测试卷A
- 国内 香港 美国上市分析
- 高考化学考点精讲:考点15化学键 - - 非极性分子和极性分子(上
- 幼儿园下半年学前班数学期末试卷
- 2005年普通高等学校招生全国统一考试(天津卷)理科综合
- 四川省卫生厅关于2010年医学重点学科(实验室)及重点专科建设项目
- 模拟设立旅行社申请书 - 图文
- 微山湖概况
- 2010年上海高新技术成果转化年报
- 庞浩版计量经济学课后习题答案
- 2018届海淀区高三年级第一学期期末语文试题及答案
- XXX大数据平台技术白皮书
- 麻子仁丸合增液汤加减治疗功能性便秘的临床研究
- 机电一体化课程设计--智能鱼缸设计-精品
- 唐山迁西县烟草专卖局(营销部)考试录用工作人员公告