三广义表的运算建立广义表的存储结构.ppt

三广义表的运算建立广义表的存储结构.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三广义表的运算建立广义表的存储结构

一、广义表的定义 广义表 一、广义表的定义 广义表的表示 一、广义表的定义 广义表的表示 一、广义表的定义 广义表的表示 一、广义表的定义 广义表的图形表示 一、广义表的定义 广义表的图形表示 一、广义表的定义 广义表的术语 一、广义表的定义 广义表的术语 二、广义表的存储结构 广义表采用的存储结构 二、广义表的存储结构 广义表的结点 二、广义表的存储结构 广义表结点类型的定义 二、广义表的存储结构 广义表结点类型的定义 二、广义表的存储结构 广义表的链接存储结构 二、广义表的存储结构 带表头附加结点的广义表链接存储结构 二、广义表的存储结构 带表头附加结点的广义表链接存储结构 三、广义表的运算 求广义表的长度 三、广义表的运算 求广义表的长度 三、广义表的运算 求广义表的深度 三、广义表的运算 求广义表的深度 三、广义表的运算 求广义表的深度 三、广义表的运算 建立广义表的存储结构 三、广义表的运算 建立广义表的存储结构 三、广义表的运算 建立广义表存储结构 三、广义表的运算 建立广义表的存储结构 三、广义表的运算 打印输出广义表 三、广义表的运算 打印输出广义表 四、简单程序举例 广义表程序 四、简单程序举例 广义表程序 四、简单程序举例 广义表程序 四、简单程序举例 结果 谢 谢! 广义表 广义表(Lists)简称表,它是线性表的推广。广义表在LISP语言中作为一种基本的数据结构,就连程序也表示成一系列的广义表。 一个广义表是n(n≥0)个元素的一个序列,当n=0时则称为空表。在一个非空的广义表中,其元素可以是某一确定类型的对象(这种元素被称做单元素),也可以是由单元素构成的表(这种元素可相对地被称做子表或表元素)。显然广义表的定义是递归的,广义表是种递归的数据结构。 设ai为广义表的第i个元素,则广义表的一般表示与线性表相同: (a1,a2,…,ai,ai+1,…,an) 其中n表示广义表的长度,即广义表中所含元素的个数,n≥0。 同线性表一样,也可以用一个标识符来命名一个广义表,如用LS命名命名上面的广义表,则为: LS=(a1,a2,…,ai,ai+1,…,an) 在广义表的讨论中,为了把单元素同表元素区别开来,一般用小写字母表示单元素,用大写字母表示表,如。 A=( ) B=(e) C=(a ,(b , c , d)) D=(A , B , C)=(( ),(e),(a ,(b , c , d)) E=((a , (a , b),((a , b), c))) 把每个表的名字(若有的话)写在表的前面也是一种表示广义表的方法,如对于上面的五个广义表可相应表示为: A( ) B(e) C(a ,(b , c , d)) D(A( ), B(e), C(a ,(b , c , d)) E((a ,(a , b),((a , b), c))) 若用圆圈和方框分别表示表(表元素)和单元素,并用线段把表和它的元素(元素结点应在其表结点的下方)连接起来,则可得到一个广义表的图形表示。上表五个广义表的图形表示如下 : a a b c a b E e a c b d D A B C c d b a C A e B 从图可知:广义表的图形表示象倒着画的一棵树,树根结点代表整个广义表,各层树枝结点代表相应的子表,树叶结点代表单元素。当然,特殊的广义表还有比树更复杂的结构——图结构。 a a b c a b E e a c b d D A B C c d b a C A e B 对于一个非空的广义表来说,它的第一个元素称为该广义表的表头(head),除第一个元素外的所有元素构成的表称为该广义表的表尾(tail)。如对于上术的五个广义表来说,A是空表,没有表头和表尾;B的表头为单元素e,表尾为空表( );C的表头为a,表尾为((b , c , d)),它又是一个非空表,表头为表元素(b , c , d),表尾为空表;D的表头为A,即一个空表,表尾为(B , C),它还可以分解为表头和表尾;E的表头为(a ,(a , b),((a , b), c)),表尾为空表。 一个表的深度是指该表中括号嵌套的最大次数,在图形表示中,则是指从树根结点到每个树枝结点(即表结点)所经过的结点个数的最大值。如表A和B的深度为1,表C,D,E的深度分别为2,3和4。 a a b c a b E e a c

您可能关注的文档

文档评论(0)

almm118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档