- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12.广义表
256色某类型图像文件结构如下,设计算法将图像旋转90度再存入原文件中 * 数据结构 * 5.4 广义表的定义 广义表(又称列表)是线性表的推广。线性表定义为n=0个元素a1,a2,a3,…,an的有限序列。线性表的元素仅限于原子项,原子是作为结构上不可分割的成分,它可以是一个数或一个结构,有时这种限制需要拓宽。例如,某体育项目国际邀请赛,参赛队清单可采用如下的表示形式: (俄罗斯,巴西,(中国国家队,河北,四川),古巴,美国,日本) 在这个拓宽了的线性表中,中国国家队、河北队、四川队均作为东道主的参赛队参加,构成一个小的线性表,成为原线性表的一个数据项。这种拓宽了的线性表就是广义表。 广义表是n个元素a1,a2,a3,…,an的有限序列,n为它的长度。记作LS=(a1,a2,a3,…,an)。每个ai是LS的成员,它可以是单个元素,也可以是一个广义表,分别称为广义表LS的单元素和子表。当广义表LS非空时,称第一个元素a1为LS的表头(Head),称其余元素组成的表(a2,…,ai,…,an)为LS的表尾(Tail)。显然广义表的定义是递归的 。一些例子: A =() B =(e) C =(a,(b,c,d)) D =(A,B,C)=((),(e),(a,(b,c,d))) E =(a,E)一个无限列表=(a,(a,(a,…))) F =(()) 广义表是一个多层次的线性结构 例如: D=(E, F) 其中: E=(a, (b, c)) F=(d, (e)) D E F a ( ) d ( ) b c e 广义表 的结构特点: 1) 广义表中的数据元素有相对次序; 2) 广义表的长度定义为最外层包含元素个数; 3) 广义表的深度定义为所含括弧的重数; “原子”的深度为 0,“空表”的深度为 1 4) 广义表可以共享; 5) 广义表可以是一个递归的表。 递归表的深度是无穷值,长度是有限值。 6) 任何一个非空广义表 LS = ( ?1, ?2, …, ?n) 均可分解为 表头 Head(LS) = ?1 和 表尾 Tail(LS) = ( ?2, …, ?n)。 例如: D = ( E, F ) = ((a, (b, c)),F ) Head( D ) = E Tail( D ) = ( F ) Head( E ) = a Tail( E ) = ( ( b, c) ) Head( (( b, c)) ) = ( b, c) Tail( (( b, c)) ) = ( ) (DEFUN HANOI(a b c n) (COND((=n1)(MOVE-DISK a c)) (T (HANOI a c b (- n 1)) (MOVE-DISK a c) (HANOI b a c(- n 1)))) member(X,[X|Tail]). member(X,[Head|Tail]):-member(X,Tail). ?-member(a,[a,b,[c,d]]). 广义表的结构相当灵活,在某种前提下,它可以兼容线性表、数组、树和有向图等各种常用的数据结构。 当二维数组的每行(或每列)作为子表处理时,二维数组即为一个广义表。 ADT GList{ 数据对象:D={i=1,2,...,n=0;ei∈AtomSet或ei∈GList, AtomSet为某个数据对象} 数据关系:R1={ei-1,ei|ei-1,ei(-D,2=i=n} 基本操作: InitGlist(L); 操作结果:创建空的广义表L CreateGList(L,S); 初始条件:S是广义表的书写形式串 操作结果:由S创建广义表L DestroyGlist(L); 初始条件:广义表L存在 操作结果:销毁广义表L CopyGlist(T,L); 初始条件:广义表L存在 操作结果:由广义表L复制得到广义表T GListLength(L); 初始条件:广义表L存在 操作结果:求广义表L的长度,即元素个数 GListDepth(L); 初始条件:广义表L存在 操作结果:求广义表L的深度 GlistEmpty(L); 初始条件:广义表L存在 操作结果:判断广义表L是否为空 GetHead(L); 初始条件:广义表L存在 操作结果:取广义表L的头 GetTail(L); 初始条件:广义表L存在 操作结果:取广义表L的尾 InsertFirst_GL(L,e); 初始条件:广义表L存在 操
您可能关注的文档
- 108班规班纪.doc
- 13.1平方根教案1.doc.doc
- 15、信任---教学设计.doc
- 1第一讲装饰设计初识c.ppt
- 1词类、句子成分和构词法:.ppt
- 07比和比例---概念型.doc
- 2007年四季度安全管理目标实现情况报表.doc
- 2008SCI-E英文期刊(计算机类).doc
- (广东省)2010年预赛试题与解答.doc
- 2002级试题及答案.doc
- 重庆实验外国语学校2023-2024学年九年级下学期2月开学考化学试卷(含解.pdf
- 重庆九龙坡区11-12学年八年级英语下学期期末试题及答案_人教新.pdf
- 完全性大动脉转位一期动脉调转手术的多维度解析与临床实践洞察.docx
- 重市庆南开中学2023学年物理八下期末联考试题(含解析).pdf
- 2025年电商平台本地生活服务拓展用户需求变化趋势预测报告.docx
- 2025年电商平台本地生活服务拓展中的健康饮食趋势研究报告.docx
- 宋代私有田宅交易纠纷:成因、类型与解决路径探析.docx
- 氢能燃料电池汽车产业全产业链深度剖析报告2025.docx
- 幼儿托班运动会口号.docx
- 氢能燃料电池汽车产业链上下游产业链协同创新分析报告.docx
文档评论(0)