广义表及其性质

广义表
广义表通常记作:LS=(a1,a2,...an) 
其中:LS为表名,n为表的长度,每一个ai为表的元素
习惯上,一般用大写字母表示广义表,小写字母表示原子
表头:若LS非空(n>=1),则其第一个元素a1就是表头
记作head(LS)= a1  注:表头可以是原子,也可以是字表
表尾:除表头之外的其他元素组成的表
记作tail(LS)=(a2,...,an)
注:表尾不是最后一个元素,而是一个字表

例: (1) A=()  空表,长度为0
     (2) B=(()) 长度为1,表头表尾均为()
     (3) C=(a,(b,c)) 长度为2,由原子a和字表(b,c)构成
                       表头为a,表尾为((b,c)) 
     (4) D=(x,y,z) 长度为3,每一项都是原子。
                     表头为x,表尾为(y,z)
      (5)  E?(C,D)   长度为2,每一项都是子表
                     表头为C,表尾为(D)
      (6)  F=(a,F)   长度为2,第一项为原子,第二项为他本身
                     表头为a,表尾为(F)
                     F=(a,(a,(a,...)))    
                     
广义表的性质
(1) 广义表中的数据元素有相对次序;一个直接前驱和一个直接后继
(2) 广义表的长度定义为最外层所包含元素的个数;
       如:C=(a,(b,c))是长度为2的广义表 
(3) 广义表的深度定义为该广义表展开后所包含括号的重数
      A=(b,c)的深度为1,B=(A,d)的深度为2,C=(f,B,h)的深度为3
      注意:原子的深度为0;空表的深度为1
(4)广义表可以为其他广义表共享;如:广义表B就共享表A
     在B中不必列出A的值,而是通过名称来引用,B=(A)
(5)广义表可以是一个递归的表。如: F=(a,F)=(a,(a,(a,...)))
      注意:递归表的深度是无穷值,长度是有限值。
(6)广义表是多层次结构,广义表的元素可以是单元素,也可以是子表,
      而字表的元素还可以是子表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值